From 618e665a0f406a7b35f449a54b322d49f8eb62af Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Fri, 1 Jan 2021 17:30:04 +0100 Subject: [PATCH] Rotate ChangeLog files - step 2 - remove 2020 entries from ChangeLog files. Can't be committed together with the previous one due to the ChangeLog vs. other files restrictions. --- gcc/ChangeLog | 39856 +------------------------------------- gcc/ada/ChangeLog | 13974 +------------ gcc/cp/ChangeLog | 6592 +------ gcc/d/ChangeLog | 1026 +- gcc/fortran/ChangeLog | 2378 +-- gcc/testsuite/ChangeLog | 29080 +-------------------------- libgfortran/ChangeLog | 387 +- libstdc++-v3/ChangeLog | 8772 +-------- 8 files changed, 8 insertions(+), 102057 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6553720acad..21e8799b653 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,39859 +1,5 @@ -2020-12-31 Richard Sandiford - - PR tree-optimization/98302 - * tree-vect-patterns.c (vect_determine_precisions_from_users): Make - sure that the precision remains greater than the shift count. - -2020-12-31 Richard Sandiford - - PR tree-optimization/94994 - * tree-vect-data-refs.c (vect_vfa_align): Use dr_alignment. - -2020-12-31 Richard Sandiford - - PR rtl-optimization/98214 - * genmodes.c (emit_insn_modes_h): Emit a definition of CONST_MODE_MASK. - (emit_mode_mask): Treat mode_mask_array as non-constant if adj_nunits. - (emit_mode_adjustments): Update GET_MODE_MASK when updating - GET_MODE_NUNITS. - * machmode.h (mode_mask_array): Use CONST_MODE_MASK. - -2020-12-31 Jakub Jelinek - - PR tree-optimization/94802 - * match.pd (clz(X) == 0 -> (int)X < 0): New simplification. - (clz(X) == (prec-1) -> X == 1): Likewise. - -2020-12-31 Jakub Jelinek - - PR tree-optimization/94785 - * match.pd ((-(X < 0) | 1) * X -> abs (X)): New simplification. - ((-(X < 0) | 1U) * X -> absu (X)): Likewise. - -2020-12-31 Jakub Jelinek - - PR tree-optimization/98474 - * wide-int.cc (wi::to_mpz): If wide_int has MSB set, but type - is unsigned and excess negative, append set bits after len until - precision. - -2020-12-31 Jakub Jelinek - - PR c++/98206 - * fold-const.c: Include asan.h. - (fold_unary_loc): Don't optimize (ptr_type) (((ptr_type2) x) p+ y) - into ((ptr_type) x) p+ y if sanitizing alignment in GENERIC and - ptr_type points to type with higher alignment than ptr_type2. - -2020-12-31 Jakub Jelinek - - PR tree-optimization/56719 - * tree-ssa-reassoc.c (optimize_range_tests_cmp_bitwise): Also optimize - x < C && y < C && z < C when C is a power of two constant into - (x | y | z) < C. - -2020-12-30 Uroš Bizjak - - * config/i386/i386.md: Remove unnecessary clobbers - from combine splitters. - -2020-12-30 Jakub Jelinek - - PR target/98461 - * config/i386/sse.md (_pmovmskb): Add splitters - for pmovmskb of NOT vector. - -2020-12-29 Claudiu Zissulescu - - * config/arc/arc.md (maddsidi4_split): Skip macd gen, use mac insn - instead. - (macd): Update register letters. - (umaddsidi4_split): Skip macdu gen, use macu insn instead. - (macdu): Update register letters. - -2020-12-29 Claudiu Zissulescu - - * config/arc/arc.c (arc_secondary_reload): Flip if-condition - predicates. - -2020-12-29 Claudiu Zissulescu - - * config/arc/arc.h (REGNO_OK_FOR_BASE_P): Check if defined - reg_renumber. - -2020-12-29 Claudiu Zissulescu - - * config/arc/arc.c (prepare_move_operands): Use a temporary - registers when we have cached mem-to-uncached mem moves. - -2020-12-29 Claudiu Zissulescu - - * config/arc/arc.md (movdi_insn): Update pattern, no predicated - vadd2 usage. - (movdf_insn): Likewise. - * config/arc/simdext.md (movVEC_insn): Likewise. - -2020-12-29 Uroš Bizjak - - * config/i386/i386-expand.c (ix86_gen_TWO52): Use REAL_MODE_FORMAT - to determine number of mantissa bits. Use real_2expN instead - of real_ldexp. - (ix86_expand_rint): Use copy_to_reg. - (ix86_expand_floorceildf_32): Ditto. - (ix86_expand_truncdf_32): Ditto. - (ix86_expand_rounddf_32): Ditto. - (ix86_expand_floorceil): Use copy_to_reg and int_mode_for_mode. - (ix86_expand_trunc): Ditto. - (ix86_expand_round): Ditto. - -2020-12-28 Gerald Pfeifer - - * doc/standards.texi (HSAIL): Remove section. - -2020-12-28 Uroš Bizjak - - PR target/96793 - * config/i386/i386-expand.c (ix86_expand_rint): - Remove the sign of the intermediate value for flag_rounding_math. - -2020-12-28 Uroš Bizjak - - * config/i386/i386-expand.c (ix86_expand_trunc): Use - existing temporary register to avoid a call to force_reg. - -2020-12-28 Hongyu Wang - - * config/i386/i386.md (optab): New code attr. - * config/i386/sse.md (v32qiv32hi2): Rename to ... - (v32qiv32hi2) ... this. - (v16qiv16hi2): Likewise. - (v8qiv8hi2): Likewise. - (v16qiv16si2): Likewise. - (v8qiv8si2): Likewise. - (v4qiv4si2): Likewise. - (v16hiv16si2): Likewise. - (v8hiv8si2): Likewise. - (v4hiv4si2): Likewise. - (v8qiv8di2): Likewise. - (v4qiv4di2): Likewise. - (v2qiv2di2): Likewise. - (v8hiv8di2): Likewise. - (v4hiv4di2): Likewise. - (v2hiv2di2): Likewise. - (v8siv8di2): Likewise. - (v4siv4di2): Likewise. - (v2siv2di2): Likewise. - -2020-12-27 Gerald Pfeifer - - * doc/analyzer.texi (Analyzer Internals): Find a new source for - the "A Memory Model for Static Analysis of C Programs" paper. - -2020-12-25 Gerald Pfeifer - - * doc/invoke.texi (C++ Module Mapper): Fix reference to libcody. - -2020-12-24 Iain Sandoe - - * configure.ac: Add gxx-libcxx-include-dir handled - in the same way as the regular cxx header directory. - * Makefile.in: Regenerated. - * config.in: Likewise. - * configure: Likewise. - * cppdefault.c: Pick up libc++ headers if the option - is enabled. - * cppdefault.h (struct default_include): Amend comments - to reflect the extended use of the cplusplus field. - * incpath.c (add_standard_paths): Allow for multiple - c++ header include path variants. - * doc/invoke.texi: Document the -stdlib= option. - -2020-12-24 Kito Cheng - - * config/riscv/multilib-generator (arch_canonicalize): Call - decode for the subprocess return value. - -2020-12-23 Martin Sebor - - PR middle-end/98160 - * builtins.c (warn_dealloc_offset): Avoid assuming calls are made - through declared functions and not pointers. - -2020-12-23 Martin Sebor - - PR c++/98413 - * builtins.c (get_offset_range): Avoid non-integers/-pointers. - -2020-12-23 Iain Sandoe - - * config/darwin-driver.c (validate_macosx_version_min): Allow - MACOSX_DEPLOYMENT_TARGET=11. - (darwin_default_min_version): Adjust warning spelling to avoid - an apostrophe. - -2020-12-23 Uroš Bizjak - - PR target/96793 - * config/i386/i386-expand.c (ix86_expand_truncdf_32): - Remove the sign of the intermediate value for flag_rounding_math. - -2020-12-22 Qian Jianhua - - * config/arm/types.md (define_attr "autodetect_type"): New. - (define_attr "type"): Subdivide alu_shift_imm. - * config/arm/common.md: New file. - * config/aarch64/predicates.md:Include common.md. - * config/arm/predicates.md:Include common.md. - * config/aarch64/aarch64.md (*add__): Set autodetect_type. - (*add__si_uxtw): Likewise. - (*sub__): Likewise. - (*sub__si_uxtw): Likewise. - (*neg__2): Likewise. - (*neg__si2_uxtw): Likewise. - * config/arm/arm.md (*addsi3_carryin_shift): Likewise. - (add_not_shift_cin): Likewise. - (*subsi3_carryin_shift): Likewise. - (*subsi3_carryin_shift_alt): Likewise. - (*rsbsi3_carryin_shift): Likewise. - (*rsbsi3_carryin_shift_alt): Likewise. - (*arm_shiftsi3): Likewise. - (*_multsi): Likewise. - (*_shiftsi): Likewise. - (subsi3_carryin): Set new type. - (*if_arith_move): Set new type. - (*if_move_arith): Set new type. - (define_attr "core_cycles"): Use new type. - * config/arm/arm-fixed.md (arm_ssatsihi_shift): Set autodetect_type. - * config/arm/thumb2.md (*orsi_not_shiftsi_si): Likewise. - (*thumb2_shiftsi3_short): Set new type. - * config/aarch64/falkor.md (falkor_alu_1_xyz): Use new type. - * config/aarch64/saphira.md (saphira_alu_1_xyz): Likewise. - * config/aarch64/thunderx.md (thunderx_arith_shift): Likewise. - * config/aarch64/thunderx2t99.md (thunderx2t99_alu_shift): Likewise. - * config/aarch64/thunderx3t110.md (thunderx3t110_alu_shift): Likewise. - (thunderx3t110_alu_shift1): Likewise. - * config/aarch64/tsv110.md (tsv110_alu_shift): Likewise. - * config/arm/arm1020e.md (1020alu_shift_op): Likewise. - * config/arm/arm1026ejs.md (alu_shift_op): Likewise. - * config/arm/arm1136jfs.md (11_alu_shift_op): Likewise. - * config/arm/arm926ejs.md (9_alu_op): Likewise. - * config/arm/cortex-a15.md (cortex_a15_alu_shift): Likewise. - * config/arm/cortex-a17.md (cortex_a17_alu_shiftimm): Likewise. - * config/arm/cortex-a5.md (cortex_a5_alu_shift): Likewise. - * config/arm/cortex-a53.md (cortex_a53_alu_shift): Likewise. - * config/arm/cortex-a57.md (cortex_a57_alu_shift): Likewise. - * config/arm/cortex-a7.md (cortex_a7_alu_shift): Likewise. - * config/arm/cortex-a8.md (cortex_a8_alu_shift): Likewise. - * config/arm/cortex-a9.md (cortex_a9_dp_shift): Likewise. - * config/arm/cortex-m4.md (cortex_m4_alu): Likewise. - * config/arm/cortex-m7.md (cortex_m7_alu_shift): Likewise. - * config/arm/cortex-r4.md (cortex_r4_alu_shift): Likewise. - * config/arm/exynos-m1.md (exynos_m1_alu_shift): Likewise. - * config/arm/fa526.md (526_alu_shift_op): Likewise. - * config/arm/fa606te.md (606te_alu_op): Likewise. - * config/arm/fa626te.md (626te_alu_shift_op): Likewise. - * config/arm/fa726te.md (726te_alu_shift_op): Likewise. - * config/arm/fmp626.md (mp626_alu_shift_op): Likewise. - * config/arm/marvell-pj4.md (pj4_shift): Likewise. - (pj4_shift_conds): Likewise. - (pj4_alu_shift): Likewise. - (pj4_alu_shift_conds): Likewise. - * config/arm/xgene1.md (xgene1_alu): Likewise. - * config/arm/arm.c (xscale_sched_adjust_cost): Likewise. - -2020-12-22 Uroš Bizjak - - PR target/96793 - * config/i386/i386-expand.c (ix86_expand_floorceil): - Remove the sign of the intermediate value for flag_rounding_math. - (ix86_expand_floorceildf_32): Ditto. - -2020-12-22 liuhongt - - * config/i386/i386.md (*one_cmpl2_1): Fix typo, change - alternative from 2 to 1 in attr isa. - -2020-12-22 Ian Lance Taylor - - * godump.c (go_output_typedef): If DECL_ORIGINAL_TYPE is NULL, use - TREE_TYPE. - -2020-12-21 Jakub Jelinek - - PR c++/98353 - * gimplify.c (gimplify_init_ctor_eval_range): Gimplify value before - storing it into cref. - -2020-12-21 Iain Sandoe - - * config/darwin-driver.c (darwin_find_version_from_kernel): - Compute the minor OS version from the minor kernel version. - -2020-12-21 Jakub Jelinek - - PR tree-optimization/98407 - * fold-const.c (native_encode_initializer): When handling flexible - array members, fix up computation of length for memset. Also remove - " - o" as o is always guaranteed to be 0 in this code path. - -2020-12-21 Jakub Jelinek - - PR c++/98383 - * gimplify.c (struct gimplify_omp_ctx): Add in_for_exprs flag. - (gimple_add_tmp_var): For addressable temporaries appearing in - simd lb, b or incr expressions, don't add a private clause unless - it is seen also outside of those expressions in the simd body. - (omp_notice_variable): Likewise. - (gimplify_omp_for): Set and reset in_for_exprs around gimplification - of lb, b or incr expressions. - -2020-12-20 Max Filippov - - * config/xtensa/xtensa.md (bswapsi2, bswapdi2): New patterns. - -2020-12-20 Jakub Jelinek - - PR other/98400 - * doc/invoke.texi (-mbackchain): Fix a typo - -mmo-backchain -> - -mno-backchain. - -2020-12-19 Jakub Jelinek - - PR middle-end/98366 - * fold-const.c (native_encode_initializer): Don't try to - memset more than total_bytes with off == -1 even if len is large. - Handle flexible array member initializers if off == -1 and mask is - NULL. - * expr.c (convert_to_bytes): Remove. - (constant_byte_string): Use native_encode_initializer instead of - convert_to_bytes. Remove extraneous semicolon. Punt on various - corner-cases the APIs don't handle, like sizes > INT_MAX, - BITS_PER_UNIT != 8, CHAR_BIT != 8. - -2020-12-19 Iain Buclaw - - PR d/98067 - * dwarf2out.c (dwarf2out_imported_module_or_decl_1): Handle - CONST_DECL only if is_fortran, is_ada, or is_dlang. - -2020-12-19 Jakub Jelinek - - PR tree-optimization/98378 - * gimple-ssa-store-merging.c (find_bswap_or_nop): Punt if CONSTRUCTOR - has no elements. - -2020-12-18 Jakub Jelinek - - * gimplify.c (struct gimplify_omp_ctx): Add has_depend member. - (gimplify_scan_omp_clauses): Set it to true if OMP_CLAUSE_DEPEND - appears on OMP_TASK. - (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Force - GOVD_WRITTEN on shared variables if task construct has depend clause. - -2020-12-18 Przemyslaw Wirkus - - PR target/98177 - * tree-vect-loop.c (vect_create_epilog_for_reduction): Use - get_same_sized_vectype to obtain index type. - (vectorizable_reduction): Likewise. - -2020-12-18 Kwok Cheung Yeung - - * langhooks-def.h (lhd_get_decl_init): New. - (lhd_finish_decl_inits): New. - (LANG_HOOKS_GET_DECL_INIT): New. - (LANG_HOOKS_OMP_FINISH_DECL_INITS): New. - (LANG_HOOKS_DECLS): Add LANG_HOOKS_GET_DECL_INIT and - LANG_HOOKS_OMP_FINISH_DECL_INITS. - * langhooks.c (lhd_omp_get_decl_init): New. - (lhd_omp_finish_decl_inits): New. - * langhooks.h (struct lang_hooks_for_decls): Add omp_get_decl_init - and omp_finish_decl_inits. - * omp-offload.c (omp_discover_declare_target_var_r): Use - get_decl_init langhook in place of DECL_INITIAL. Call - omp_finish_decl_inits langhook at end of function. - -2020-12-18 Richard Sandiford - - * config/aarch64/aarch64.c (aarch64_preferred_simd_mode): Use - aarch64_full_sve_mode and aarch64_vq_mode directly, instead of - going via aarch64_simd_container_mode. - -2020-12-18 Tamar Christina - - * config/arm/iterators.md (rot): Add UNSPEC_VCMUL, UNSPEC_VCMUL90, - UNSPEC_VCMUL180, UNSPEC_VCMUL270. - -2020-12-17 Przemyslaw Wirkus - - * config/arm/arm-cpus.in: Add Cortex-A78C core. - * config/arm/arm-tables.opt: Regenerate. - * config/arm/arm-tune.md: Regenerate. - * doc/invoke.texi: Update docs. - -2020-12-17 Richard Sandiford - - PR rtl-optimization/98347 - * rtl-ssa/access-utils.h (full_register): Use regno_reg_rtx - instead of reg_raw_mode. - -2020-12-17 H.J. Lu - - * targhooks.h (default_estimated_poly_value): Updated. - -2020-12-17 Nathan Sidwell - - * doc/invoke.texi (C++ Modules): Document lack of std - library header units. - -2020-12-17 Kyrylo Tkachov - - * target.h (enum poly_value_estimate_kind): Define. - (estimated_poly_value): Take an estimate kind argument. - * target.def (estimated_poly_value): Update definition for the - above. - * doc/tm.texi: Regenerate. - * targhooks.c (estimated_poly_value): Update prototype. - * tree-vect-loop.c (vect_better_loop_vinfo_p): Use min, max and - likely estimates of VF to pick between vinfos. - * config/aarch64/aarch64.c (aarch64_cmp_autovec_modes): Use - estimated_poly_value instead of aarch64_estimated_poly_value. - (aarch64_estimated_poly_value): Take a kind argument and handle - it. - -2020-12-17 Andrea Corallo - - * config/arm/arm_neon.h (vcreate_p64): Remove call to - '__builtin_neon_vcreatedi'. - -2020-12-17 Andrew MacLeod - - PR tree-optimization/97750 - * range-op.cc (operator_cast::op1_range): Handle pointers better. - -2020-12-17 Rainer Orth - - * rtl-ssa.h: Include memmodel.h before tm_p.h. - -2020-12-17 Jakub Jelinek - - PR rtl-optimization/98289 - * shrink-wrap.c (can_get_prologue): Don't punt on EDGE_CROSSING - incoming edges. - -2020-12-17 Marius Hillenbrand - - * configure.ac: Change --enable-s390-excess-float-precision - default behavior for cross compiles with target headers. - * configure: Regenerate. - * doc/install.texi: Adjust documentation. - -2020-12-17 Takayuki 'January June' Suwa - - * config/xtensa/xtensa.md (*ashlsi3_1, *ashlsi3_3x, *ashrsi3_3x) - (*lshrsi3_3x): New patterns. - -2020-12-17 Richard Sandiford - - * fwprop.c: Rewrite to use the RTL SSA framework. - -2020-12-17 Richard Sandiford - - * configure.ac: Add rtl-ssa to the list of dependence directories. - * configure: Regenerate. - * Makefile.in (rtl-ssa-warn): New variable. - (OBJS): Add the rtl-ssa object files. - * emit-rtl.h (rtl_data::ssa): New field. - * rtl-ssa.h: New file. - * system.h: Include when INCLUDE_FUNCTIONAL is defined. - * rtl-ssa/access-utils.h: Likewise. - * rtl-ssa/accesses.h: New file. - * rtl-ssa/accesses.cc: Likewise. - * rtl-ssa/blocks.h: New file. - * rtl-ssa/blocks.cc: Likewise. - * rtl-ssa/change-utils.h: Likewise. - * rtl-ssa/changes.h: New file. - * rtl-ssa/changes.cc: Likewise. - * rtl-ssa/functions.h: New file. - * rtl-ssa/functions.cc: Likewise. - * rtl-ssa/insn-utils.h: Likewise. - * rtl-ssa/insns.h: New file. - * rtl-ssa/insns.cc: Likewise. - * rtl-ssa/internals.inl: Likewise. - * rtl-ssa/is-a.inl: Likewise. - * rtl-ssa/member-fns.inl: Likewise. - * rtl-ssa/movement.h: Likewise. - -2020-12-17 Richard Sandiford - - * doc/rtl.texi (RTL SSA): New node. - -2020-12-17 Richard Sandiford - - * rtl.h (simple_regno_set): Declare. - * rtlanal.c (simple_regno_set): New function. - -2020-12-17 Richard Sandiford - - * rtlanal.h: New file. - (MEM_REGNO): New constant. - (rtx_obj_flags): New namespace. - (rtx_obj_reference, rtx_properties): New classes. - (growing_rtx_properties, vec_rtx_properties_base): Likewise. - (vec_rtx_properties): New alias. - * rtlanal.c: Include it. - (rtx_properties::try_to_add_reg): New function. - (rtx_properties::try_to_add_dest): Likewise. - (rtx_properties::try_to_add_src): Likewise. - (rtx_properties::try_to_add_pattern): Likewise. - (rtx_properties::try_to_add_insn): Likewise. - (vec_rtx_properties_base::grow): Likewise. - -2020-12-17 Richard Sandiford - - * recog.h (insn_change_watermark): New class. - -2020-12-17 Richard Sandiford - - * recog.h (insn_propagation): New class. - * recog.c (insn_propagation::apply_to_mem_1): New function. - (insn_propagation::apply_to_rvalue_1): Likewise. - (insn_propagation::apply_to_lvalue_1): Likewise. - (insn_propagation::apply_to_pattern_1): Likewise. - (insn_propagation::apply_to_pattern): Likewise. - (insn_propagation::apply_to_rvalue): Likewise. - -2020-12-17 Richard Sandiford - - * recog.h (temporarily_undo_changes, redo_changes): Declare. - * recog.c (temporarily_undone_changes): New variable. - (validate_change_1, confirm_change_group): Check that it's zero. - (cancel_changes): Likewise. - (swap_change, temporarily_undo_changes): New functions. - (redo_changes): Likewise. - -2020-12-17 Richard Sandiford - - * recog.h (validate_change_xveclen): Declare. - * recog.c (change_t::old_len): New field. - (validate_change_1): Add a new_len parameter. Conditionally - replace the XVECLEN of an rtx, avoiding single-element PARALLELs. - (validate_change_xveclen): New function. - (cancel_changes): Undo changes made by validate_change_xveclen. - -2020-12-17 Richard Sandiford - - * rtl.h (simplify_context): New class. - (simplify_unary_operation, simplify_binary_operation): Use it. - (simplify_ternary_operation, simplify_relational_operation): Likewise. - (simplify_subreg, simplify_gen_unary, simplify_gen_binary): Likewise. - (simplify_gen_ternary, simplify_gen_relational): Likewise. - (simplify_gen_subreg, lowpart_subreg): Likewise. - * simplify-rtx.c (simplify_gen_binary): Turn into a member function - of simplify_context. - (simplify_gen_unary, simplify_gen_ternary, simplify_gen_relational) - (simplify_truncation, simplify_unary_operation): Likewise. - (simplify_unary_operation_1, simplify_byte_swapping_operation) - (simplify_associative_operation, simplify_logical_relational_operation) - (simplify_binary_operation, simplify_binary_operation_series) - (simplify_distributive_operation, simplify_plus_minus): Likewise. - (simplify_relational_operation, simplify_relational_operation_1) - (simplify_cond_clz_ctz, simplify_merge_mask): Likewise. - (simplify_ternary_operation, simplify_subreg, simplify_gen_subreg) - (lowpart_subreg): Likewise. - (simplify_binary_operation_1): Likewise. Test mem_depth when - deciding whether the ASHIFT or MULT form is canonical. - (simplify_merge_mask): Use simplify_context. - -2020-12-17 Richard Sandiford - - * rtl.h (register_asm_p): Declare. - * recog.c (verify_changes): Split out the test for whether - a hard register is a register asm to... - * rtlanal.c (register_asm_p): ...this new function. - -2020-12-17 Richard Sandiford - - * print-rtl.h (print_insn_with_notes): Declare. - * print-rtl.c (print_insn_with_notes): Make non-static - -2020-12-17 Richard Sandiford - - * cfgrtl.h (update_cfg_for_uncondjump): Declare. - * combine.c (update_cfg_for_uncondjump): Move to... - * cfgrtl.c: ...here. - -2020-12-17 Richard Sandiford - - * vec.h (array_slice): New class. - -2020-12-17 Richard Sandiford - - * Makefile.in (OBJS): Add splay-tree-utils.o. - * system.h: Include when INCLUDE_ARRAY is defined. - * selftest.h (splay_tree_cc_tests): Declare. - * selftest-run-tests.c (selftest::run_tests): Run splay_tree_cc_tests. - * splay-tree-utils.h: New file. - * splay-tree-utils.tcc: Likewise. - * splay-tree-utils.cc: Likewise. - -2020-12-17 Richard Sandiford - - * mux-utils.h: New file. - -2020-12-17 Richard Sandiford - - * obstack-utils.h: New file. - -2020-12-17 Richard Sandiford - - * iterator-utils.h (derived_iterator): New class. - (const_derived_container, wrapper_iterator): Likewise. - (list_iterator): Likewise. - -2020-12-17 Richard Sandiford - - * hard-reg-set.h (global_reg_set): Declare. - * reginfo.c (global_reg_set): New variable. - (init_reg_sets_1, globalize_reg): Update it when globalizing - registers. - -2020-12-16 Piotr Kubaj - - * config.gcc (powerpc*le-*-freebsd*): Add. - * configure.ac (powerpc*le-*-freebsd*): Ditto. - * configure: Regenerate. - * config/rs6000/freebsd64.h (ASM_SPEC_COMMON): Use ENDIAN_SELECT. - (DEFAULT_ASM_ENDIAN): Add little endian support. - (LINK_OS_FREEBSD_SPEC64): Ditto. - -2020-12-16 Takayuki 'January June' Suwa - - * config/xtensa/xtensa.c (xtensa_emit_move_sequence): Try to - replace 'l32r' with 'movi' + 'slli' when optimizing for size. - * config/xtensa/xtensa.md (movdi): Split loading DI mode constant - into register pair into two loads of SI mode constants. - -2020-12-16 Tamar Christina - - * config/arm/arm_mve.h (__arm_vcmulq_rot90_f16): - (__arm_vcmulq_rot270_f16, _arm_vcmulq_rot180_f16, __arm_vcmulq_f16, - __arm_vcmulq_rot90_f32, __arm_vcmulq_rot270_f32, - __arm_vcmulq_rot180_f32, __arm_vcmulq_f32, __arm_vcmlaq_f16, - __arm_vcmlaq_rot180_f16, __arm_vcmlaq_rot270_f16, - __arm_vcmlaq_rot90_f16, __arm_vcmlaq_f32, __arm_vcmlaq_rot180_f32, - __arm_vcmlaq_rot270_f32, __arm_vcmlaq_rot90_f32): Update builtin calls. - * config/arm/arm_mve_builtins.def (vcmulq_f, vcmulq_rot90_f, - vcmulq_rot180_f, vcmulq_rot270_f, vcmlaq_f, vcmlaq_rot90_f, - vcmlaq_rot180_f, vcmlaq_rot270_f): Removed. - (vcmulq, vcmulq_rot90, vcmulq_rot180, vcmulq_rot270, vcmlaq, - vcmlaq_rot90, vcmlaq_rot180, vcmlaq_rot270): New. - * config/arm/iterators.md (mve_rot): Add UNSPEC_VCMLA, UNSPEC_VCMLA90, - UNSPEC_VCMLA180, UNSPEC_VCMLA270, UNSPEC_VCMUL, UNSPEC_VCMUL90, - UNSPEC_VCMUL180, UNSPEC_VCMUL270. - (VCMUL): New. - * config/arm/mve.md (mve_vcmulq_f, - mve_vcmulq_rot270_f, mve_vcmulq_rot90_f, mve_vcmlaq_f, - mve_vcmlaq_rot180_f, mve_vcmlaq_rot270_f, - mve_vcmlaq_rot90_f): Removed. - (mve_vcmlaq, mve_vcmulq, - mve_vcaddq, cadd3, mve_vcaddq): - New. - * config/arm/unspecs.md (UNSPEC_VCMUL90, UNSPEC_VCMUL270, UNSPEC_VCMUL, - UNSPEC_VCMUL180): New. - (VCMULQ_F, VCMULQ_ROT180_F, VCMULQ_ROT270_F, VCMULQ_ROT90_F, - VCMLAQ_F, VCMLAQ_ROT180_F, VCMLAQ_ROT90_F, VCMLAQ_ROT270_F): Removed. - -2020-12-16 Tamar Christina - - * config/arm/arm_mve.h (__arm_vcaddq_rot90_u8, __arm_vcaddq_rot270_u8, - __arm_vcaddq_rot90_s8, __arm_vcaddq_rot270_s8, - __arm_vcaddq_rot90_u16, __arm_vcaddq_rot270_u16, - __arm_vcaddq_rot90_s16, __arm_vcaddq_rot270_s16, - __arm_vcaddq_rot90_u32, __arm_vcaddq_rot270_u32, - __arm_vcaddq_rot90_s32, __arm_vcaddq_rot270_s32, - __arm_vcaddq_rot90_f16, __arm_vcaddq_rot270_f16, - __arm_vcaddq_rot90_f32, __arm_vcaddq_rot270_f32): Update builtin calls. - * config/arm/arm_mve_builtins.def (vcaddq_rot90_u, vcaddq_rot270_u, - vcaddq_rot90_s, vcaddq_rot270_s, vcaddq_rot90_f, vcaddq_rot270_f): - Removed. - (vcaddq_rot90, vcaddq_rot270): New. - * config/arm/constraints.md (Dz): Include MVE. - * config/arm/iterators.md (mve_rot): New. - (supf): Remove VCADDQ_ROT270_S, VCADDQ_ROT270_U, VCADDQ_ROT90_S, - VCADDQ_ROT90_U. - (VCADDQ_ROT270, VCADDQ_ROT90): Removed. - * config/arm/mve.md (mve_vcaddq_rot270_, mve_vcaddq_rot270_f, - mve_vcaddq_rot90_f): Removed. - (mve_vcaddq, mve_vcaddq): New. - * config/arm/unspecs.md (VCADDQ_ROT270_S, VCADDQ_ROT90_S, - VCADDQ_ROT270_U, VCADDQ_ROT90_U, VCADDQ_ROT270_F, - VCADDQ_ROT90_F): Removed. - * config/arm/vec-common.md (cadd3): New. - -2020-12-16 Tamar Christina - - * config/aarch64/aarch64-simd.md (cadd3): New. - * config/aarch64/iterators.md (SVE2_INT_CADD_OP): New. - * config/aarch64/aarch64-sve.md (cadd3): New. - * config/aarch64/aarch64-sve2.md (cadd3): New. - -2020-12-16 Pat Haugen - - * config/rs6000/mma.md (*movxo, mma_, mma_, - mma_, mma_, mma_, mma_, - mma_, mma_, mma_, mma_): - Remove explicit setting of length attribute. - -2020-12-16 Jakub Jelinek - - * varasm.c (default_elf_asm_named_section): Always force - section flags even for sections with SECTION_LINK_ORDER flag. - -2020-12-16 H.J. Lu - - PR target/98146 - * defaults.h (SUPPORTS_SHF_GNU_RETAIN): New. - * varasm.c (get_section): Replace HAVE_GAS_SHF_GNU_RETAIN with - SUPPORTS_SHF_GNU_RETAIN. - (resolve_unique_section): Likewise. - (get_variable_section): Likewise. - (switch_to_section): Likewise. - -2020-12-16 H.J. Lu - - PR target/98146 - * varasm.c (switch_to_section): Warn when a symbol without used - attribute and a symbol with used attribute are placed in the - section with the same name. - -2020-12-16 H.J. Lu - - PR target/98146 - * output.h (switch_to_section): Add a tree argument, default to - nullptr. - * varasm.c (get_section): If the SECTION_RETAIN bit doesn't match, - return and switch to a new section later. - (assemble_start_function): Pass decl to switch_to_section. - (assemble_variable): Likewise. - (switch_to_section): If the SECTION_RETAIN bit doesn't match, - switch to a new section. - -2020-12-16 Jakub Jelinek - - PR tree-optimization/96239 - * gimple-ssa-store-merging.c (find_bswap_or_nop): Handle a vector - CONSTRUCTOR. - (bswap_replace): Likewise. - -2020-12-16 Martin Liska - - * common.opt: Remove usage of Report. - * config/aarch64/aarch64.opt: Ditto. - * config/alpha/alpha.opt: Ditto. - * config/arc/arc.opt: Ditto. - * config/arm/arm.opt: Ditto. - * config/avr/avr.opt: Ditto. - * config/bfin/bfin.opt: Ditto. - * config/bpf/bpf.opt: Ditto. - * config/c6x/c6x.opt: Ditto. - * config/cr16/cr16.opt: Ditto. - * config/cris/cris.opt: Ditto. - * config/cris/elf.opt: Ditto. - * config/csky/csky.opt: Ditto. - * config/darwin.opt: Ditto. - * config/fr30/fr30.opt: Ditto. - * config/frv/frv.opt: Ditto. - * config/ft32/ft32.opt: Ditto. - * config/gcn/gcn.opt: Ditto. - * config/i386/cygming.opt: Ditto. - * config/i386/i386.opt: Ditto. - * config/ia64/ia64.opt: Ditto. - * config/ia64/ilp32.opt: Ditto. - * config/linux-android.opt: Ditto. - * config/linux.opt: Ditto. - * config/lm32/lm32.opt: Ditto. - * config/m32r/m32r.opt: Ditto. - * config/m68k/m68k.opt: Ditto. - * config/mcore/mcore.opt: Ditto. - * config/microblaze/microblaze.opt: Ditto. - * config/mips/mips.opt: Ditto. - * config/mmix/mmix.opt: Ditto. - * config/mn10300/mn10300.opt: Ditto. - * config/moxie/moxie.opt: Ditto. - * config/msp430/msp430.opt: Ditto. - * config/nds32/nds32.opt: Ditto. - * config/nios2/elf.opt: Ditto. - * config/nios2/nios2.opt: Ditto. - * config/nvptx/nvptx.opt: Ditto. - * config/pa/pa.opt: Ditto. - * config/pdp11/pdp11.opt: Ditto. - * config/pru/pru.opt: Ditto. - * config/riscv/riscv.opt: Ditto. - * config/rl78/rl78.opt: Ditto. - * config/rs6000/aix64.opt: Ditto. - * config/rs6000/linux64.opt: Ditto. - * config/rs6000/rs6000.opt: Ditto. - * config/rs6000/sysv4.opt: Ditto. - * config/rx/elf.opt: Ditto. - * config/rx/rx.opt: Ditto. - * config/s390/s390.opt: Ditto. - * config/s390/tpf.opt: Ditto. - * config/sh/sh.opt: Ditto. - * config/sol2.opt: Ditto. - * config/sparc/long-double-switch.opt: Ditto. - * config/sparc/sparc.opt: Ditto. - * config/tilegx/tilegx.opt: Ditto. - * config/tilepro/tilepro.opt: Ditto. - * config/v850/v850.opt: Ditto. - * config/visium/visium.opt: Ditto. - * config/vms/vms.opt: Ditto. - * config/vxworks.opt: Ditto. - * config/xtensa/xtensa.opt: Ditto. - -2020-12-16 Martin Liska - - * doc/options.texi: Remove Report keyword. - * opt-functions.awk: Print error when Report keyword - is used. - * optc-gen.awk: Do not handle Report keyword. - * opts.h (struct cl_option): Remove cl_report bitfield flag. - -2020-12-16 Martin Liska - - PR sanitizer/97868 - * common.opt: Add new warning -Wtsan. - * doc/invoke.texi: Likewise. - * tsan.c (instrument_builtin_call): Warn users about unsupported - std::atomic_thread_fence. - -2020-12-16 Martin Liska - - PR rtl-optimization/98271 - PR rtl-optimization/98276 - PR tree-optimization/98279 - * opts-common.c (set_option): Do not allow overflow for integer - arguments. - -2020-12-16 Eric Botcazou - - PR tree-optimization/98272 - * tree-switch-conversion.c (bit_test_cluster::emit): When finding - out whether the entry test can be merged in the bit test, do the - computation using the type of the index expression. - -2020-12-16 Kewen Lin - - * config/rs6000/rs6000.c (rs6000_expand_vector_init): Use - paradoxical subreg instead of zero_extend for QI/HI promotion. - -2020-12-16 Prathamesh Kulkarni - - PR target/66791 - * config/arm/arm_neon.h: Replace calls to __builtin_vcgt* by - <, > operators in vclt and vcgt intrinsics respectively. - * config/arm/arm_neon_builtins.def: Remove entry for - vcgt and vcgtu. - -2020-12-16 Prathamesh Kulkarni - - PR target/66791 - * config/arm/arm_neon.h: Replace calls to __builtin_vneg* by - operator - in vneg intrinsics. - * config/arm/arm_neon_builtins.def: Remove entry for vneg. - -2020-12-16 Prathamesh Kulkarni - - PR target/66791 - * config/arm/arm_neon.h: Replace calls to __builtin_vcreate* - in vcreate intrinsics. - * config/arm/arm_neon_builtins.def: Remove entry for vcreate. - -2020-12-15 Jakub Jelinek - - PR tree-optimization/96094 - * match.pd (X / bool_range_Y -> X): New simplification. - -2020-12-15 Nathan Sidwell - - * doc/cppopts.texi: Document new cpp opt. - * doc/invoke.texi: Add C++20 module option & documentation. - -2020-12-15 Nathan Sidwell - - * Makefile.in (CODYINC, CODYLIB, CODYLIB_H): New. Use them. - -2020-12-15 Jakub Jelinek - - PR target/98274 - * config/i386/i386-options.c (ix86_option_override_internal): Set - ix86_tune_string to "generic" even when it wasn't specified and - ix86_arch_string is "x86-64-v2", "x86-64-v3" or "x86-64-v4". - Remove useless {}s around a single statement. - -2020-12-15 Martin Liska - - PR lto/98275 - * lto-wrapper.c: Do not use -j0 when we are unable to detect - number of cores. - -2020-12-15 Jakub Jelinek - - * config/i386/i386-options.c (ix86_option_override_internal): Don't - error on -march=x86-64-v[234] with -m32 or -mabi=ms. - * config.gcc: Don't reject --with-arch=x86-64-v[234] or - --with-arch_32=x86-64-v[234]. - * doc/invoke.texi (-march=x86-64-v[234]): Document what the option - does for other ABIs. - -2020-12-15 Martin Liska - - PR gcov-profile/98273 - * gcov.c (output_json_intermediate_file): Use stack of nested - functions for lines in a source file. Pop when a function ends. - -2020-12-15 Gerald Pfeifer - - * doc/invoke.texi (Instrumentation Options): Update link to - KernelAddressSanitizer. - -2020-12-15 Max Filippov - - * config/xtensa/predicates.md (addsubx_operand): Change accepted - values from 2/4/8 to 1..3. - * config/xtensa/xtensa.md (*addx, *subx): Change RTL pattern - to use 'ashift' instead of 'mult'. Update operands[3] value. - -2020-12-14 Piotr Kubaj - Gerald Pfeifer - - * config/rs6000/freebsd64.h (PROCESSOR_DEFAULT): Update - to PROCESSOR_PPC7450. - (PROCESSOR_DEFAULT64): Update to PROCESSOR_POWER8. - -2020-12-14 Martin Sebor - - PR middle-end/98166 - PR c++/57111 - PR middle-end/98160 - * builtins.c (check_access): Call tree_inlined_location - fndecl_alloc_p): Handle BUILT_IN_ALIGNED_ALLOC and - BUILT_IN_GOMP_ALLOC. - call_dealloc_p): Remove unused function. - (new_delete_mismatch_p): Call valid_new_delete_pair_p and rework. - (matching_alloc_calls_p): Handle built-in deallocation functions. - (warn_dealloc_offset): Corrct the handling of user-defined operators - delete. - (maybe_emit_free_warning): Avoid assuming expression is a decl. - Simplify. - * doc/extend.texi (attribute malloc): Update. - * tree-ssa-dce.c (valid_new_delete_pair_p): Factor code out into - valid_new_delete_pair_p in tree.c. - * tree.c (tree_inlined_location): Define new function. - (valid_new_delete_pair_p): Define. - * tree.h (tree_inlined_location): Declare. - (valid_new_delete_pair_p): Declare. - -2020-12-14 Sebastian Pop - - * config.gcc (aarch64*-*-*): Remove --with-{cpu,arch,tune}-32 flags. - -2020-12-14 Wilco Dijkstra - - * config.gcc (aarch64*-*-*): Add --with-tune. Support --with-cpu=native. - * config/aarch64/aarch64.h (OPTION_DEFAULT_SPECS): Add --with-tune. - -2020-12-14 Martin Liska - - * gcov.c (output_json_intermediate_file): Update comments. - -2020-12-14 Tamar Christina - - PR middle-end/98264 - * tree-vect-slp-patterns.c (linear_loads_p): Exclude TOP permute. - -2020-12-14 Christophe Lyon - - * config/arm/mve.md (mve_vnegq_f): Use 'neg' instead of unspec. - (mve_vnegq_s): Likewise. - * config/arm/neon.md (neg2): Rename into neon_neg2. - (2): Rename into neon_2. - (neon_v): Call gen_neon_2. - (vashr3): Call gen_neon_neg2. - (vlshr3): Call gen_neon_neg2. - (neon_vneg): Call gen_neon_neg2. - * config/arm/unspecs.md (VNEGQ_F, VNEGQ_S): Remove. - * config/arm/vec-common.md (neg2): New expander. - -2020-12-14 Christophe Lyon - - * config/arm/iterators.md (VDQNOTM2): New mode iterator. - (supf): Remove VMVNQ_S and VMVNQ_U. - (VMVNQ): Remove. - * config/arm/mve.md (mve_vmvnq_u): New entry for vmvn - instruction using expression not. - (mve_vmvnq_s): New expander. - * config/arm/neon.md (one_cmpl2): Renamed into - one_cmpl2_neon. - * config/arm/unspecs.md (VMVNQ_S, VMVNQ_U): Remove. - * config/arm/vec-common.md (one_cmpl2): New expander. - -2020-12-14 Christophe Lyon - - * config/arm/iterators.md (supf): Remove VBICQ_S and VBICQ_U. - (VBICQ): Remove. - * config/arm/mve.md (mve_vbicq_u): New entry for vbic - instruction using expression and not. - (mve_vbicq_s): New expander. - (mve_vbicq_f): Replace use of unspec by 'and not'. - * config/arm/unspecs.md (VBICQ_S, VBICQ_U, VBICQ_F): Remove. - -2020-12-14 Christophe Lyon - - * config/arm/iterators.md (supf): Remove VEORQ_S and VEORQ_U. - (VEORQ): Remove. - * config/arm/mve.md (mve_veorq_u): New entry for veor - instruction using expression xor. - (mve_veorq_s): New expander. - (mve_veorq_f): Use 'xor' code instead of unspec. - * config/arm/neon.md (xor3): Renamed into xor3_neon. - * config/arm/unspecs.md (VEORQ_S, VEORQ_U, VEORQ_F): Remove. - * config/arm/vec-common.md (xor3): New expander. - -2020-12-14 Przemyslaw Wirkus - - * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-A78C core. - * config/aarch64/aarch64-tune.md: Regenerate. - * doc/invoke.texi: Update docs. - -2020-12-14 Nikhil Benesch - - * godump.c (go_output_typedef): Suppress typedefs whose name - matches the tag of the underlying struct, union, or enum. - Output declarations for enums that do not appear in typedefs. - -2020-12-13 Maciej W. Rozycki - - * config/vax/vax.c (vax_output_int_move): Unify push operation - selection. - -2020-12-13 Maciej W. Rozycki - - * config/vax/vax.c (vax_output_int_move): Check the correct - operand for constant 0 push operation. - -2020-12-13 Maciej W. Rozycki - - * config/vax/vax.c (vax_expand_addsub_di_operands): Handle equal - input operands with subtraction. - -2020-12-13 Maciej W. Rozycki - - * config/vax/vax.c (vax_expand_addsub_di_operands): Handle the - addition or subtraction of 0. - -2020-12-13 Maciej W. Rozycki - - * config/vax/vax.c (vax_expand_addsub_di_operands): Remove - unused register allocation. - -2020-12-13 Maciej W. Rozycki - - * config/vax/vax.md (casesi): Use `gen_int_mode' rather than - `GEN_INT' for the immediate used for lower bound adjustment. - -2020-12-13 Jakub Jelinek - - PR tree-optimization/98256 - * tree-ssa-math-opts.c (match_uaddsub_overflow): For BIT_NOT_EXPR, - only handle a single use, and insert .ADD_OVERFLOW before the - comparison rather than after the BIT_NOT_EXPR. Return true iff - it is BIT_NOT_EXPR and it has been removed. - (math_opts_dom_walker::after_dom_children) : - If match_uaddsub_overflow returned true, continue instead of break. - -2020-12-13 Tamar Christina - - Revert: - 2020-12-13 Tamar Christina - - * config/arm/arm_mve.h (__arm_vcaddq_rot90_u8, __arm_vcaddq_rot270_u8, - , __arm_vcaddq_rot90_s8, __arm_vcaddq_rot270_s8, - __arm_vcaddq_rot90_u16, __arm_vcaddq_rot270_u16, __arm_vcaddq_rot90_s16, - __arm_vcaddq_rot270_s16, __arm_vcaddq_rot90_u32, - __arm_vcaddq_rot270_u32, __arm_vcaddq_rot90_s32, - __arm_vcaddq_rot270_s32, __arm_vcmulq_rot90_f16, - __arm_vcmulq_rot270_f16, __arm_vcmulq_rot180_f16, - __arm_vcmulq_f16, __arm_vcaddq_rot90_f16, __arm_vcaddq_rot270_f16, - __arm_vcmulq_rot90_f32, __arm_vcmulq_rot270_f32, - __arm_vcmulq_rot180_f32, __arm_vcmulq_f32, __arm_vcaddq_rot90_f32, - __arm_vcaddq_rot270_f32, __arm_vcmlaq_f16, __arm_vcmlaq_rot180_f16, - __arm_vcmlaq_rot270_f16, __arm_vcmlaq_rot90_f16, __arm_vcmlaq_f32, - __arm_vcmlaq_rot180_f32, __arm_vcmlaq_rot270_f32, - __arm_vcmlaq_rot90_f32): Update builtin calls. - * config/arm/arm_mve_builtins.def (vcaddq_rot90_u, vcaddq_rot270_u, - vcaddq_rot90_s, vcaddq_rot270_s, vcaddq_rot90_f, vcaddq_rot270_f, - vcmulq_f, vcmulq_rot90_f, vcmulq_rot180_f, vcmulq_rot270_f, - vcmlaq_f, vcmlaq_rot90_f, vcmlaq_rot180_f, vcmlaq_rot270_f): Removed. - (vcaddq_rot90, vcaddq_rot270, vcmulq, vcmulq_rot90, vcmulq_rot180, - vcmulq_rot270, vcmlaq, vcmlaq_rot90, vcmlaq_rot180, vcmlaq_rot270): - New. - * config/arm/constraints.md (Dz): Include MVE. - * config/arm/iterators.md (mve_rotsplit1, mve_rotsplit2): New. - (rot): Add UNSPEC_VCMLS, UNSPEC_VCMUL and UNSPEC_VCMUL180. - (rot_op, rotsplit1, rotsplit2, fcmac1, VCMLA_OP, VCMUL_OP): New. - * config/arm/mve.md (VCADDQ_ROT270_S, VCADDQ_ROT90_S, VCADDQ_ROT270_U, - VCADDQ_ROT90_U, VCADDQ_ROT270_F, VCADDQ_ROT90_F, VCMULQ_F, - VCMULQ_ROT180_F, VCMULQ_ROT270_F, VCMULQ_ROT90_F, VCMLAQ_F, - VCMLAQ_ROT180_F, VCMLAQ_ROT90_F, VCMLAQ_ROT270_F, VCADDQ_ROT270_S, - VCADDQ_ROT270, VCADDQ_ROT90): Removed. - (mve_rot, VCMUL): New. - (mve_vcaddq_rot270_, - mve_vcaddq_rot270_f, mve_vcaddq_rot90_f, mve_vcmulq_f, mve_vcmulq_rot270_f, - mve_vcmulq_rot90_f, mve_vcmlaq_f, mve_vcmlaq_rot180_f, - mve_vcmlaq_rot270_f, mve_vcmlaq_rot90_f): Removed. - (mve_vcmlaq, mve_vcmulq, - mve_vcaddq, cadd3, mve_vcaddq): - New. - (cmul3): Exclude MVE types. - * config/arm/unspecs.md (UNSPEC_VCMUL90, UNSPEC_VCMUL270): New. - * config/arm/vec-common.md (cadd3, cmul3, - arm_vcmla, cml4): New. - * config/arm/unspecs.md (UNSPEC_VCMUL, UNSPEC_VCMUL180, UNSPEC_VCMLS, - UNSPEC_VCMLS180): New. - * config/arm/neon.md (cmul3): New. - -2020-12-13 Jakub Jelinek - - PR target/92469 - * varasm.c (eliminable_regno_p): New function. - (make_decl_rtl): Reject asm vars for frame and argp - if they are different from hard frame pointer. - -2020-12-13 Tamar Christina - - * config/arm/arm_mve.h (__arm_vcaddq_rot90_u8, __arm_vcaddq_rot270_u8, - , __arm_vcaddq_rot90_s8, __arm_vcaddq_rot270_s8, - __arm_vcaddq_rot90_u16, __arm_vcaddq_rot270_u16, __arm_vcaddq_rot90_s16, - __arm_vcaddq_rot270_s16, __arm_vcaddq_rot90_u32, - __arm_vcaddq_rot270_u32, __arm_vcaddq_rot90_s32, - __arm_vcaddq_rot270_s32, __arm_vcmulq_rot90_f16, - __arm_vcmulq_rot270_f16, __arm_vcmulq_rot180_f16, - __arm_vcmulq_f16, __arm_vcaddq_rot90_f16, __arm_vcaddq_rot270_f16, - __arm_vcmulq_rot90_f32, __arm_vcmulq_rot270_f32, - __arm_vcmulq_rot180_f32, __arm_vcmulq_f32, __arm_vcaddq_rot90_f32, - __arm_vcaddq_rot270_f32, __arm_vcmlaq_f16, __arm_vcmlaq_rot180_f16, - __arm_vcmlaq_rot270_f16, __arm_vcmlaq_rot90_f16, __arm_vcmlaq_f32, - __arm_vcmlaq_rot180_f32, __arm_vcmlaq_rot270_f32, - __arm_vcmlaq_rot90_f32): Update builtin calls. - * config/arm/arm_mve_builtins.def (vcaddq_rot90_u, vcaddq_rot270_u, - vcaddq_rot90_s, vcaddq_rot270_s, vcaddq_rot90_f, vcaddq_rot270_f, - vcmulq_f, vcmulq_rot90_f, vcmulq_rot180_f, vcmulq_rot270_f, - vcmlaq_f, vcmlaq_rot90_f, vcmlaq_rot180_f, vcmlaq_rot270_f): Removed. - (vcaddq_rot90, vcaddq_rot270, vcmulq, vcmulq_rot90, vcmulq_rot180, - vcmulq_rot270, vcmlaq, vcmlaq_rot90, vcmlaq_rot180, vcmlaq_rot270): - New. - * config/arm/constraints.md (Dz): Include MVE. - * config/arm/iterators.md (mve_rotsplit1, mve_rotsplit2): New. - (rot): Add UNSPEC_VCMLS, UNSPEC_VCMUL and UNSPEC_VCMUL180. - (rot_op, rotsplit1, rotsplit2, fcmac1, VCMLA_OP, VCMUL_OP): New. - * config/arm/mve.md (VCADDQ_ROT270_S, VCADDQ_ROT90_S, VCADDQ_ROT270_U, - VCADDQ_ROT90_U, VCADDQ_ROT270_F, VCADDQ_ROT90_F, VCMULQ_F, - VCMULQ_ROT180_F, VCMULQ_ROT270_F, VCMULQ_ROT90_F, VCMLAQ_F, - VCMLAQ_ROT180_F, VCMLAQ_ROT90_F, VCMLAQ_ROT270_F, VCADDQ_ROT270_S, - VCADDQ_ROT270, VCADDQ_ROT90): Removed. - (mve_rot, VCMUL): New. - (mve_vcaddq_rot270_, - mve_vcaddq_rot270_f, mve_vcaddq_rot90_f, mve_vcmulq_f, mve_vcmulq_rot270_f, - mve_vcmulq_rot90_f, mve_vcmlaq_f, mve_vcmlaq_rot180_f, - mve_vcmlaq_rot270_f, mve_vcmlaq_rot90_f): Removed. - (mve_vcmlaq, mve_vcmulq, - mve_vcaddq, cadd3, mve_vcaddq): - New. - (cmul3): Exclude MVE types. - * config/arm/unspecs.md (UNSPEC_VCMUL90, UNSPEC_VCMUL270): New. - * config/arm/vec-common.md (cadd3, cmul3, - arm_vcmla, cml4): New. - * config/arm/unspecs.md (UNSPEC_VCMUL, UNSPEC_VCMUL180, UNSPEC_VCMLS, - UNSPEC_VCMLS180): New. - * config/arm/neon.md (cmul3): New. - -2020-12-13 Tamar Christina - - * config/arm/arm.c (arm_preferred_simd_mode): Add E_HFmode. - -2020-12-13 Tamar Christina - - * tree-vect-slp-patterns.c: New file. - * Makefile.in: Add it. - * doc/passes.texi: Document it. - * internal-fn.def (COMPLEX_ADD_ROT90, COMPLEX_ADD_ROT270): New. - * optabs.def (cadd90_optab, cadd270_optab): New. - * doc/md.texi: Document them. - * tree-vect-loop.c (vect_analyze_loop_2): Add dissolve code. - * tree-vect-slp.c: - (vect_free_slp_instance, vect_create_new_slp_node): Export. - (vect_match_slp_patterns_2, vect_match_slp_patterns): New. - (vect_analyze_slp): Use it. - * tree-vectorizer.h (vect_free_slp_tree): Export. - (enum _complex_operation): Forward declare. - (class vect_pattern): New - -2020-12-13 Tamar Christina - - * tree-vect-patterns.c (vect_mark_pattern_stmts): Remove static inline. - * tree-vect-slp.c (vect_create_new_slp_node): Remove static and only - set smts if valid. - * tree-vectorizer.c (vec_info::add_pattern_stmt): New. - (vec_info::set_vinfo_for_stmt): Optionally enforce read-only. - * tree-vectorizer.h (struct _slp_tree): Use new types. - (lane_permutation_t, lane_permutation_t): New. - (vect_create_new_slp_node, vect_mark_pattern_stmts): New. - -2020-12-13 Rainer Orth - - * doc/sourcebuild.texi (Commands for use in dg-final, Scan the - assembly output, scan-assembler-symbol-section): Document. - (scan-symbol-section): Document. - -2020-12-13 Richard Sandiford - - * is-a.h (reinterpret_is_a_helper): New class. - (static_is_a_helper): Likewise. - (is_a_helper): Inherit from reinterpret_is_a_helper. - (is_a_helper): New specialization. - -2020-12-13 Richard Sandiford - - * coretypes.h (iterator_range): Move to... - * iterator-utils.h: ...this new file. - -2020-12-13 Richard Sandiford - - * rtlanal.c (noop_move_p): Don't check for REG_EQUAL notes. - -2020-12-13 Richard Sandiford - - * vec.h (vnull::operator vec): Make const. - -2020-12-12 Jakub Jelinek - - PR tree-optimization/96685 - * match.pd (~(X - Y) -> ~X + Y): New optimization. - (~X + Y -> (Y - X) - 1): Likewise. - -2020-12-12 Jakub Jelinek - - PR tree-optimization/96272 - * tree-ssa-math-opts.c (uaddsub_overflow_check_p): Add OTHER argument. - Handle BIT_NOT_EXPR. - (match_uaddsub_overflow): Optimize unsigned a > ~b into - __imag__ .ADD_OVERFLOW (a, b). - (math_opts_dom_walker::after_dom_children): Call match_uaddsub_overflow - even for BIT_NOT_EXPR. - -2020-12-12 Jakub Jelinek - - PR middle-end/98183 - * omp-low.c (lower_omp_target): Don't add OMP_RETURN for - data regions. - * omp-expand.c (expand_omp_target): Don't try to remove - OMP_RETURN for data regions. - (build_omp_regions_1, omp_make_gimple_edges): Don't expect - OMP_RETURN for data regions. - -2020-12-11 Nathan Sidwell - - * gcc.c (cpp_unique_options): Add Mmodules, Mno-modules. - * tree-core.h (enum tree_index): Add TI_MODULE_HWM. - -2020-12-11 Jim Wilson - - * varasm.c (get_section): Add DECL_P check before DECL_PRESERVE_P. - -2020-12-11 Christophe Lyon - - * config/arm/iterators.md (VDQ): Remove TARGET_HAVE_MVE - conditions. - * config/arm/vec-common.md (and3): Use - ARM_HAVE__ARITH. - (ior3): Likewise. - -2020-12-11 Claudiu Zissulescu - - * config/arc/arc.c (arc_active_insn): Ignore all non essential - instructions when getting the next active instruction. - (check_store_cacheline_hazard): Update. - (workaround_arc_anomaly): Remove obsolete cache hazard code. - -2020-12-11 Claudiu Zissulescu - - * config/arc/arc.c (arc_reorg): Avoid limm in BRcc. - -2020-12-11 Claudiu Zissulescu - - * config/arc/arc-protos.h (arc_scheduling_not_expected): Remove - it. - (arc_sets_cc_p): Likewise. - (arc_need_delay): Likewise. - * config/arc/arc.c (arc_sets_cc_p): Likewise. - (arc_need_delay): Likewise. - (arc_scheduling_not_expected): Likewise. - * config/arc/arc.md: Convert adc/sbc patterns to simple - instruction definitions. - -2020-12-11 Christophe Lyon - - * config/arm/iterators.md (supf): Remove VORRQ_S and VORRQ_U. - (VORRQ): Remove. - * config/arm/mve.md (mve_vorrq_s): New entry for vorr - instruction using expression ior. - (mve_vorrq_u): New expander. - (mve_vorrq_f): Use ior code instead of unspec. - * config/arm/neon.md (ior3): Renamed into ior3_neon. - * config/arm/predicates.md (imm_for_neon_logic_operand): Enable - for MVE. - * config/arm/unspecs.md (VORRQ_S, VORRQ_U, VORRQ_F): Remove. - * config/arm/vec-common.md (ior3): New expander. - -2020-12-11 Claudiu Zissulescu - - * config/arc/arc.md (mpyd_arcv2hs): New template - pattern. - (*pmpyd_arcv2hs): Likewise. - (*pmpyd_imm_arcv2hs): Likewise. - (mpyd_arcv2hs): Moved into above template. - (mpyd_imm_arcv2hs): Moved into above template. - (mpydu_arcv2hs): Likewise. - (mpydu_imm_arcv2hs): Likewise. - (su_optab): New optab prefix for sign/zero-extending operations. - -2020-12-11 H.J. Lu - - PR target/98219 - * config/i386/uintrintrin.h (__uintr_frame): Remove uirrv. - -2020-12-11 Andrea Corallo - - * doc/sourcebuild.texi (arm_softfloat): Improve documentation. - -2020-12-11 Jakub Jelinek - - PR rtl-optimization/98229 - * optabs.c (expand_doubleword_mod): Canonicalize op1 and - 1 - INTVAL (op1) as word_mode constants when used in - word_mode arithmetics. - -2020-12-11 Richard Biener - - PR tree-optimization/98235 - * tree-vect-slp.c (vect_build_slp_tree): Exchange npermutes - for limit. Decrement that for each cache miss and fail - discovery when it reaches zero. - (vect_build_slp_tree_2): Remove npermutes handling and - simply pass down limit. - (vect_build_slp_instance): Use pass down limit. - (vect_analyze_slp_instance): Likewise. - (vect_analyze_slp): Base the SLP discovery limit on - max_tree_size and pass it down. - -2020-12-11 Jakub Jelinek - - PR middle-end/98190 - * expr.c (expand_assignment): If to_rtx is a promoted SUBREG, - ensure sign or zero extension either through use of store_expr - or by extending manually. - -2020-12-11 Andrea Corallo - - PR rtl-optimization/97092 - * ira-color.c (update_costs_from_allocno): Do not carry over mode - between subsequent iterations. - -2020-12-11 Richard Biener - - PR tree-optimization/95582 - * tree-vect-patterns.c (vect_recog_bool_pattern): Check - for VECT_SCALAR_BOOLEAN_TYPE_P, not just precision one. - -2020-12-11 Hongyu - - * common/config/i386/cpuinfo.h (get_available_features): - Move check for HRESET/AVX_VNNI/UINTR out of avx512_usable. - -2020-12-10 Jakub Jelinek - - PR rtl-optimization/98212 - * dojump.c (do_compare_rtx_and_jump): Change computation of - first_prob for and_them. Add comment explaining and_them case. - -2020-12-10 Andrew MacLeod - - PR tree-optimization/98174 - * gimple-range-cache.cc (ranger_cache::ssa_range_in_bb): Only push - poor values to be examined if it isn't a pure global. - (ranger_cache::block_range): Don't process pure globals. - (ranger_cache::fill_block_cache): Adjust has_edge_range call. - * gimple-range-gori.cc (gori_map::all_outgoing): New bitmap. - (gori_map::gori_map): Allocate all_outgoing. - (gori_map::is_export_p): No specified BB returns global context. - (gori_map::calculate_gori): Accumulate each block into global. - (gori_compute::gori_compute): Preprocess each block for exports. - (gori_compute::has_edge_range_p): No edge returns global context. - * gimple-range-gori.h (has_edge_range_p): Provide default parameter. - -2020-12-10 Eric Botcazou - - * dwarf2out.c (loc_list_from_tree_1) : Deal with - a nested context type - -2020-12-10 Bernd Edlinger - - * cfgexpand.c (expand_gimple_basic_block): Remove special handling - of debug_inline_entries without block info. - * tree-inline.c (remap_gimple_stmt): Drop debug_nonbind_markers when - the call statement has no block info. - (copy_debug_stmt): Remove debug_nonbind_markers when inlining - and the block info is mapped to NULL. - * tree-ssa-live.c (clear_unused_block_pointer): Remove - debug_nonbind_markers originating from removed inline functions. - -2020-12-10 Richard Biener - - * tree-vect-stmts.c (vectorizable_assignment): Remove special - allowance of VECTOR_BOOLEAN_TYPE_P conversions. - -2020-12-10 Christophe Lyon - - * config/arm/iterators.md (supf): Remove VANDQ_S and VANDQ_U. - (VANQ): Remove. - (VDQ): Add TARGET_HAVE_MVE condition where relevant. - * config/arm/mve.md (mve_vandq_u): New entry for vand - instruction using expression 'and'. - (mve_vandq_s): New expander. - (mve_vaddq_n_f): Use 'and' code instead of unspec. - * config/arm/neon.md (and3): Rename into and3_neon. - * config/arm/predicates.md (imm_for_neon_inv_logic_operand): - Enable for MVE. - * config/arm/unspecs.md (VANDQ_S, VANDQ_U, VANDQ_F): Remove. - * config/arm/vec-common.md (and3): New expander. - -2020-12-10 Richard Sandiford - - PR tree-optimization/98069 - * tree-data-ref.c (compute_distributive_range): New function. - (nop_conversion_for_offset_p): Likewise. - (split_constant_offset): In the internal overload, treat integer - expressions as having an implicit cast to sizetype and express - them accordingly. Pass back the range of the original (uncast) - expression in a new range parameter. - (split_constant_offset_1): Likewise. Rework the handling of - conversions to account for the implicit sizetype casts. - -2020-12-10 Joel Hutton - - PR tree-optimization/97929 - * tree-vect-data-refs.c (vect_get_smallest_scalar_type): Add - WIDEN_PLUS/WIDEN_MINUS case. - -2020-12-10 Joel Hutton - - * tree-pretty-print.c (dump_generic_node): Add case for - VEC_WIDEN_(PLUS/MINUS)_(HI/LO)_EXPR and WIDEN_(PLUS/MINUS)_EXPR. - -2020-12-10 Richard Biener - - PR tree-optimization/98211 - * tree-vect-stmts.c (vectorizable_assignment): Disallow - invalid conversions to bool vector types. - -2020-12-10 Alexandre Oliva - - * tree.c (build_common_builtin_nodes): Drop __builtin_ from - __clear_cache libname. - -2020-12-10 Jakub Jelinek - - PR rtl-optimization/98212 - * dojump.c (do_compare_rtx_and_jump): When splitting NE and backend - can do UNEQ, prefer splitting x != y into x unord y || !(x uneq y) - instead of into x unord y || x ltgt y. - -2020-12-10 Jakub Jelinek - - PR tree-optimization/98169 - * dojump.c (do_compare_rtx_and_jump): Don't split self-EQ/NE - comparisons, just use ORDERED or UNORDERED. - -2020-12-10 Jakub Jelinek - - PR middle-end/98205 - * omp-expand.c (expand_omp_for_generic): Fix up broken_loop handling. - -2020-12-10 Richard Biener - - * tree-vect-slp.c (vect_get_and_check_slp_defs): Do - not mark the defs to occur in a pattern if it is the - pattern root and record the original stmt defs in that - case. - -2020-12-10 Simon Cook - - * config/riscv/multilib-generator (arch_canonicalize): Invoke - python interpreter when calling arch-canonicalize script. - -2020-12-10 Nikhil Benesch - - * godump.c (go_format_type): Don't consider whether a type has - been seen when determining whether to output a type by name. - Consider only the use_type_name parameter. - (go_output_typedef): When outputting a typedef, format the - declaration's original type, which contains the name of the - underlying type rather than the name of the typedef. - -2020-12-09 Jakub Jelinek - - PR bootstrap/98188 - * tree-ssa-phiopt.c (two_value_replacement): Don't special case - BOOLEAN_TYPEs for ranges, instead if get_range_info doesn't return - VR_RANGE, set min/max to wi::min/max_value. - -2020-12-09 Przemyslaw Wirkus - - * config/aarch64/aarch64-option-extensions.def - (AARCH64_OPT_EXTENSION): New +pauth option in -march for AArch64. - * config/aarch64/aarch64.h (AARCH64_FL_PAUTH): New pauth extension bitmask. - (AARCH64_ISA_PUATH): New ISA bitmask for PAUTH. - (AARCH64_FL_FOR_ARCH8_3): Add PAUTH to Armv8.3-A. - (TARGET_PAUTH): New target mask to isolate PAUTH instructions. - * config/aarch64/aarch64.md (do_return): Condition set to TARGET_PAUTH. - * doc/invoke.texi: Update docs for +flagm and +pauth. - -2020-12-09 Uroš Bizjak - - * config/i386/i386.h (REG_ALLOC_ORDER): Remove - -2020-12-09 Richard Biener - - PR tree-optimization/98213 - * tree-ssa-loop-im.c (sm_seq_valid_bb): Cache successfully - processed PHIs. - (hoist_memory_references): Adjust. - -2020-12-09 Kyrylo Tkachov - - * config/aarch64/aarch64-protos.h (cpu_vector_cost): Move simd - fields to... - (simd_vec_cost): ... Here. Define. - (advsimd_vec_cost): Define. - (sve_vec_cost): Define. - * config/aarch64/aarch64.c (generic_advsimd_vector_cost): - Define. - (generic_sve_vector_cost): Likewise. - (generic_vector_cost): Update. - (qdf24xx_advsimd_vector_cost): Define. - (qdf24xx_vector_cost): Update. - (thunderx_advsimd_vector_cost): Define. - (thunderx_vector_cost): Update. - (tsv110_advsimd_vector_cost): Define. - (tsv110_vector_cost): Likewise. - (cortexa57_advsimd_vector_cost): Define. - (cortexa57_vector_cost): Update. - (exynosm1_advsimd_vector_cost): Define. - (exynosm1_vector_cost): Update. - (xgene1_advsimd_vector_cost): Define. - (xgene1_vector_cost): Update. - (thunderx2t99_advsimd_vector_cost): Define. - (thunderx2t99_vector_cost): Update. - (thunderx3t110_advsimd_vector_cost): Define. - (thunderx3t110_vector_cost): Update. - (aarch64_builtin_vectorization_cost): Handle sve and advsimd - vector cost fields. - -2020-12-09 Jakub Jelinek - - PR tree-optimization/98199 - * fold-const.c (native_encode_initializer): Fix handling bit-fields - when off > 0. - -2020-12-09 Jakub Jelinek - - PR c++/98193 - * fold-const.c (native_encode_initializer): Set pos to field's - byte position if iterating over a field with missing initializer. - -2020-12-08 Martin Liska - - PR tree-optimization/98182 - * gimple-if-to-switch.cc (pass_if_to_switch::execute): Request - chain linkage through false edges only. - -2020-12-08 Nathan Sidwell - - * tree.h (DECL_ALIGN_RAW): New. - (DECL_ALIGN): Use it. - (DECL_WARN_IF_NOT_ALIGN_RAW): New. - (DECL_WARN_IF_NOT_ALIGN): Use it. - (SET_DECL_WARN_IF_NOT_ALIGN): Likewise. - -2020-12-08 Prathamesh Kulkarni - - PR target/66791 - * config/arm/arm_neon.h: Replace calls to __builtin_vmvn* by ~ - in vmvn intrinsics. - * config/arm/arm_neon_builtins.def: Remove entry for vmvn. - -2020-12-08 Jakub Jelinek - - PR target/94440 - * config/i386/i386.opt (ix86_excess_precision, - ix86_unsafe_math_optimizations): New TargetVariables. - * config/i386/i386.h (X87_ENABLE_ARITH, X87_ENABLE_FLOAT): Use - ix86_unsafe_math_optimizations instead of - flag_unsafe_math_optimizations and ix86_excess_precision instead of - flag_excess_precision. - * config/i386/i386.c (ix86_excess_precision): Rename to ... - (ix86_get_excess_precision): ... this. - (TARGET_C_EXCESS_PRECISION): Define to ix86_get_excess_precision. - * config/i386/i386-options.c (ix86_valid_target_attribute_tree, - ix86_option_override_internal): Update ix86_unsafe_math_optimization - from flag_unsafe_math_optimizations and ix86_excess_precision - from flag_excess_precision when constructing target option nodes. - (ix86_set_current_function): If flag_unsafe_math_optimizations - or flag_excess_precision is different from the one recorded - in TARGET_OPTION_NODE, create a new target option node for the - current function and switch to that. - -2020-12-08 Richard Biener - - PR tree-optimization/98192 - * tree-vect-slp.c (vect_build_slp_instance): Get scalar_stmts - by reference. - -2020-12-08 Richard Biener - - PR tree-optimization/98191 - * tree-vect-slp.c (vect_slp_check_for_constructors): Do not - follow a non-SSA def chain. - -2020-12-08 Richard Biener - - PR tree-optimization/97559 - * tree-ssa-sink.c (statement_sink_location): Never ignore - PHIs on sink paths in irreducible regions. - -2020-12-08 Prathamesh Kulkarni - - PR target/97872 - * gimple-isel.cc (gimple_expand_vec_cond_expr): Try to fold - x CMP y ? -1 : 0 to x CMP y. - -2020-12-08 Richard Biener - - PR tree-optimization/98180 - * tree-vect-slp.c (vect_slp_check_for_constructors): Check the - first inserted value has a def. - -2020-12-08 Eric Botcazou - - PR tree-optimization/96344 - * tree-switch-conversion.c (bit_test_cluster::emit): Compute the - range only if an entry test is necessary. Merge the entry test in - the bit test when possible. Use PREC local variable consistently. - When there is only one test, do a single gimplification at the end. - -2020-12-08 Kito Cheng - - PR target/98152 - * config.gcc (riscv*-*-*): Checking python, python3 or python2 - is available, and skip doing with_arch canonicalize if no python - available. - -2020-12-07 Jakub Jelinek - - PR target/98147 - * builtins.c (default_emit_call_builtin___clear_cache): Call - convert_memory_address to ptr_mode on both begin and end. - -2020-12-07 Bernd Edlinger - - * ipa-param-manipulation.c - (ipa_param_body_adjustments::modify_call_stmt): Set location info. - -2020-12-07 Jozef Lawrynowicz - - * doc/extend.texi (used function attribute): Document saving - the declaration from linker garbage collection. - (used variable attribute): Likewise. - -2020-12-07 Richard Biener - - PR tree-optimization/98113 - * tree-vectorizer.h (struct slp_root): New. - (_bb_vec_info::roots): New member. - * tree-vect-slp.c (vect_analyze_slp): Also walk BB info - roots. - (_bb_vec_info::_bb_vec_info): Adjust. - (_bb_vec_info::~_bb_vec_info): Likewise. - (vld_cmp): New. - (vect_slp_is_lane_insert): Likewise. - (vect_slp_check_for_constructors): Match a series of - BIT_INSERT_EXPRs as vector constructor. - (vect_slp_analyze_bb_1): Continue if BB info roots is - not empty. - (vect_slp_analyze_bb_1): Mark the whole BIT_INSERT_EXPR root - sequence as pure_slp. - -2020-12-07 Richard Biener - - PR tree-optimization/98117 - * tree-vect-loop-manip.c (vect_gen_vector_loop_niters): - Properly handle degenerate niter when setting the vector - loop IV range. - -2020-12-07 Andreas Krebbel - - * config/s390/s390.c (s390_emit_stack_probe): Change Pmode to - word_mode. - -2020-12-07 Martin Jambor - - PR ipa/97816 - * ipa-cp.c (safe_add): Removed. - (good_cloning_opportunity_p): Remove special handling of INT_MAX. - (value_topo_info::propagate_effects): Take care not to - propagate from size one value to another through more sources. Scale - propagated times with edge frequencies. Include local time and size - in propagates ones here. Take care not to overflow size. - (decide_about_value): Do not add local and propagated effects when - passing them to good_cloning_opportunity_p. - -2020-12-07 Matthias Klose - - * genextract.c (print_header): Undefine ENABLE_RTL_CHECKING - and ENABLE_RTL_FLAG_CHECKING. - -2020-12-07 Richard Biener - - PR tree-optimization/98137 - * tree-data-ref.c (split_constant_offset_1): Use - determine_value_range instead of get_range_info to handle - arbitrary expressions. - -2020-12-06 H.J. Lu - - PR target/98162 - * doc/extend.texi: Remove -mcet. - -2020-12-06 H.J. Lu - - PR target/98161 - * config/i386/i386-features.c (pseudo_reg_set): Check mode of - pseudo register push. - -2020-12-06 Jakub Jelinek - - PR tree-optimization/96232 - * tree-ssa-phiopt.c (two_value_replacement): Optimize even boolean lhs - cases as long as arg0 has wider precision and conditional_replacement - doesn't handle that case. - (tree_ssa_phiopt_worker): Don't call two_value_replacement during - early phiopt. - -2020-12-06 Jakub Jelinek - - PR tree-optimization/96232 - * match.pd (-(type)!A -> (type)A - 1): New optimization. - -2020-12-05 Rainer Orth - David Edelsohn - - * config/rs6000/xcoff.h (ASM_OUTPUT_DEF): Reference macro arguments. - -2020-12-05 Maciej W. Rozycki - - PR target/95294 - * config/vax/elf.h (REGISTER_NAMES): Append `%psl'. - * config/vax/vax-modes.def (CCN, CCNZ, CCZ): New modes. - * config/vax/vax-protos.h (vax_select_cc_mode): New prototype. - (vax_maybe_split_dimode_move): Likewise. - (vax_notice_update_cc): Remove prototype. - * config/vax/vax.c (TARGET_FLAGS_REGNUM): New macro. - (TARGET_CC_MODES_COMPATIBLE): Likewise. - (TARGET_MD_ASM_ADJUST): Likewise. - (vax_select_cc_mode): New function - (vax_cc_modes_compatible): Likewise. - (vax_md_asm_adjust): Likewise. - (vax_notice_update_cc): Remove function. - (vax_output_int_move): Factor out code checking if a DImode move - may have to be split... - (vax_maybe_split_dimode_move): ... into this new function. - * config/vax/vax.h (FIRST_PSEUDO_REGISTER): Bump up. - (FIXED_REGISTERS): Append an entry for PSL. - (CALL_USED_REGISTERS): Likewise. - (NOTICE_UPDATE_CC, OUTPUT_JUMP): Remove macros. - (SELECT_CC_MODE): New macro. - (REGISTER_NAMES): Append `psl'. - * config/vax/predicates.md (const_zero_operand) - (vax_cc_comparison_operator, vax_ccn_comparison_operator) - (vax_ccnz_comparison_operator, vax_ccz_comparison_operator): - New predicates. - * config/vax/builtins.md: Rewrite for MODE_CC representation. - * config/vax/vax.md: Likewise. - -2020-12-05 Maciej W. Rozycki - - * config/vax/elf.h (VAX_CC1_SPEC, VAX_CC1PLUS_SPEC): New macros. - * config/vax/netbsd-elf.h (CC1_SPEC): Use VAX_CC1_SPEC rather - than VAX_CC1_AND_CC1PLUS_SPEC. - (CC1PLUS_SPEC): Use VAX_CC1PLUS_SPEC rather than - VAX_CC1_AND_CC1PLUS_SPEC. - -2020-12-05 Maciej W. Rozycki - - * config/pdp11/pdp11.md (fcc_cc, fcc_ccnz): Use - `const_double_zero' to express double zero constant. - -2020-12-05 Maciej W. Rozycki - - * read-rtl.c (rtx_reader::read_rtx_code): Handle syntactic - `const_double_zero' rtx. - * doc/rtl.texi (Constant Expression Types): Document it. - -2020-12-05 Maciej W. Rozycki - - * config/vax/vax.md (divmoddisi4, *amulsi4): Make the comment - notation consistent with the rest of the file. - -2020-12-05 Maciej W. Rozycki - - * config/vax/vax.md (movti): Fix output predicate. Emit `movo' - rather than `movh'. - (divmoddisi4): Fix output predicates, correct RTL. - (*amulsi4): Name insn. Fix output predicate. - -2020-12-05 Maciej W. Rozycki - - * config/vax/vax.md (mulsidi3): Fix the multiplicand predicates. - (*maddsidi4, *maddsidi4_const): Likewise. Name insns. - -2020-12-05 Maciej W. Rozycki - - * config/vax/vax.md (*cmpv_2): Name insn. - (*cmpv, *cmpzv, *cmpzv_2): Likewise. Fix location predicate and - constraint. - -2020-12-05 Maciej W. Rozycki - - * config/vax/vax.md (extv): Rename insn to... - (*extv): ... this. - (extv): New expander. - -2020-12-05 Maciej W. Rozycki - - * config/vax/vax.md (*insv_aligned, *extzv_aligned) - (*extv_aligned): Also make sure the memory address of a bit-field - location can be adjusted in the PIC mode. - -2020-12-05 Maciej W. Rozycki - - * config/vax/vax.md (*insv_aligned, *extzv_aligned) - (*extv_aligned): Reject register bit-field locations that are not - aligned to the least significant bit; update output statement - accordingly. - -2020-12-05 Maciej W. Rozycki - - * config/vax/vax.md (*insv_aligned, *extzv_aligned) - (*extv_aligned, *extv_non_const, *extzv_non_const): Name insns. - Fix location predicate. - (*extzv): Name insn. - (*insv): Likewise. Fix location constraint. - (*insv_2): Likewise, and the predicate. - -2020-12-05 Maciej W. Rozycki - - * config/vax/vax.md (cpymemhi1): Rename insn to... - (movmemhi1): ... this. - (cpymemhi): Update accordingly. Remove constraints. - (movmemhi): New expander. - -2020-12-05 Maciej W. Rozycki - - * config/vax/builtins.md: Add a peephole2 for QImode and HImode - `ctz' operations. - (any_extend): New code iterator. - -2020-12-05 Maciej W. Rozycki - - * config/vax/builtins.md (width): New mode attribute. - (ffssi2): Rework expander into... - (ffs2): ... this. - (ctzsi2): Rework insn into... - (ctz2): ... this. - -2020-12-05 Maciej W. Rozycki - - * config/vax/builtins.md (ffssi2_internal): Rename insn to... - (ctzsi2): ... this. Update the RTL operation. - (ffssi2): Update accordingly. - * config/vax/vax.c (vax_notice_update_cc): Handle CTZ. - * config/vax/vax.h (CTZ_DEFINED_VALUE_AT_ZERO): New macro. - -2020-12-05 Maciej W. Rozycki - - * config/vax/vax.md: Include `builtins.md'. - -2020-12-05 Maciej W. Rozycki - - * config/vax/predicates.md (volatile_mem_operand) - (any_memory_operand): New predicates. - * config/vax/builtins.md (VUNSPEC_UNLOCK): Remove constant. - (sync_lock_test_and_set): Remove `set' and `unspec' - operations, match operands only. Reformat. - (sync_lock_release): Likewise. Remove cruft. - (jbbi): Wrap into `unspec_volatile', use - `any_memory_operand' predicate. - -2020-12-05 Maciej W. Rozycki - - * config/vax/builtins.md (bit): New int iterator. - (ccss): New int attribute. - (jbbssi, jbbcci): Fold insns into... - (jbbi): ... this. - -2020-12-05 Maciej W. Rozycki - - * config/vax/builtins.md (bb_mem): New mode attribute. - (jbbssiqi, jbbssihi, jbbssisi): Fold insns into... - (jbbssi): ... this. - (jbbcciqi, jbbccihi, jbbccisi): Likewise... - (jbbcci): ... this. - -2020-12-05 Maciej W. Rozycki - - * jump.c (pc_set): Also accept a jump wrapped in UNSPEC or - UNSPEC_VOLATILE. - (any_uncondjump_p, any_condjump_p): Update comment accordingly. - -2020-12-05 Maciej W. Rozycki - - * loop-doloop.c (add_test): Only remove the jump if `onlyjump_p'. - -2020-12-05 Maciej W. Rozycki - - * cfgrtl.c (rtl_block_empty_p): Return false if `!onlyjump_p' - too. - -2020-12-05 Maciej W. Rozycki - - * sel-sched-ir.c (maybe_tidy_empty_bb): Only try to remove a - conditional jump if `onlyjump_p'. - -2020-12-05 Maciej W. Rozycki - - * loop-iv.c (simplify_using_initial_values): Only process jumps - that match `onlyjump_p'. - (check_simple_exit): Likewise. - -2020-12-05 Maciej W. Rozycki - - * ifcvt.c (dead_or_predicable) [!IFCVT_MODIFY_TESTS]: Bail out - if `!onlyjump_p'. - -2020-12-05 Maciej W. Rozycki - - * read-rtl.c: Add a page-feed separator at the start of iterator - code. - (struct iterator_group): Change the return type to HOST_WIDE_INT - for the `find_builtin' member. Likewise the second parameter - type for the `apply_iterator' member. - (atoll) [!HAVE_ATOQ]: Reorder. - (find_mode, find_code): Change the return type to HOST_WIDE_INT. - (apply_mode_iterator, apply_code_iterator) - (apply_subst_iterator): Change the second parameter type to - HOST_WIDE_INT. - (find_int): Handle input suitable for HOST_WIDE_INT output. - (apply_int_iterator): Rewrite in terms of explicit format - interpretation. - (rtx_reader::read_rtx_operand) <'w'>: Fold into... - <'i', 'n', 'p'>: ... this. - * doc/md.texi (Int Iterators): Document 'w' rtx format support. - -2020-12-05 Maciej W. Rozycki - - * config/vax/builtins.md (ffssi2): Make preparation statements - actually buildable. - (ffssi2_internal): Fix input constraints; make the RTL pattern - match reality for `cc0'. - -2020-12-05 Maciej W. Rozycki - - * config/vax/vax.c (vax_address_cost): Express the cost in terms - of COSTS_N_INSNS. - (vax_rtx_costs): Likewise. - -2020-12-05 Maciej W. Rozycki - - * config/vax/constraints.md (A): New constraint. - * config/vax/predicates.md (external_symbolic_operand) - (external_const_operand): Remove predicates. - (local_symbolic_operand): Rename to... - (pic_symbolic_operand): ... this, and rework. - (external_memory_operand): Rename to... - (non_pic_external_memory_operand): ... this, and rework. - (illegal_blk_memory_operand, illegal_addsub_di_memory_operand): - Update accordingly. - * config/vax/vax-protos.h (vax_acceptable_pic_operand_p): New - prototype. - * config/vax/vax.c (vax_acceptable_pic_operand_p): New function. - (vax_output_int_add): Update according to predicate rework. - * config/vax/vax.h (LEGITIMATE_PIC_OPERAND_P): New macro. - * config/vax/vax.md (pushlclsymreg, pushextsymreg): Fold - together, and rename to... - (*pushsymreg): ... this. Use the `pic_symbolic_operand' - predicate and the `A' constraint for the displacement operand. - (movlclsymreg, movextsymreg): Fold together, and rename to... - (*movsymreg): ... this. Use the `pic_symbolic_operand' - predicate and the `A' constraint for the displacement operand. - (pushextsym, pushlclsym): Fold together, and rename to... - (*pushsym): ... this. Use the `pic_symbolic_operand' predicate - and the `A' constraint for the displacement operand. - (movextsym, movlclsym): Fold together, and rename to... - (*movsym): ... this. Use the `pic_symbolic_operand' predicate - and the `A' constraint for the displacement operand. - -2020-12-05 Maciej W. Rozycki - - * config/vax/vax.c (print_operand): Replace `c' and `C' with - `k' and `K' respectively. - * config/vax/vax.md (*branch, *branch_reversed): Update - accordingly. - -2020-12-05 Matt Thomas - Maciej W. Rozycki - - PR target/58901 - * reload.c (push_reload): Also reload the inner expression of a - SUBREG for pseudos associated with a mode-dependent memory - reference. - (find_reloads): Force a reload likewise. - -2020-12-05 Roman Zhuykov - - PR rtl-optimization/97421 - * modulo-sched.c (generate_prolog_epilog): Remove forward - declaration, adjust last argument name and type. - (const_iteration_count): Add bool pointer parameter to return - whether count register is read in pre-header after its - initialization. - (sms_schedule): Fix count register initialization adjustment - procedure according to what const_iteration_count said. - -2020-12-05 Iain Sandoe - - PR target/97865 - * configure: Regenerate. - -2020-12-05 Venkataramanan Kumar - Sharavan Kumar - - * common/config/i386/cpuinfo.h (get_amd_cpu) recognize znver3. - * common/config/i386/i386-common.c (processor_names): Add - znver3. - (processor_alias_table): Add znver3 and AMDFAM19H entry. - * common/config/i386/i386-cpuinfo.h (processor_types): Add - AMDFAM19H. - (processor_subtypes): AMDFAM19H_ZNVER3. - * config.gcc (i[34567]86-*-linux* | ...): Likewise. - * config/i386/driver-i386.c: (host_detect_local_cpu): Let - -march=native recognize znver3 processors. - * config/i386/i386-c.c (ix86_target_macros_internal): Add - znver3. - * config/i386/i386-options.c (m_znver3): New definition. - (m_ZNVER): Include m_znver3. - (processor_cost_table): Add znver3. - * config/i386/i386.c (ix86_reassociation_width): Likewise. - * config/i386/i386.h (TARGET_znver3): New definition. - (enum processor_type): Add PROCESSOR_ZNVER3. - * config/i386/i386.md (define_attr "cpu"): Add znver3. - * config/i386/x86-tune-sched.c: (ix86_issue_rate): Likewise. - (ix86_adjust_cost): Likewise. - * config/i386/x86-tune.def (X86_TUNE_AVOID_256FMA_CHAINS: - Likewise. - * config/i386/znver1.md: Add new reservations for znver3. - * doc/extend.texi: Add details about znver3. - * doc/invoke.texi: Likewise. - -2020-12-05 Jakub Jelinek - - PR target/96226 - * config/i386/i386.md (splitter after *3_mask, - splitter after *3_mask_1): Drop the masking from - the patterns to split into. - -2020-12-04 Jason Merrill - - * vec.h (begin, end): Add overloads for vec*. - * tree.c (build_constructor_from_vec): Remove *. - -2020-12-04 David Edelsohn - - * config/rs6000/rs6000.c (rs6000_option_override_internal): - Change PTR_SIZE to POINTER_SIZE_UNITS. - -2020-12-04 Hans-Peter Nilsson - Martin Sebor - - PR middle-end/94600 - * doc/implement-c.texi (Qualifiers implementation): Add blurb - about access to the whole of a volatile aggregate object, only for - same-size as a scalar object. - -2020-12-04 Jakub Jelinek - - PR c++/98130 - * gimple.c (gimple_call_fnspec): Only return ".co " for replaceable - operator delete or ".mC" for replaceable operator new called from - new/delete. - -2020-12-04 Jakub Jelinek - - PR target/96226 - * config/i386/i386.md (splitter after *3_mask, - splitter after *3_mask_1): New combine splitters. - -2020-12-04 Jakub Jelinek - - PR libstdc++/93121 - * fold-const.c (native_encode_initializer): Use build_zero_cst - instead of build_constructor. - -2020-12-04 Jakub Jelinek - - PR target/98100 - * cfgexpand.c (expand_gimple_basic_block): For vars with - vector type, use TYPE_MODE rather than DECL_MODE. - -2020-12-04 Jakub Jelinek - - * common.opt (-gdwarf32, -gdwarf64): New options. - * config/rs6000/rs6000.c (rs6000_option_override_internal): Default - dwarf_offset_size to 8 if not overridden from the command line. - * dwarf2out.c: Change all occurrences of DWARF_OFFSET_SIZE to - dwarf_offset_size. - * doc/invoke.texi (-gdwarf32, -gdwarf64): Document. - -2020-12-04 Martin Liska - - * doc/tm.texi: Change argument of the record_gcc_switches - hook and remove SWITCH_TYPE_* enum values. - * dwarf2out.c (gen_producer_string): Move to opts.c and remove - handling of the dwarf_record_gcc_switches option. - (dwarf2out_early_finish): Use moved gen_producer_string - function. - * opts.c (gen_producer_string): New. - * opts.h (gen_producer_string): New. - * target.def: Change type of record_gcc_switches. - * target.h (enum print_switch_type): Remove. - (elf_record_gcc_switches): Change first argument. - * toplev.c (MAX_LINE): Remove. - (print_to_asm_out_file): Likewise. - (print_to_stderr): Likewise. - (print_single_switch): Likewise. - (print_switch_values): Likewise. - (init_asm_output): Use new gen_producer_string function. - (process_options): Likewise. - * varasm.c (elf_record_gcc_switches): Just save the string argument - to the ELF container. - -2020-12-04 Eric Botcazou - - * ipa-sra.c (verify_access_tree_1): Relax assertion on the size. - -2020-12-04 Martin Liska - - * doc/invoke.texi: Add missing params. - -2020-12-03 Martin Sebor - - PR c++/90629 - PR middle-end/94527 - * builtins.c (access_ref::access_ref): Initialize new member. - (compute_objsize): Use access_ref::deref. Handle simple pointer - assignment. - (expand_builtin): Remove handling of the free built-in. - (call_dealloc_argno): Same. - (find_assignment_location): New function. - (fndecl_alloc_p): Same. - (gimple_call_alloc_p): Same. - (call_dealloc_p): Same. - (matching_alloc_calls_p): Same. - (warn_dealloc_offset): Same. - (maybe_emit_free_warning): Same. - * builtins.h (struct access_ref): Declare new member. - (maybe_emit_free_warning): Make extern. Make use of access_ref. - Handle -Wmismatched-new-delete. - * calls.c (initialize_argument_information): Call - maybe_emit_free_warning. - * doc/extend.texi (attribute malloc): Update. - * doc/invoke.texi (-Wfree-nonheap-object): Expand documentation. - (-Wmismatched-new-delete): Document new option. - (-Wmismatched-dealloc): Document new option. - -2020-12-03 Alexandre Oliva - - * tree.c (build_common_builtin_nodes): Declare - __builtin___clear_cache for all languages. - * builtins.c (maybe_emit_call_builtin___clear_cache): Accept - Pmode arguments. - -2020-12-03 Sebastian Huber - - * config/arm/t-rtems: Add "-mthumb -mcpu=cortex-r52 - -mfloat-abi=hard" multilib. - -2020-12-03 Uroš Bizjak - Jakub Jelinek - - PR target/98086 - * config/i386/i386.c (ix86_md_asm_adjustmd): Rewrite - zero-extension part to use convert_to_mode. - -2020-12-03 Andreas Krebbel - - * config/s390/s390.md ("@probe_stack2"): Change mode - iterator to W. - -2020-12-03 Richard Sandiford - - * config/aarch64/aarch64-sve-builtins-base.cc (svundef_impl::fold): - Delete. - -2020-12-03 Eric Botcazou - - PR middle-end/98099 - * expmed.c (flip_storage_order): In the case of a non-integer mode, - sorry out if the integer mode to be used instead is not supported. - -2020-12-03 Eric Botcazou - - PR middle-end/98082 - * function.c (use_register_for_decl): Also return true for a result - if cfun->tail_call_marked is true. - -2020-12-03 Jakub Jelinek - - PR libstdc++/93121 - * fold-const.h (native_encode_initializer): Add mask argument - defaulted to nullptr. - (find_bitfield_repr_type): Declare. - (native_interpret_aggregate): Declare. - * fold-const.c (find_bitfield_repr_type): New function. - (native_encode_initializer): Add mask argument and support for - filling it. Handle also some bitfields without integral - DECL_BIT_FIELD_REPRESENTATIVE. - (native_interpret_aggregate): New function. - * gimple-fold.h (clear_type_padding_in_mask): Declare. - * gimple-fold.c (struct clear_padding_struct): Add clear_in_mask - member. - (clear_padding_flush): Handle buf->clear_in_mask. - (clear_padding_union): Copy clear_in_mask. Don't error if - buf->clear_in_mask is set. - (clear_padding_type): Don't error if buf->clear_in_mask is set. - (clear_type_padding_in_mask): New function. - (gimple_fold_builtin_clear_padding): Set buf.clear_in_mask to false. - * doc/extend.texi (__builtin_bit_cast): Document. - -2020-12-03 Ilya Leoshkevich - - * tree-ssa-threadedge.c (record_temporary_equivalences_from_stmts_at_dest): - Do not allow __builtin_constant_p on a threading path. - -2020-12-03 Ilya Leoshkevich - - * tree-ssa-strlen.c (printf_strlen_execute): Avoid division by - 0. - -2020-12-03 Kito Cheng - - * config/riscv/multilib-generator (arch_canonicalize): Move - code to arch-canonicalize, and call that script to canonicalize arch - string. - (canonical_order): Move code to arch-canonicalize. - (LONG_EXT_PREFIXES): Ditto. - (IMPLIED_EXT): Ditto. - * config/riscv/arch-canonicalize: New. - * config.gcc (riscv*-*-*): Canonicalize --with-arch. - -2020-12-03 Przemyslaw Wirkus - - * config/aarch64/aarch64-option-extensions.def - (AARCH64_OPT_EXTENSION): New +flagm option in -march for AArch64. - * config/aarch64/aarch64.h (AARCH64_FL_FLAGM): Add new flagm extension bit - mask. - (AARCH64_FL_FOR_ARCH8_4): Add flagm to Armv8.4-A. - * doc/invoke.texi: Update docs with +flagm. - -2020-12-03 liuhongt - - PR target/96906 - * config/i386/sse.md - (_ucmp3): Add a new - define_split after this insn. - -2020-12-03 liuhongt - - PR target/97642 - * config/i386/i386-expand.c - (ix86_expand_special_args_builtin): Don't move all-ones mask - operands into register. - * config/i386/sse.md (UNSPEC_MASKLOAD): New unspec. - (*_load_mask): New define_insns for masked load - instructions. - (_load_mask): Changed to define_expands which - specifically handle memory or all-ones mask operands. - (_blendm): Changed to define_insns which are same - as original _load_mask with adjustment of - operands order. - (*_load): New define_insn_and_split which is - used to optimize for masked load with all one mask. - -2020-12-03 Hongyu Wang - - PR target/97770 - * config/i386/sse.md (popcount2): New expander - for SI/DI vector modes. - (popcount2): Likewise for QI/HI vector modes. - -2020-12-03 Alexandre Oliva - - * builtins.c (default_emit_call_builtin___clear_cache): New. - (maybe_emit_call_builtin___clear_cache): New. - (expand_builtin___clear_cache): Split into the above. - (expand_builtin): Do not issue clear_cache call any more. - * builtins.h (maybe_emit_call_builtin___clear_cache): Declare. - * config/aarch64/aarch64.c (aarch64_trampoline_init): Use - maybe_emit_call_builtin___clear_cache. - * config/arc/arc.c (arc_trampoline_init): Likewise. - * config/arm/arm.c (arm_trampoline_init): Likewise. - * config/c6x/c6x.c (c6x_initialize_trampoline): Likewise. - * config/csky/csky.c (csky_trampoline_init): Likewise. - * config/m68k/linux.h (FInALIZE_TRAMPOLINE): Likewise. - * config/tilegx/tilegx.c (tilegx_trampoline_init): Likewise. - * config/tilepro/tilepro.c (tilepro_trampoline_init): Ditto. - * config/vxworks.c: Include rtl.h, memmodel.h, and optabs.h. - (vxworks_emit_call_builtin___clear_cache): New. - * config/vxworks.h (CLEAR_INSN_CACHE): Drop. - (TARGET_EMIT_CALL_BUILTIN___CLEAR_CACHE): Define. - * target.def (trampoline_init): In the documentation, refer to - maybe_emit_call_builtin___clear_cache. - (emit_call_builtin___clear_cache): New. - * doc/tm.texi.in: Add new hook point. - (CLEAR_CACHE_INSN): Remove duplicate 'both'. - * doc/tm.texi: Rebuilt. - * targhooks.h (default_meit_call_builtin___clear_cache): - Declare. - * tree.h (BUILTIN_ASM_NAME_PTR): New. - -2020-12-03 Ilya Leoshkevich - - * tree-ssa-threadbackward.c (thread_jumps::profitable_jump_thread_path): - Do not allow __builtin_constant_p on a threading path. - -2020-12-02 Jakub Jelinek - - * dwarf2out.c (add_scalar_info): Only use add_AT_wide for 128-bit - constants and only in dwarf-5 or later, where DW_FORM_data16 is - available. Otherwise use DW_FORM_block*/DW_FORM_exprloc with - DW_OP_implicit_value to describe the constant. - -2020-12-02 qing zhao - - PR rtl-optimization/97777 - * reg-stack.c (rest_of_handle_stack_regs): call - df_insn_rescan_all if reg_to_stack return true. - -2020-12-02 Ilya Leoshkevich - - * config/s390/s390-protos.h (s390_const_int_pool_entry_p): New - function. - * config/s390/s390.c (s390_const_int_pool_entry_p): New - function. - * config/s390/s390.md: Add define_peephole2 that produces llihf - and oilf. - -2020-12-02 Richard Biener - - PR tree-optimization/97630 - * tree-vectorizer.h (_slp_tree::next_node, - _slp_tree::prev_node): New. - (vect_slp_init): Declare. - (vect_slp_fini): Likewise. - * tree-vectorizer.c (vectorize_loops): Call vect_slp_init/fini. - (pass_slp_vectorize::execute): Likewise. - * tree-vect-slp.c (vect_slp_init): New. - (vect_slp_fini): Likewise. - (slp_first_node): New global. - (_slp_tree::_slp_tree): Link node into the SLP tree list. - (_slp_tree::~_slp_tree): Delink node from the SLP tree list. - -2020-12-02 Scott Snyder - - PR plugins/98059 - * vec.h (auto_delete_vec): Use - DISABLE_COPY_AND_ASSIGN(auto_delete_vec) instead of - DISABLE_COPY_AND_ASSIGN(auto_delete_vec) to make it valid C++20 - after DR2237. - -2020-12-02 Martin Liska - - PR ipa/98075 - * cgraph.c (cgraph_node::dump): Dump decl_is_malloc flag. - * ipa-pure-const.c (propagate_malloc): Do not set malloc - attribute for void functions. - -2020-12-02 H.J. Lu - - PR middle-end/93195 - PR middle-end/93197 - * configure.ac (HAVE_GAS_SECTION_LINK_ORDER): New. Define 1 if - the assembler supports the section flag 'o' for specifying - section with link-order. - * output.h (SECTION_LINK_ORDER): New. Defined to 0x8000000. - (SECTION_MACH_DEP): Changed from 0x8000000 to 0x10000000. - * targhooks.c (default_print_patchable_function_entry): Pass - SECTION_LINK_ORDER to switch_to_section if the section flag 'o' - works. Pass current_function_decl to switch_to_section. - * varasm.c (default_elf_asm_named_section): Use 'o' flag for - SECTION_LINK_ORDER if assembler supports it. - * config.in: Regenerated. - * configure: Likewise. - * doc/sourcebuild.texi: Document o_flag_in_section. - -2020-12-02 H.J. Lu - - * config/i386/i386.opt: Add the missing '.' for -mneeded. - -2020-12-02 Richard Biener - - * tree-vect-loop.c (vect_transform_loop_stmt): Return whether - we vectorized a stmt. - (vect_transform_loop): Only call maybe_set_vectorized_backedge_value - when we vectorized the stmt. - -2020-12-02 Jakub Jelinek - - * expmed.h (expand_divmod): Only declare if GCC_OPTABS_H is defined. - Add enum optabs_method argument defaulted to OPTAB_LIB_WIDEN. - * expmed.c: Include expmed.h after optabs.h. - (expand_divmod): Add methods argument, if it is not OPTAB_{,LIB_}WIDEN, - don't choose a wider mode, and pass it to other calls instead of - hardcoded OPTAB_LIB_WIDEN. Avoid emitting libcalls if not - OPTAB_LIB or OPTAB_LIB_WIDEN. - * optabs.c: Include expmed.h after optabs.h. - (expand_doubleword_mod, expand_doubleword_divmod): Pass OPTAB_DIRECT - as last argument to expand_divmod. - (expand_binop): Punt if {s,u}divmod_optab has handler for double-word - int_mode. - * expr.c: Include expmed.h after optabs.h. - * explow.c: Include expmed.h after optabs.h. - -2020-12-02 Jakub Jelinek - - PR rtl-optimization/97459 - * optabs.h (expand_doubleword_divmod): Declare. - * optabs.c (expand_doubleword_divmod): New function. - (expand_binop): Use it. - * internal-fn.c (expand_DIVMOD): Likewise. - -2020-12-02 Martin Liska - - PR c/98087 - * gimple-fold.c (clear_padding_type): Do not divide by zero. - -2020-12-02 Martin Liska - - * gdbinit.in: Write what each command calls - for a debugging function. - -2020-12-02 Kewen Lin - - * config/rs6000/rs6000.c (rs6000_option_override_internal): - Use OPTION_MASK_DIRECT_MOVE for Power8 target_enable instead - of OPTION_MASK_HTM. - * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): - Remove OPTION_MASK_HTM. - (RS6000_CPU): Add OPTION_MASK_HTM to power8, power9 and - powerpc64le entries. - -2020-12-02 Uroš Bizjak - - PR target/98079 - * config/i386/i386.md (abs2): Enable QImode - only for !TARGET_PARTIAL_REG_STALL. - (*abs2_1): Ditto. - (3): Ditto. - (*3_1): Ditto. - -2020-12-02 Martin Liska - - * diagnostic.c (diagnostic_report_diagnostic): ICE causes to - terminate compiler immediately, so I guess it should be printed - always. - -2020-12-02 Martin Liska - - PR tree-optimization/88702 - * gimple-if-to-switch.cc (pass_if_to_switch::execute): - Require at least 2 BBs. - * gimple-if-to-switch.cc (find_conditions): Require - equal precision for low and high of a range. - -2020-12-02 Martin Liska - - PR tree-optimization/98084 - * gimple-if-to-switch.cc (find_conditions): Consider only - integral types. - -2020-12-02 Jeff Law - - * config/h8300/addsub.md (addqi3_clobber_flags): Rename to - addqi3_flags and annotate with a for define_subst. - (addhi3_h8sx_clobber_flags): Likewise. - (subqi3_clobber_flags, sub3_clobber_flags): Likewise. - (neg_clobber_flags): Similarly. - (addsi3_clobber_flags): Similarly. Update last argument to - output_plussi to distinguish when we need flags or do not need - flags. - (addhi3_clobber_flags): Similarly. Twiddle code for cases - +-1, +-2 and +-4. - * config/h8300/h8300.md: Define iterators, mode attributes and - substitutions for use in compare/test elimination. - * config/h8300/jumpcall.md (branch, branch_1): Use H8cc mode - iterator to cover the different modes for the CC register. - (branch_1_false): Likewise. - -2020-12-02 Maciej W. Rozycki - - * loop-iv.c: Fix a typo, s/bu/by/, in the `iv_analyze_expr' - description in the introduction. - -2020-12-02 H.J. Lu - - * configure.ac (HAVE_GAS_SHF_GNU_RETAIN): New. Define 1 if - the assembler supports marking sections with SHF_GNU_RETAIN flag. - * output.h (SECTION_RETAIN): New. Defined as 0x4000000. - (SECTION_MACH_DEP): Changed from 0x4000000 to 0x8000000. - (default_unique_section): Add a bool argument. - * varasm.c (get_section): Set SECTION_RETAIN for the preserved - symbol with HAVE_GAS_SHF_GNU_RETAIN. - (resolve_unique_section): Used named section for the preserved - symbol if assembler supports SHF_GNU_RETAIN. - (get_variable_section): Handle the preserved common symbol with - HAVE_GAS_SHF_GNU_RETAIN. - (default_elf_asm_named_section): Require the full declaration and - use the 'R' flag for SECTION_RETAIN. - * config.in: Regenerated. - * configure: Likewise. - * doc/sourcebuild.texi: Document R_flag_in_section. - -2020-12-02 H.J. Lu - - * config.gcc: Replace cet.o with gnu-property.o. Replace - i386/t-cet with i386/t-gnu-property. - * config/i386/cet.c: Renamed to ... - * config/i386/gnu-property.c: This. - (emit_gnu_property): New function. - (file_end_indicate_exec_stack_and_cet): Renamed to ... - (file_end_indicate_exec_stack_and_gnu_property): This. Call - emit_gnu_property to generate GNU_PROPERTY_X86_FEATURE_1_AND and - GNU_PROPERTY_X86_ISA_1_NEEDED properties. - * config/i386/i386.opt (mneeded): New. - * config/i386/linux-common.h (file_end_indicate_exec_stack_and_cet): - Renamed to ... - (file_end_indicate_exec_stack_and_gnu_property): This. - (TARGET_ASM_FILE_END): Updated. - * config/i386/t-cet: Renamed to ... - * config/i386/t-gnu-property: This. - (cet.o): Renamed to ... - (gnu-property.o): This. - * doc/invoke.texi: Document -mneeded. - -2020-12-01 Eugene Rozenfeld - - PR tree-optimization/96708 - * match.pd: New pattern for comparing X with MAX (X, Y) - or MIN (X, y). - -2020-12-01 Jeff Law - - * config/mcore/t-mcore (MULTILIB_EXCEPTIONS): Define. - -2020-12-01 Martin Sebor - - PR middle-end/97595 - * tree.c (component_ref_size): Fail when DECL_SIZE != TYPE_SIZE. - * tree.h (DECL_SIZE, TYPE_SIZE): Update comment. - -2020-12-01 JeanHeyd Meneide - - * doc/cpp.texi: Document new macros. - -2020-12-01 Martin Sebor - - PR middle-end/97373 - * builtins.c (compute_objsize): Rename... - (compute_objsize_r): to this. Change order and types of arguments. - Use new argument. Adjust calls to self. - (access_ref::get_ref): New member function. - (pointer_query::pointer_query): New member function. - (pointer_query::get_ref): Same. - (pointer_query::put_ref): Same. - (handle_min_max_size): Change order and types of arguments. - (maybe_emit_free_warning): Add a test. - * builtins.h (class pointer_query): New class. - (compute_objsize): Declare an overload. - * gimple-ssa-sprintf.c (get_destination_size): Add argument. - (handle_printf_call): Change argument type. - * tree-ssa-strlen.c (adjust_last_stmt): Add an argument and use it. - (maybe_warn_overflow): Same. - (handle_builtin_strcpy): Same. - (maybe_diag_stxncpy_trunc): Same. - (handle_builtin_memcpy): Change argument type. Adjust calls. - (handle_builtin_strcat): Same. - (handle_builtin_memset): Same. - (handle_store): Same. - (strlen_check_and_optimize_call): Same. - (check_and_optimize_stmt): Same. - (strlen_dom_walker): Add new data members. - (strlen_dom_walker::before_dom_children): Use new member. - (printf_strlen_execute): Dump cache performance counters. Remove - objsize pass cleanup. - * tree-ssa-strlen.h (maybe_diag_stxncpy_trunc): Add argument. - (handle_printf_call): Change argument type. - -2020-12-01 Eric Botcazou - - * function.c (gen_call_used_regs_seq): In a function subject to the - leaf register optimization, skip registers that are not present. - * config/sparc/sparc.c (TARGET_ZERO_CALL_USED_REGS): Define to... - (sparc_zero_call_used_regs): ...this. New function. - -2020-12-01 Iain Sandoe - - * config/darwin.h: Remove unused 'X' specs in the link spec - rather than driver self-specs. - -2020-12-01 Nathan Sidwell - - * params.opt (lazy-modules): New. - * timevar.def (TV_MODULE_IMPORT, TV_MODULE_EXPORT) - (TV_MODULE_MAPPER): New. - -2020-12-01 Jakub Jelinek - - PR rtl-optimization/97459 - * optabs.c (expand_doubleword_mod): Punt early for even op1. - (expand_binop): Don't require lshr_optab double-word handler. - -2020-12-01 Jakub Jelinek - - PR rtl-optimization/97954 - * loop-invariant.c (find_invariant_insn): Punt on JUMP_P insns. - -2020-12-01 Iain Sandoe - - * configure.ac (check leb128 support): Check that assemblers both - accept the LEB128 directives and also give the expected output. - Add a test for uleb128 with the MSB set for a 64 bit value. - * configure: Regenerated. - -2020-12-01 Iain Sandoe - - * configure: Regnerated. - -2020-12-01 Ilya Leoshkevich - - * optabs-tree.c (vec_cmp_icode_p): New function. - (vec_cmp_eq_icode_p): New function. - (expand_vec_cmp_expr_p): Use vec_cmp_icode_p and - vec_cmp_eq_icode_p. - (vcond_icode_p): Use get_rtx_code_1, just to be uniform with - vec_cmp_icode_p. - * optabs.c (unsigned_optab_p): New function. - (insn_predicate_matches_p): New function. - (can_vec_cmp_compare_p): New function. - (can_vcond_compare_p): Use unsigned_optab_p and - insn_predicate_matches_p. - (get_rtx_code): Use get_rtx_code_1. - (get_rtx_code_1): Version of get_rtx_code that returns UNKNOWN - instead of asserting. - * optabs.h (can_vec_cmp_compare_p): New function. - (get_rtx_code_1): New function. - -2020-12-01 Martin Liska - - PR tree-optimization/14799 - PR ipa/88702 - * Makefile.in: Add gimple-if-to-switch.o. - * dbgcnt.def (DEBUG_COUNTER): Add new debug counter. - * passes.def: Include new pass_if_to_switch pass. - * timevar.def (TV_TREE_IF_TO_SWITCH): New timevar. - * tree-pass.h (make_pass_if_to_switch): New. - * tree-ssa-reassoc.c (struct operand_entry): Move to the header. - (dump_range_entry): Move to header file. - (debug_range_entry): Likewise. - (no_side_effect_bb): Make it global. - * tree-switch-conversion.h (simple_cluster::simple_cluster): - Add inline for couple of functions in order to prevent error - about multiple defined symbols. - * gimple-if-to-switch.cc: New file. - * tree-ssa-reassoc.h: New file. - -2020-12-01 Marius Hillenbrand - - * configure.ac: Add configure option - --enable-s390-excess-float-precision and check to derive default - from glibc. - * config/s390/s390.c: Guard s390_excess_precision with an ifdef - for ENABLE_S390_EXCESS_FLOAT_PRECISION. - * doc/install.texi: Document --enable-s390-excess-float-precision. - * configure: Regenerate. - * config.in: Regenerate. - -2020-12-01 Martin Liska - - PR ipa/98057 - * symtab.c (symtab_node::set_section_for_node): Drop - implicit_section if x_section is NULL. - -2020-12-01 Jakub Jelinek - - PR target/98063 - * config/i386/i386-expand.c (ix86_expand_call): Handle non-plt - CM_LARGE_PIC calls. - -2020-12-01 Richard Biener - - PR middle-end/98070 - * builtins.c (builtin_fnspec): realloc is ".Cw ". - -2020-12-01 Jakub Jelinek - - * dwarf2out.c (gen_compile_unit_die): Treat GNU C++20 - like C++14 for -gdwarf-5. - -2020-12-01 Jakub Jelinek - - PR debug/97989 - * gcc.c (cpp_unique_options): Add -dD if %:debug-level-gt(2) - rather than g3|ggdb3|gstabs3|gxcoff3|gvms3. - -2020-12-01 Kito Cheng - - * config.gcc (riscv*-*-*): Drop some commited accidentally code. - -2020-11-30 Jeff Law - - * symtab.c (set_section_for_node): Add function comment. - (set_section_from_node): Likewise. - -2020-11-30 David Malcolm - - * doc/plugins.texi (Plugin callbacks): Add PLUGIN_ANALYZER_INIT. - * plugin.c (register_callback): Likewise. - (invoke_plugin_callbacks_full): Likewise. - * plugin.def (PLUGIN_ANALYZER_INIT): New event. - -2020-11-30 Jeff Law - - * config/h8300/bitfield.md: Remove "cc" attribute on any - insns where it remained. - * config/h8300/combiner.md: Likewise. - * config/h8300/jumpcall.md: Likewise. - * config/h8300/logical.md: Likewise. - * config/h8300/testcompare.md: Likewise. - * config/h8300/h8300.md (old_cc attr): Renamed from cc attr. - * config/h8300/h8300.c (notice_update_cc): Remove. - (compute_plussi_cc): Change references to CC_* to OLD_CC_. - (compute_logical_op_cc): Likewise. - (shift_one, shift_two): Likewise. - (compute_a_shift_cc): Likewise. - (get_shift_alg): Likewise. - (struct shift_insn): Change type of cc_valid field. - (struct shift_info): Likewise. - * config/h8300/save.md: Remove accidentially created file. - -2020-11-30 Richard Sandiford - - PR rtl-optimization/98037 - * dse.c (find_shift_sequence): Iterate over all integers and - skip modes that are too small. - -2020-11-30 Eugene Rozenfeld - - PR tree-optimization/96679 - * match.pd (((b | c) & a) | b -> (a & c) | b): New pattern. - -2020-11-30 Martin Liska - - * passes.c (emergency_dump_function): Dump symtab when - we are in an IPA pass. - -2020-11-30 Richard Biener - - PR tree-optimization/98064 - * tree-vect-loop.c (vectorizable_live_operation): Avoid - breaking LC SSA for BB vectorization. - -2020-11-30 Jonathan Wakely - - * doc/sourcebuild.texi (Directives): Fix description of - dg-require-effective-target to include "target" in selector. - -2020-11-30 Richard Biener - - PR tree-optimization/98048 - * tree-vect-generic.c (expand_vector_operations_1): Use the - correct type for the scalar LHS replacement. - -2020-11-30 Martin Liska - - PR tree-optimization/98066 - * gimple-isel.cc (gimple_expand_vec_exprs): Return when - gimple_expand_vec_exprs replaces last stmt. - -2020-11-30 Ilya Leoshkevich - - * cfgrtl.c (rtl_bb_info_initialized_p): New function. - (rtl_dump_bb): Use rtl_bb_info_initialized_p before accessing bb - insns. - -2020-11-30 Iain Buclaw - - PR d/87818 - * config.gcc (*-*-freebsd*): Add freebsd-d.o and t-freebsd. - * config/freebsd-d.c: New file. - * config/t-freebsd: New file. - -2020-11-30 Jakub Jelinek - - PR rtl-optimization/97459 - * internal-fn.h (expand_addsub_overflow): Declare. - * internal-fn.c (expand_addsub_overflow): No longer static. - * optabs.c (expand_doubleword_mod): New function. - (expand_binop): Optimize double-word mod with constant divisor. - -2020-11-30 Kito Cheng - - * config.gcc (riscv*-*-*): Add TARGET_RISCV_DEFAULT_ABI and - TARGET_RISCV_DEFAULT_ARCH to tm_defines. - Remove including riscv/withmultilib.h for --with-multilib-list. - * config/riscv/riscv.h (STRINGIZING): New. - (__STRINGIZING): Ditto. - (MULTILIB_DEFAULTS): Ditto. - * config/riscv/withmultilib.h: Remove. - -2020-11-30 Kito Cheng - - * gcc.c (print_multilib_info): Check default arguments not - appeared in multi-lib option list with '!' - -2020-11-30 Jeff Law - - * config/ft32/ft32.md (umulsidi3): Do not allow constants as - arguments. - -2020-11-29 Jan Hubicka - - * ipa-modref.c (ipa_merge_modref_summary_after_inlining): Fix - handling of ignore_stores. - -2020-11-29 Jan Hubicka - - PR jit/97867 - * symtab-thunks.h (thunk_info::release): Use ggc_delete. - -2020-11-29 Martin Sebor - - PR middle-end/92936 - PR middle-end/92940 - PR middle-end/89428 - * builtins.c (access_ref::access_ref): Initialize member. - (access_ref::phi): New function. - (access_ref::get_ref): New function. - (access_ref::add_offset): Remove duplicate assignment. - (maybe_warn_for_bound): Add "maybe" kind of warning messages. - (warn_for_access): Same. - (inform_access): Rename... - (access_ref::inform_access): ...to this. Print PHI arguments. Format - offset the same as size and simplify. Improve printing of allocation - functions and VLAs. - (check_access): Adjust to the above. - (gimple_parm_array_size): Change argument. - (handle_min_max_size): New function. - * builtins.h (class ssa_name_limit_t): Move class here from - tree-ssa-strlen.c. - (struct access_ref): Declare new members. - (gimple_parm_array_size): Change argument. - * tree-ssa-strlen.c (maybe_warn_overflow): Use access_ref and simplify. - (handle_builtin_memcpy): Correct argument passed to maybe_warn_overflow. - (handle_builtin_memset): Same. - (class ssa_name_limit_t): Move class to builtins.{h,c}. - -2020-11-29 Iain Buclaw - - * config.gcc (*-*-darwin*): Set d_target_objs and target_has_targetdm. - * config/elfos.h (TARGET_D_MINFO_SECTION): New macro. - (TARGET_D_MINFO_START_NAME): New macro. - (TARGET_D_MINFO_END_NAME): New macro. - * config/t-darwin: Add darwin-d.o. - * doc/tm.texi: Regenerate. - * doc/tm.texi.in (D language and ABI): Add @hook for - TARGET_D_MINFO_SECTION, TARGET_D_MINFO_START_NAME, and - TARGET_D_MINFO_END_NAME. - * config/darwin-d.c: New file. - -2020-11-29 Jan Hubicka - - * tree-ssa-structalias.c (handle_pure_call): Skip EAF_UNUSED - parameters. - -2020-11-29 Jan Hubicka - - * ipa-modref.c (modref_lattice::merge): Do nothing if F is EAF_UNUSED. - (analyze_parms): Detect unused params. - (modref_merge_call_site_flags): Merge correct EAF_UNUSED. - -2020-11-28 Eric Botcazou - - PR target/97939 - * config/sparc/predicates.md (arith_double_add_operand): Comment. - * config/sparc/sparc.md (uaddvdi4): Use arith_double_operand. - (addvdi4): Use arith_double_add_operand. - (addsi3): Remove useless attributes. - (addvsi4): Use arith_add_operand. - (*cmp_ccv_plus): Likewise and add second alternative accordingly. - (*cmp_ccxv_plus): Likewise. - (*cmp_ccv_plus_set): Likewise. - (*cmp_ccxv_plus_set): Likewise. - (*cmp_ccv_plus_sltu_set): Likewise. - (usubvdi4): Use arith_double_operand. - (subvdi4): Use arith_double_add_operand. - (subsi3): Remove useless attributes. - (subvsi4): Use arith_add_operand. - (*cmp_ccv_minus): Likewise and add second alternative accordingly. - (*cmp_ccxv_minus): Likewise. - (*cmp_ccv_minus_set): Likewise. - (*cmp_ccxv_minus_set): Likewise. - (*cmp_ccv_minus_sltu_set): Likewise. - (negsi2): Use register_operand. - (unegvsi3): Likewise. - (negvsi3) Likewise. - (*cmp_ccnz_neg): Likewise. - (*cmp_ccxnz_neg): Likewise. - (*cmp_ccnz_neg_set): Likewise. - (*cmp_ccxnz_neg_set): Likewise. - (*cmp_ccc_neg_set): Likewise. - (*cmp_ccxc_neg_set): Likewise. - (*cmp_ccc_neg_sltu_set): Likewise. - (*cmp_ccv_neg): Likewise. - (*cmp_ccxv_neg): Likewise. - (*cmp_ccv_neg_set): Likewise. - (*cmp_ccxv_neg_set): Likewise. - (*cmp_ccv_neg_sltu_set): Likewise. - -2020-11-27 H.J. Lu - - PR other/98027 - * doc/install.texi: Default to --enable-cet=auto. - -2020-11-27 Thomas Schwinge - - * omp-oacc-kernels-decompose.cc (flatten_binds): Don't choke on - empty GIMPLE sequence, and examine all statements contained in - inner 'GIMPLE_BIND'. - -2020-11-27 Richard Biener - - PR tree-optimization/98024 - * tree-ssa-pre.c (insert): Fix successor RPO order check. - (do_pre_regular_insertion): When inserting an assignment - in place of an all-same-value PHI still record that into - PHI_GEN. - -2020-11-27 Jakub Jelinek - - * tree-ssanames.c (get_range_info): Handle INTEGER_CST by returning - VR_RANGE with both *min and *max set to the wide_int value of the - INTEGER_CST. Return VR_VARYING for non-SSA_NAMEs. - * match.pd ((t * 2) / 2) -> t): Handle also @0 being INTEGER_CST. - Simplify by calling get_range_info on everything. - * tree-ssa-strlen.c (maybe_diag_stxncpy_trunc): Simplify by calling - get_range_info on everything. - * tree-scalar-evolution.c (iv_can_overflow_p): Likewise. - -2020-11-27 Jakub Jelinek - - PR libstdc++/88101 - * gimple-fold.c (clear_padding_type): Ignore fields with is_empty_type - types. - -2020-11-27 Tobias Burnus - - PR c/97880 - * omp-expand.c (expand_oacc_collapse_init, expand_oacc_collapse_vars): - Use now passed diff_type. - (expand_oacc_for): Take largest type for diff_type, taking tiling - and collapsing into account. - -2020-11-27 Kyrylo Tkachov - - * config/aarch64/aarch64.opt - (-param=aarch64-autovec-preference): Define. - * config/aarch64/aarch64.c (aarch64_override_options_internal): - Set aarch64_sve_compare_costs to 0 when preferring only Advanced - SIMD. - (aarch64_cmp_autovec_modes): Define. - (aarch64_preferred_simd_mode): Adjust to use the above. - (aarch64_autovectorize_vector_modes): Likewise. - * doc/invoke.texi: Document aarch64-autovec-preference param. - -2020-11-27 Xionghu Luo - - * config/rs6000/rs6000-call.c (altivec_expand_vec_set_builtin): - Change call param 2 from type int to rtx. - * config/rs6000/rs6000-protos.h (rs6000_expand_vector_set): - Likewise. - * config/rs6000/rs6000.c (rs6000_expand_vector_init): - Change call param 2 from type int to rtx. - (rs6000_expand_vector_set): Likewise. - * config/rs6000/vector.md (vec_set): Support both constant - and variable index vec_set. - -2020-11-27 Haochen Gui - - * config/rs6000/rs6000-protos.h (rs6000_output_addr_vec_elt): Declare. - * config/rs6000/rs6000.c (TARGET_ASM_GENERATE_PIC_ADDR_DIFF_VEC): - Define. - (rs6000_gen_pic_addr_diff_vec, rs6000_output_addr_vec_elt): Implement. - * config/rs6000/rs6000.h (CASE_VECTOR_PC_RELATIVE, - CASE_VECTOR_MODE, ASM_OUTPUT_ADDR_VEC_ELT): Define. - * config/rs6000/rs6000.md (tablejump_absolute, - tablejump_absolute_nospec): New expanders. - * config/rs6000/rs6000.opt (mrelative-jumptables): New. - -2020-11-26 Eric Botcazou - - PR target/96607 - * config/sparc/sparc-protos.h (eligible_for_call_delay): Delete. - * config/sparc/sparc.c (eligible_for_call_delay): Likewise. - * config/sparc/sparc.md (in_call_delay): Likewise. - (tls_delay_slot): New attribute. - (define_delay [call]): Use in_branch_delay. - (tgd_call): Set type to call_no_delay_slot when - tls_delay_slot is false. - (tldm_call): Likewise. - -2020-11-26 Jakub Jelinek - - PR tree-optimization/97997 - * match.pd ((t * 2) / 2) -> t): Optimize even for defined - overflow if ranges prove there is no overflow. - -2020-11-26 Richard Biener - - PR tree-optimization/97953 - * gimple-ssa-evrp-analyze.c - (evrp_range_analyzer::record_ranges_from_incoming_edge): Make - sure the condition post-dominates the SSA definition before - recording into SSA_NAME_RANGE_INFO. - -2020-11-26 Richard Biener - - * gimple-isel.cc (gimple_expand_vec_cond_expr): Only - lower VECTOR_BOOLEAN_TYPE_P VEC_COND_EXPRs. - -2020-11-26 Andrew Stubbs - - * config/gcn/mkoffload.c (copy_early_debug_info): Don't wipe - relocation symbols. - -2020-11-26 Uroš Bizjak - - * config/i386/i386-expand.c (ix86_expand_multi_arg_builtin): - Remove args array of structs, declare rtx xops array instead. - Update all uses. - (ix86_expand_args_builtin): Ditto. - (ix86_expand_round_builtin): Ditto. - (ix86_expand_special_args_builtin): Ditto. - -2020-11-26 Martin Liska - - * dwarf2out.c (gen_compile_unit_die): Fix missing == 0 in a - strcmp. - -2020-11-26 Rainer Orth - - * config/sol2.h (TIME_LIBRARY): Remove. - -2020-11-26 Kewen Lin - - * config/rs6000/rs6000.c (rs6000_option_override_internal): - Set param_vect_partial_vector_usage as 1 for Power10 and up - by default. - -2020-11-26 Jakub Jelinek - - * gimple-fold.c (clear_padding_union): Ignore DECL_PADDING_P - fields. - (clear_padding_type): Ignore DECL_PADDING_P fields, rather than - DECL_BIT_FIELD with NULL DECL_NAME. - -2020-11-26 Jakub Jelinek - - PR tree-optimization/97979 - * match.pd ((X {&,^,|} C2) << C1 into (X << C1) {&,^,|} (C2 << C1)): - Only optimize if int_const_binop returned non-NULL. - -2020-11-26 liuhongt - - * config/i386/i386-expand.c - (ix86_expand_special_args_builtin): Delete last_arg_constant - and match. - -2020-11-26 Uroš Bizjak - - PR target/97873 - * config/i386/i386.md (abs2): Use SDWIM mode iterator. - (*abs2_1): Use SWI mode iterator. - (3): Use SDWIM mode iterator. - (*3_1): Use SWI mode iterator. - -2020-11-26 Jakub Jelinek - - PR target/96906 - * config/i386/sse.md (VI12_AVX2): Remove V64QI/V32HI modes. - (VI12_AVX2_AVX512BW): New mode iterator. - (_3, - uavg3_ceil, _uavg3): Use - VI12_AVX2_AVX512BW iterator instead of VI12_AVX2. - (*_3): Likewise. - (*_uavg3): Likewise. - (*_3): Add a new - define_split after this insn. - -2020-11-26 Martin Uecker - - PR c/65455 - PR c/92935 - * ginclude/stdatomic.h: Use comma operator to drop qualifiers. - -2020-11-26 Vladimir Makarov - - PR bootstrap/97983 - * lra.c (lra_process_new_insns): Use emit_insn_before_noloc or - emit_insn_after_noloc with the destination BB. - -2020-11-25 Martin Sebor - - PR bootstrap/97622 - PR bootstrap/94982 - * config/i386/i386-options.c (ix86_valid_target_attribute_inner_p): - Avoid -Wformat-diag. - * digraph.cc (struct test_edge): Same. - * dumpfile.c (dump_loc): Same. - (dump_context::begin_scope): Same. - * edit-context.c (edited_file::print_diff): Same. - (edited_file::print_diff_hunk): Same. - * json.cc (object::print): Same. - * lto-wrapper.c (merge_and_complain): Same. - * reload.c (find_reloads): Same. - * tree-diagnostic-path.cc (print_path_summary_as_text): Same. - * ubsan.c (ubsan_type_descriptor): Same. - -2020-11-25 Jan Hubicka - - * gimple.c (gimple_call_arg_flags): Also imply EAF_NODIRECTESCAPE. - * tree-core.h (EAF_NODRECTESCAPE): New flag. - * tree-ssa-structalias.c (make_indirect_escape_constraint): New - function. - (handle_rhs_call): Hanlde EAF_NODIRECTESCAPE. - * ipa-modref.c (dump_eaf_flags): Print EAF_NODIRECTESCAPE. - (deref_flags): Dereference is always EAF_NODIRECTESCAPE. - (modref_lattice::init): Also set EAF_NODIRECTESCAPE. - (analyze_ssa_name_flags): Pure functions do not affect - EAF_NODIRECTESCAPE. - (analyze_params): Likewise. - (ipa_merge_modref_summary_after_inlining): Likewise. - (modref_merge_call_site_flags): Likewise. - -2020-11-25 Jan Hubicka - - * ipa-modref.c (modref_summaries::duplicate, - modref_summaries_lto::duplicate): Copy arg_flags. - (remap_arg_flags): Fix remapping of arg_flags. - -2020-11-25 Martin Sebor - - PR middle-end/97956 - * gimple-fold.c (gimple_fold_builtin_memchr): Use sizetype for pointer - offsets. - -2020-11-25 Matthew Malcomson - - * asan.c (asan_instrument_reads): New. - (asan_instrument_writes): New. - (asan_memintrin): New. - (handle_builtin_stack_restore): Account for HWASAN. - (handle_builtin_alloca): Account for HWASAN. - (get_mem_refs_of_builtin_call): Special case strlen for HWASAN. - (hwasan_instrument_reads): New. - (hwasan_instrument_writes): New. - (hwasan_memintrin): New. - (report_error_func): Assert not HWASAN. - (build_check_stmt): Make HWASAN_CHECK instead of ASAN_CHECK. - (instrument_derefs): HWASAN does not tag globals. - (instrument_builtin_call): Use new helper functions. - (maybe_instrument_call): Don't instrument `noreturn` functions. - (initialize_sanitizer_builtins): Add new type. - (asan_expand_mark_ifn): Account for HWASAN. - (asan_expand_check_ifn): Assert never called by HWASAN. - (asan_expand_poison_ifn): Account for HWASAN. - (asan_instrument): Branch based on whether using HWASAN or ASAN. - (pass_asan::gate): Return true if sanitizing HWASAN. - (pass_asan_O0::gate): Return true if sanitizing HWASAN. - (hwasan_check_func): New. - (hwasan_expand_check_ifn): New. - (hwasan_expand_mark_ifn): New. - (gate_hwasan): New. - * asan.h (hwasan_expand_check_ifn): New decl. - (hwasan_expand_mark_ifn): New decl. - (gate_hwasan): New decl. - (asan_intercepted_p): Always false for hwasan. - (asan_sanitize_use_after_scope): Account for HWASAN. - * builtin-types.def (BT_FN_PTR_CONST_PTR_UINT8): New. - * gimple-fold.c (gimple_build): New overload for building function - calls without arguments. - (gimple_build_round_up): New. - * gimple-fold.h (gimple_build): New decl. - (gimple_build): New inline function. - (gimple_build_round_up): New decl. - (gimple_build_round_up): New inline function. - * gimple-pretty-print.c (dump_gimple_call_args): Account for - HWASAN. - * gimplify.c (asan_poison_variable): Account for HWASAN. - (gimplify_function_tree): Remove requirement of - SANITIZE_ADDRESS, requiring asan or hwasan is accounted for in - `asan_sanitize_use_after_scope`. - * internal-fn.c (expand_HWASAN_CHECK): New. - (expand_HWASAN_ALLOCA_UNPOISON): New. - (expand_HWASAN_CHOOSE_TAG): New. - (expand_HWASAN_MARK): New. - (expand_HWASAN_SET_TAG): New. - * internal-fn.def (HWASAN_ALLOCA_UNPOISON): New. - (HWASAN_CHOOSE_TAG): New. - (HWASAN_CHECK): New. - (HWASAN_MARK): New. - (HWASAN_SET_TAG): New. - * sanitizer.def (BUILT_IN_HWASAN_LOAD1): New. - (BUILT_IN_HWASAN_LOAD2): New. - (BUILT_IN_HWASAN_LOAD4): New. - (BUILT_IN_HWASAN_LOAD8): New. - (BUILT_IN_HWASAN_LOAD16): New. - (BUILT_IN_HWASAN_LOADN): New. - (BUILT_IN_HWASAN_STORE1): New. - (BUILT_IN_HWASAN_STORE2): New. - (BUILT_IN_HWASAN_STORE4): New. - (BUILT_IN_HWASAN_STORE8): New. - (BUILT_IN_HWASAN_STORE16): New. - (BUILT_IN_HWASAN_STOREN): New. - (BUILT_IN_HWASAN_LOAD1_NOABORT): New. - (BUILT_IN_HWASAN_LOAD2_NOABORT): New. - (BUILT_IN_HWASAN_LOAD4_NOABORT): New. - (BUILT_IN_HWASAN_LOAD8_NOABORT): New. - (BUILT_IN_HWASAN_LOAD16_NOABORT): New. - (BUILT_IN_HWASAN_LOADN_NOABORT): New. - (BUILT_IN_HWASAN_STORE1_NOABORT): New. - (BUILT_IN_HWASAN_STORE2_NOABORT): New. - (BUILT_IN_HWASAN_STORE4_NOABORT): New. - (BUILT_IN_HWASAN_STORE8_NOABORT): New. - (BUILT_IN_HWASAN_STORE16_NOABORT): New. - (BUILT_IN_HWASAN_STOREN_NOABORT): New. - (BUILT_IN_HWASAN_TAG_MISMATCH4): New. - (BUILT_IN_HWASAN_HANDLE_LONGJMP): New. - (BUILT_IN_HWASAN_TAG_PTR): New. - * sanopt.c (sanopt_optimize_walker): Act for hwasan. - (pass_sanopt::execute): Act for hwasan. - * toplev.c (compile_file): Use `gate_hwasan` function. - -2020-11-25 Matthew Malcomson - - * asan.c (struct hwasan_stack_var): New. - (hwasan_sanitize_p): New. - (hwasan_sanitize_stack_p): New. - (hwasan_sanitize_allocas_p): New. - (initialize_sanitizer_builtins): Define new builtins. - (ATTR_NOTHROW_LIST): New macro. - (hwasan_current_frame_tag): New. - (hwasan_frame_base): New. - (stack_vars_base_reg_p): New. - (hwasan_maybe_init_frame_base_init): New. - (hwasan_record_stack_var): New. - (hwasan_get_frame_extent): New. - (hwasan_increment_frame_tag): New. - (hwasan_record_frame_init): New. - (hwasan_emit_prologue): New. - (hwasan_emit_untag_frame): New. - (hwasan_finish_file): New. - (hwasan_truncate_to_tag_size): New. - * asan.h (hwasan_record_frame_init): New declaration. - (hwasan_record_stack_var): New declaration. - (hwasan_emit_prologue): New declaration. - (hwasan_emit_untag_frame): New declaration. - (hwasan_get_frame_extent): New declaration. - (hwasan_maybe_enit_frame_base_init): New declaration. - (hwasan_frame_base): New declaration. - (stack_vars_base_reg_p): New declaration. - (hwasan_current_frame_tag): New declaration. - (hwasan_increment_frame_tag): New declaration. - (hwasan_truncate_to_tag_size): New declaration. - (hwasan_finish_file): New declaration. - (hwasan_sanitize_p): New declaration. - (hwasan_sanitize_stack_p): New declaration. - (hwasan_sanitize_allocas_p): New declaration. - (HWASAN_TAG_SIZE): New macro. - (HWASAN_TAG_GRANULE_SIZE): New macro. - (HWASAN_STACK_BACKGROUND): New macro. - * builtin-types.def (BT_FN_VOID_PTR_UINT8_PTRMODE): New. - * builtins.def (DEF_SANITIZER_BUILTIN): Enable for HWASAN. - * cfgexpand.c (align_local_variable): When using hwasan ensure - alignment to tag granule. - (align_frame_offset): New. - (expand_one_stack_var_at): For hwasan use tag offset. - (expand_stack_vars): Record stack objects for hwasan. - (expand_one_stack_var_1): Record stack objects for hwasan. - (init_vars_expansion): Initialise hwasan state. - (expand_used_vars): Emit hwasan prologue and generate hwasan epilogue. - (pass_expand::execute): Emit hwasan base initialization if needed. - * doc/tm.texi (TARGET_MEMTAG_TAG_SIZE,TARGET_MEMTAG_GRANULE_SIZE, - TARGET_MEMTAG_INSERT_RANDOM_TAG,TARGET_MEMTAG_ADD_TAG, - TARGET_MEMTAG_SET_TAG,TARGET_MEMTAG_EXTRACT_TAG, - TARGET_MEMTAG_UNTAGGED_POINTER): Document new hooks. - * doc/tm.texi.in (TARGET_MEMTAG_TAG_SIZE,TARGET_MEMTAG_GRANULE_SIZE, - TARGET_MEMTAG_INSERT_RANDOM_TAG,TARGET_MEMTAG_ADD_TAG, - TARGET_MEMTAG_SET_TAG,TARGET_MEMTAG_EXTRACT_TAG, - TARGET_MEMTAG_UNTAGGED_POINTER): Document new hooks. - * explow.c (get_dynamic_stack_base): Take new `base` argument. - * explow.h (get_dynamic_stack_base): Take new `base` argument. - * sanitizer.def (BUILT_IN_HWASAN_INIT): New. - (BUILT_IN_HWASAN_TAG_MEM): New. - * target.def (target_memtag_tag_size,target_memtag_granule_size, - target_memtag_insert_random_tag,target_memtag_add_tag, - target_memtag_set_tag,target_memtag_extract_tag, - target_memtag_untagged_pointer): New hooks. - * targhooks.c (HWASAN_SHIFT): New. - (HWASAN_SHIFT_RTX): New. - (default_memtag_tag_size): New default hook. - (default_memtag_granule_size): New default hook. - (default_memtag_insert_random_tag): New default hook. - (default_memtag_add_tag): New default hook. - (default_memtag_set_tag): New default hook. - (default_memtag_extract_tag): New default hook. - (default_memtag_untagged_pointer): New default hook. - * targhooks.h (default_memtag_tag_size): New default hook. - (default_memtag_granule_size): New default hook. - (default_memtag_insert_random_tag): New default hook. - (default_memtag_add_tag): New default hook. - (default_memtag_set_tag): New default hook. - (default_memtag_extract_tag): New default hook. - (default_memtag_untagged_pointer): New default hook. - * toplev.c (compile_file): Call hwasan_finish_file when finished. - -2020-11-25 Matthew Malcomson - - * common.opt (flag_sanitize_recover): Default for kernel - hwaddress. - (static-libhwasan): New cli option. - * config/aarch64/aarch64.c (aarch64_can_tag_addresses): New. - (TARGET_MEMTAG_CAN_TAG_ADDRESSES): New. - * config/gnu-user.h (LIBHWASAN_EARLY_SPEC): hwasan equivalent of - asan command line flags. - * cppbuiltin.c (define_builtin_macros_for_compilation_flags): - Add hwasan equivalent of __SANITIZE_ADDRESS__. - * doc/invoke.texi: Document hwasan command line flags. - * doc/tm.texi: Document new hook. - * doc/tm.texi.in: Document new hook. - * flag-types.h (enum sanitize_code): New sanitizer values. - * gcc.c (STATIC_LIBHWASAN_LIBS): New macro. - (LIBHWASAN_SPEC): New macro. - (LIBHWASAN_EARLY_SPEC): New macro. - (SANITIZER_EARLY_SPEC): Update to include hwasan. - (SANITIZER_SPEC): Update to include hwasan. - (sanitize_spec_function): Use hwasan options. - * opts.c (finish_options): Describe conflicts between address - sanitizers. - (find_sanitizer_argument): New. - (report_conflicting_sanitizer_options): New. - (sanitizer_opts): Introduce new sanitizer flags. - (common_handle_option): Add defaults for kernel sanitizer. - * params.opt (hwasan--instrument-stack): New - (hwasan-random-frame-tag): New - (hwasan-instrument-allocas): New - (hwasan-instrument-reads): New - (hwasan-instrument-writes): New - (hwasan-instrument-mem-intrinsics): New - * target.def (HOOK_PREFIX): Add new hook. - (can_tag_addresses): Add new hook under memtag prefix. - * targhooks.c (default_memtag_can_tag_addresses): New. - * targhooks.h (default_memtag_can_tag_addresses): New decl. - * toplev.c (process_options): Ensure hwasan only on - architectures that advertise the possibility. - -2020-11-25 Matthew Malcomson - - * doc/install.texi: Document new option. - -2020-11-25 Richard Sandiford - - * config/aarch64/aarch64.c (aarch64_maybe_expand_sve_subreg_move): - Do not optimize LRA subregs. - * config/aarch64/aarch64-sve.md - (@aarch64_pred_): Tie the input to the - output. - (@aarch64_sve_revbhw_): Likewise. - (*2): Likewise. - (@aarch64_pred_sxt): Likewise. - (*cnot): Likewise. - (@aarch64_pred_): Likewise. - (@aarch64_sve__nontrunc): - Likewise. - (@aarch64_sve__trunc): - Likewise. - (@aarch64_sve__nonextend): - Likewise. - (@aarch64_sve__extend): - Likewise. - (@aarch64_sve__trunc): - Likewise. - (@aarch64_sve__trunc): - Likewise. - (@aarch64_sve__nontrunc): - Likewise. - * config/aarch64/aarch64-sve2.md - (@aarch64_pred_): Likewise. - (@aarch64_pred_): Likewise. - (@aarch64_pred_): Likewise. - (@aarch64_pred_): Likewise. - -2020-11-25 Jakub Jelinek - - PR rtl-optimization/95862 - * internal-fn.c (get_min_precision): For narrowing conversion, recurse - on the operand and if the operand precision is smaller than the - current one, return that smaller precision. - (expand_mul_overflow): For s1 * u2 -> ur and s1 * s2 -> ur cases - if the sum of minimum precisions of both operands is smaller or equal - to the result precision, just perform normal multiplication and - set overflow to the sign bit of the multiplication result. For - u1 * u2 -> sr if both arguments have the MSB known zero, use - normal s1 * s2 -> sr expansion. - -2020-11-25 Jan Hubicka - - * cfg.c (free_block): New function. - (clear_edges): Rename to .... - (free_cfg): ... this one; also free BBs and vectors. - (expunge_block): Update comment. - * cfg.h (clear_edges): Rename to ... - (free_cfg): ... this one. - * cgraph.c (release_function_body): Use free_cfg. - -2020-11-25 Richard Biener - - PR middle-end/97579 - * gimple-isel.cc (gimple_expand_vec_cond_expr): Lower - VECTOR_BOOLEAN_TYPE_P, non-vector mode VEC_COND_EXPRs. - -2020-11-25 Jakub Jelinek - - PR middle-end/97943 - * gimple-fold.c (clear_padding_union, clear_padding_type): Error on and - ignore flexible array member fields. Ignore fields with - error_mark_node type. - -2020-11-24 Ulrich Weigand - - Revert: - 2020-11-24 Ulrich Weigand - - * doc/invoke.texi (-ffast-math): Remove mention of -fno-signaling-nans. - Clarify conditions when __FAST_MATH__ preprocessor macro is defined. - * opts.c (common_handle_option): Pass OPTS_SET to set_fast_math_flags - and set_unsafe_math_optimizations_flags. - (set_fast_math_flags): Add OPTS_SET argument, and use it to avoid - setting flags already explicitly set on the command line. In the !set - case, also reset x_flag_cx_limited_range and x_flag_excess_precision. - Never reset x_flag_signaling_nans or x_flag_rounding_math. - (set_unsafe_math_optimizations_flags): Add OPTS_SET argument, and use - it to avoid setting flags already explicitly set on the command line. - (fast_math_flags_set_p): Also test x_flag_cx_limited_range, - x_flag_associative_math, x_flag_reciprocal_math, and - x_flag_rounding_math. - -2020-11-24 Vladimir Makarov - - PR bootstrap/97933 - * lra.c (lra_process_new_insns): Stop on the first real insn after - head of e->dest. - -2020-11-24 Richard Earnshaw - - PR target/97534 - * config/arm/arm.c (arm_split_atomic_op): Use gen_int_mode when - negating a const_int. - -2020-11-24 Ilya Leoshkevich - - * config/s390/vector.md: Use vcond_comparison_operator - predicate. - -2020-11-24 Ulrich Weigand - - * doc/invoke.texi (-ffast-math): Remove mention of -fno-signaling-nans. - Clarify conditions when __FAST_MATH__ preprocessor macro is defined. - * opts.c (common_handle_option): Pass OPTS_SET to set_fast_math_flags - and set_unsafe_math_optimizations_flags. - (set_fast_math_flags): Add OPTS_SET argument, and use it to avoid - setting flags already explicitly set on the command line. In the !set - case, also reset x_flag_cx_limited_range and x_flag_excess_precision. - Never reset x_flag_signaling_nans or x_flag_rounding_math. - (set_unsafe_math_optimizations_flags): Add OPTS_SET argument, and use - it to avoid setting flags already explicitly set on the command line. - (fast_math_flags_set_p): Also test x_flag_cx_limited_range, - x_flag_associative_math, x_flag_reciprocal_math, and - x_flag_rounding_math. - -2020-11-24 Jakub Jelinek - - PR target/97950 - * config/i386/i386.md (*setcc_si_1_and): Macroize into... - (*setcc__1_and): New define_insn_and_split with SWI24 iterator. - (*setcc_si_1_movzbl): Macroize into... - (*setcc__1_movzbl): New define_insn_and_split with SWI24 - iterator. - -2020-11-24 Jakub Jelinek - - * gimple-fold.c (clear_padding_flush): If a word contains only 0 - or 0xff bytes of padding other than all set, all clear, all set - followed by all clear or all clear followed by all set, don't emit - a RMW operation on the whole word or parts of it, but instead - clear the individual bytes of padding. For paddings of one byte - size, don't use char[1] and {}, but instead just char and 0. - -2020-11-24 Thomas Schwinge - - * omp-expand.c (expand_oacc_for): More explicit checking of which - OMP constructs we're expecting. - -2020-11-24 Thomas Schwinge - - * doc/install.texi (Prerequisites) : Add comment. - -2020-11-24 Jakub Jelinek - - PR tree-optimization/96929 - * fold-const.c (wide_int_binop) : - Return false on negative second argument rather than trying to handle - it as shift in the other direction. - * tree-ssa-ccp.c (bit_value_binop) : Punt on negative shift count rather than trying - to handle it as shift in the other direction. - * match.pd (-1 >> x to -1): Remove tree_expr_nonnegative_p check. - -2020-11-24 Prathamesh Kulkarni - - PR tree-optimization/97849 - * tree-if-conv.c (tree_if_conversion): Move ssa_name - replacement code from ifcvt_local_dce to this function - before calling do_rpo_vn. - -2020-11-24 Martin Sebor - - * tree-cfg.c (dump_function_to_file): Print type attributes - and return type. - -2020-11-23 Martin Jambor - - * ipa-prop.h (ipa_pass_through_data): Expand comment describing - operation. - * ipa-prop.c (analyze_agg_content_value): Detect new special case and - encode it as ASSERT_EXPR. - * ipa-cp.c (values_equal_for_ipcp_p): Move before - ipa_get_jf_arith_result. - (ipa_get_jf_arith_result): Special case ASSERT_EXPR. - -2020-11-23 Jeff Law - - * config/h8300/h8300.c (h8300_rtx_costs): Handle the various - comparison rtx codes too. - -2020-11-23 Jan Hubicka - - * ipa-prop.c (build_agg_jump_func_from_list, - ipa_read_jump_function): Reserve agg.items precisely. - * ipa-prop.h (ipa_node_params::~ipa_node_params): Release descriptors - (ipa_edge_args::~ipa_edge_args): Release agg.items. - -2020-11-23 Jan Hubicka - - * lto-streamer-in.c (input_cfg): Do not init ssa operands. - (input_function): Do not init tree_ssa and set in_ssa_p. - (input_ssa_names): Do it here. - * tree-ssa.c (init_tree_ssa): Add additional SIZE parameter, default - to 0 - * tree-ssanames.c (init_ssanames): Do not round size up to 50, allocate - precisely. - * tree-ssa.h (init_tree_ssa): Update prototype. - -2020-11-23 Nathan Sidwell - - * diagnostic.c (diagnostic_report_current_module): Adjust for C++ - module importation. - -2020-11-23 Jozef Lawrynowicz - - * config/msp430/msp430.c (msp430_section_attr): Don't warn for "lower" - attribute used with "noinit" or "persistent" attributes. - (msp430_persist_attr): Remove. - (attr_lower_exclusions): Remove ATTR_PERSIST exclusion. - (attr_upper_exclusions): Likewise. - (attr_either_exclusions): Likewise. - (attr_persist_exclusions): Remove. - (msp430_attribute_table): Remove ATTR_PERSIST handling. - (msp430_handle_generic_attribute): Remove ATTR_PERSIST section conflict - handling. - (TARGET_ASM_INIT_SECTIONS): Remove. - (msp430_init_sections): Remove. - (msp430_select_section): Use default_elf_select_section for decls with - the "persistent" attribute. - (msp430_section_type_flags): Remove ".persistent" section handling. - * doc/extend.texi (MSP430 Variable Attributes): Remove "noinit" and - "persistent" documentation. - -2020-11-23 Richard Biener - - * tree-vect-slp.c (maybe_push_to_hybrid_worklist): Skip - debug stmts. - -2020-11-23 Jozef Lawrynowicz - - * doc/extend.texi (Common Variable Attributes): Document the - "persistent" variable attribute. - * doc/sourcebuild.texi (Effective-Target Keywords): Document - the "persistent" effective target keyword. - * tree.h (DECL_PERSISTENT_P): Define. - * varasm.c (bss_initializer_p): Return false for a - DECL_PERSISTENT_P decl initialized to zero. - (default_section_type_flags): Handle the ".persistent" section. - (default_elf_select_section): Likewise. - (default_unique_section): Likewise. - -2020-11-23 Jozef Lawrynowicz - - * tree.h (DECL_NOINIT_P): Define. - * varasm.c (DECL_NOINIT_P): Check DECL_NOINIT_P before using - unnamed bss/lcomm sections for bss_initializer variables. - (default_elf_select_section): Use DECL_NOINIT_P instead of - looking up attribute for .noinit section selection. - (default_unique_section): Check DECL_NOINIT_P for .noinit - section selection. - -2020-11-23 Matthew Malcomson - - * doc/install.texi: Document bootstrap-asan option. - -2020-11-22 Uroš Bizjak - - PR target/97873 - * config/i386/i386.md (abs2): Use SWI48DWI mode iterator. - (*abs2_doubleword): Use DWIH mode iterator. - (3): Use SWI48DWI mode iterator. - (*3_doubleword): Use DWIH mode iterator. - -2020-11-22 Austin Law - - * config/h8300/addsub.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 _clobber_flags patterns to match output of - the splitters. - (add3_incdec): Remove pattern - (adds/subs splitter): Only run before reload. - * config/h8300/bitfield.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 _clobber_flags patterns to match output - of the splitters. - (cstoreqi4, cstorehi4, cstoresi4): Comment out - (*bstzhireg, *cmpstz, *bstz, *bistz, *cmpcondset): Likewise - (*condbset, *cmpcondbclr, *condbclr): Likewise. - (*cmpcondbsetreg, *condbsetreg, *cmpcondbclrreg): Likewise. - (*condbclrreg): Likewise. - * config/h8300/combiner.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 _clobber_flags patterns to match output of - the splitters. Add appropriate CC register clobbers to - existing splitters. - (*addsi3_and_r_1): Disable for now. - (*addsi3_and_not_r_1, bit-test branches): Likewise. - * config/h8300/divmod.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 _clobber_flags patterns to match output of - the splitters. - * config/h8300/extensions.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 _clobber_flags patterns to match output of - the splitters. - * config/h8300/genmova.sh: Drop "cc" attribute from patterns. - * config/h8300/mova.md: Drop "cc" attribute from patterns. - * config/h8300/h8300-modes.def: Add CCZN and CCZNV modes. - * config/h8300/h8300-protos.h (output_plussi): Update prototype. - (compute_plussi_length): Likewise. - (h8300_select_cc_mode): Add prototype. - (compute_a_shift_cc): Remove prototype - (cmpute_logical_op_cc): Likewise. - * config/h8300/h8300.c (names_big): Add "cc" register. - (names_extended, names_upper_extended): Likewise. - (h8300_emit_stack_adjustment): Be more selective about setting - RTX_FRAME_RELATED_P. - (h8300_print_operand): Handle CCZN mode - (h8300_select_cc_mode): New function. - (notice_update_cc): if-0 out. Only kept for reference purposes. - (h8300_expand_store): Likewise. - (h8300_binary_length): Handle new insn forms. - (output_plussi): Add argument for NEED_FLAGS and handle that case. - (compute_plussi_length): Likewise. - (compute_logical_op_cc): Return integer. - (TARGET_FLAGS_REGNUM): Define. - * config/h8300/h8300.h (FIRST_PSEUDO_REGISTER): Bump for cc register. - (FIXED_REGISTERS, CALL_USED_REGISTERS): Handle cc register. - (REG_ALLOC_ORDER, REGISTER_NAMES): Likewise. - (SELECT_CC_MODE): Define. - * config/h8300/h8300.md: Add CC_REG. - Do not include peepholes.md for now. - * config/h8300/jumpcall.md (cbranchqi4): Consolidate into - cbranch4. - (cbranchhi4, cbranchsi4): Likewise. - (cbranch4): New expander. - (branch): New define_insn_and_split for use before reload. - (branch_1, branch_1_false): New patterns to match splitter output. - Remove code to manage cc_status.flags. - * config/h8300/logical.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 _clobber_flags patterns to match output of - the splitters. Move various peepholes into this file. - * config/h8300/movepush.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 _clobber_flags patterns to match output of - the splitters. - * config/h8300/multiply.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 _clobber_flags patterns to match output of - the splitters. - * config/h8300/other.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 _clobber_flags patterns to match output of - the splitters. - * config/h8300/peepholes.md: Remove peepholes that were moved - elsewhere. - * config/h8300/predicates.md (simple_memory_operand): New. - * config/h8300/proepi.md: Drop "cc" attribute setting. - * config/h8300/shiftrotate.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 _clobber_flags patterns to match output of - the splitters. - * config/h8300/testcompare.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 _clobber_flags patterns to match output of - the splitters. Disable various patterns for now. - Move some peepholes that were previously in peepholes.md here. - * config/h8300/save.md: New file. - -2020-11-22 Jakub Jelinek - - PR tree-optimization/95853 - * tree-ssa-math-opts.c (uaddsub_overflow_check_p): Add maxval - argument, if non-NULL, instead look for r > maxval or r <= maxval - comparisons. - (match_uaddsub_overflow): Pattern recognize even other forms of - __builtin_add_overflow, in particular when addition is performed - in a wider type and result compared to maximum of the narrower - type. - -2020-11-22 Jeff Law - - * config/h8300/jumpcall.md (branch_true, branch_false): Revert - recent change. Ensure operand[0] is always the target label. - -2020-11-22 Iain Sandoe - - * config/darwin-c.c (struct f_align_stack): Rename - to type from align_stack to f_align_stack. - (push_field_alignment): Likewise. - (pop_field_alignment): Likewise. - -2020-11-21 Marek Polacek - - PR c++/94695 - * doc/invoke.texi: Update the -Wrange-loop-construct description. - -2020-11-21 Jan Hubicka - - * tree-ssa-alias.c (ao_compare::compare_ao_refs, - ao_compare::hash_ao_ref): Use OEP_MATCH_SIDE_EFFECTS. - -2020-11-21 Jan Hubicka - - * ipa-icf.c (sem_function::equals_wpa): Do not compare ODR type with - -fno-devirtualize. - (sem_item_optimizer::update_hash_by_addr_refs): Hash anonymous ODR - types by TYPE_UID of their main variant. - -2020-11-21 Aaron Sawdey - - * config/rs6000/rs6000.c (rs6000_option_override_internal): - Enable vector pair memcpy/memmove expansion. - -2020-11-21 Aaron Sawdey - - * config/rs6000/mma.md (unspec): Add assemble/extract UNSPECs. - (movoi): Change to movoo. - (*movpoi): Change to *movoo. - (movxi): Change to movxo. - (*movpxi): Change to *movxo. - (mma_assemble_pair): Change to OO mode. - (*mma_assemble_pair): New define_insn_and_split. - (mma_disassemble_pair): New define_expand. - (*mma_disassemble_pair): New define_insn_and_split. - (mma_assemble_acc): Change to XO mode. - (*mma_assemble_acc): Change to XO mode. - (mma_disassemble_acc): New define_expand. - (*mma_disassemble_acc): New define_insn_and_split. - (mma_): Change to XO mode. - (mma_): Change to XO mode. - (mma_): Change to XO mode. - (mma_): Change to OO mode. - (mma_): Change to XO/OO mode. - (mma_): Change to XO mode. - (mma_): Change to XO mode. - (mma_): Change to XO mode. - (mma_): Change to XO mode. - (mma_): Change to XO mode. - (mma_): Change to XO mode. - (mma_): Change to XO/OO mode. - (mma_): Change to XO/OO mode. - (mma_): Change to XO mode. - (mma_): Change to XO mode. - * config/rs6000/predicates.md (input_operand): Allow opaque. - (mma_disassemble_output_operand): New predicate. - * config/rs6000/rs6000-builtin.def: - Changes to disassemble builtins. - * config/rs6000/rs6000-call.c (rs6000_return_in_memory): - Disallow __vector_pair/__vector_quad as return types. - (rs6000_promote_function_mode): Remove function return type - check because we can't test it here any more. - (rs6000_function_arg): Do not allow __vector_pair/__vector_quad - as as function arguments. - (rs6000_gimple_fold_mma_builtin): - Handle mma_disassemble_* builtins. - (rs6000_init_builtins): Create types for XO/OO modes. - * config/rs6000/rs6000-modes.def: DElete OI, XI, - POI, and PXI modes, and create XO and OO modes. - * config/rs6000/rs6000-string.c (expand_block_move): - Update to OO mode. - * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok_uncached): - Update for XO/OO modes. - (rs6000_rtx_costs): Make UNSPEC_MMA_XXSETACCZ cost 0. - (rs6000_modes_tieable_p): Update for XO/OO modes. - (rs6000_debug_reg_global): Update for XO/OO modes. - (rs6000_setup_reg_addr_masks): Update for XO/OO modes. - (rs6000_init_hard_regno_mode_ok): Update for XO/OO modes. - (reg_offset_addressing_ok_p): Update for XO/OO modes. - (rs6000_emit_move): Update for XO/OO modes. - (rs6000_preferred_reload_class): Update for XO/OO modes. - (rs6000_split_multireg_move): Update for XO/OO modes. - (rs6000_mangle_type): Update for opaque types. - (rs6000_invalid_conversion): Update for XO/OO modes. - * config/rs6000/rs6000.h (VECTOR_ALIGNMENT_P): - Update for XO/OO modes. - * config/rs6000/rs6000.md (RELOAD): Update for XO/OO modes. - -2020-11-21 Aaron Sawdey - - * typeclass.h: Add opaque_type_class. - * builtins.c (type_to_class): Identify opaque type class. - * dwarf2out.c (is_base_type): Handle opaque types. - (gen_type_die_with_usage): Handle opaque types. - * expr.c (count_type_elements): Opaque types should - never have initializers. - * ipa-devirt.c (odr_types_equivalent_p): No type-specific handling - for opaque types is needed as it eventually checks the underlying - mode which is what is important. - * tree-streamer.c (record_common_node): Handle opaque types. - * tree.c (type_contains_placeholder_1): Handle opaque types. - (type_cache_hasher::equal): No additional comparison needed for - opaque types. - -2020-11-20 Michael Meissner - - * config/rs6000/rs6000-call.c (rs6000_expand_builtin): Add missing - XSCMP* cases for IEEE 128-bit long double. - -2020-11-20 Jason Merrill - - PR c++/97918 - * dwarf2out.c (dwarf2out_early_finish): flush_limbo_die_list - after gen_scheduled_generic_parms_dies. - -2020-11-20 Martin Sebor - - PR middle-end/97879 - * tree-core.h (enum attribute_flags): Add ATTR_FLAG_INTERNAL. - -2020-11-20 Jan Hubicka - - * ipa-icf-gimple.c (func_checker::hash_operand): Improve hashing of - decls. - -2020-11-20 Jan Hubicka - - * ipa-icf-gimple.c (func_checker::compare_decl): Do not compare types - of local variables. - -2020-11-20 Nathan Sidwell - - * doc/invoke.texi: Replace a couple of @code with @command - -2020-11-20 Tamar Christina - - * tree-vect-slp.c (vectorizable_slp_permutation): Update types on nodes - when needed. - -2020-11-20 Richard Biener - - * tree-vect-slp.c (maybe_push_to_hybrid_worklist): New function. - (vect_detect_hybrid_slp): Use it. Perform a backward walk - over the IL. - -2020-11-20 Richard Biener - - * tree-vect-slp.c (vect_print_slp_tree): Also dump - SLP_TREE_REPRESENTATIVE. - -2020-11-20 Jakub Jelinek - - PR libstdc++/88101 - * builtins.def (BUILT_IN_CLEAR_PADDING): New built-in function. - * gimplify.c (gimplify_call_expr): Rewrite single argument - BUILT_IN_CLEAR_PADDING into two-argument variant. - * gimple-fold.c (clear_padding_unit, clear_padding_buf_size): New - const variables. - (struct clear_padding_struct): New type. - (clear_padding_flush, clear_padding_add_padding, - clear_padding_emit_loop, clear_padding_type, - clear_padding_union, clear_padding_real_needs_padding_p, - clear_padding_type_may_have_padding_p, - gimple_fold_builtin_clear_padding): New functions. - (gimple_fold_builtin): Handle BUILT_IN_CLEAR_PADDING. - * doc/extend.texi (__builtin_clear_padding): Document. - -2020-11-20 Jakub Jelinek - - PR target/97528 - * config/arm/arm.c (neon_vector_mem_operand): For POST_MODIFY, require - first POST_MODIFY operand is a REG and is equal to the first operand - of PLUS. - -2020-11-20 Eric Botcazou - - * gimple-ssa-store-merging.c (struct merged_store_group): Add - new 'consecutive' field. - (merged_store_group): Set it to true. - (do_merge): Set it to false if the store is not consecutive and - set string_concatenation to false in this case. - (merge_into): Call do_merge on entry. - (merge_overlapping): Likewise. - -2020-11-20 Jan Hubicka - - * ipa-icf-gimple.c (func_checker::operand_equal_p): Fix comment. - -2020-11-20 Jan Hubicka - - * ipa-icf-gimple.c (func_checker::hash_operand): Hash gimple clobber. - (func_checker::operand_equal_p): Special case gimple clobber. - -2020-11-20 Uroš Bizjak - - PR target/97873 - * config/i386/i386.md (*neg2_2): Rename from - "*neg2_cmpz". Use CCGOCmode instead of CCZmode. - (*negsi2_zext): Rename from *negsi2_cmpz_zext. - Use CCGOCmode instead of CCZmode. - (*neg_ccc_1): New insn pattern. - (*neg2_doubleword): Use *neg_ccc_1. - (abs2): Add FLAGS_REG clobber. - Use TARGET_CMOVE insn predicate. - (*abs2_1): New insn_and_split pattern. - (*absdi2_doubleword): Ditto. - (3): Use SWI48x mode iterator. - (*3): Use SWI48 mode iterator. - * config/i386/i386-features.c - (general_scalar_chain::compute_convert_gain): Handle ABS code. - (general_scalar_chain::convert_insn): Ditto. - (general_scalar_to_vector_candidate_p): Ditto. - -2020-11-20 Jakub Jelinek - - PR other/97911 - * configure.ac: In SERIAL_LIST use lang words without .serial - suffix. Change $lang.prev from a target to variable and instead - of depending on *.serial expand to the *.serial variable if - the word is in the SERIAL_LIST at all, otherwise to nothing. - * configure: Regenerated. - -2020-11-20 Kewen Lin - - * config/rs6000/rs6000.md (p8_mtvsrd_df): Fix insn type. - -2020-11-20 Martin Uecker - - * gimplify.c (gimplify_modify_expr_rhs): Optimizie - NOP_EXPRs that contain compound literals. - -2020-11-19 Jakub Jelinek - - PR tree-optimization/91029 - * range-op.cc (operator_trunc_mod::op1_range): Don't require signed - types, nor require that op2 >= 0. Implement (a % b) >= x && x > 0 - implies a >= x and (a % b) <= x && x < 0 implies a <= x. - (operator_trunc_mod::op2_range): New method. - -2020-11-19 Andrew MacLeod - - PR tree-optimization/93781 - * range-op.cc (get_shift_range): Rename from - undefined_shift_range_check and now return valid shift ranges. - (operator_lshift::fold_range): Use result from get_shift_range. - (operator_rshift::fold_range): Ditto. - -2020-11-19 Jan Hubicka - - * fold-const.c (operand_compare::operand_equal_p): Fix thinko in - COMPONENT_REF handling and guard types_same_for_odr by - virtual_method_call_p. - (operand_compare::hash_operand): Likewise. - -2020-11-19 Jakub Jelinek - - PR c/97860 - * tree.c (array_type_nelts): For complete arrays with zero min - and NULL max and zero size return -1. - -2020-11-19 Nathan Sidwell - - * configure.ac: Add tests for fstatat, sighandler_t, O_CLOEXEC, - unix-domain and ipv6 sockets. - * config.in: Rebuilt. - * configure: Rebuilt. - -2020-11-19 Dimitar Dimitrov - - * config/pru/alu-zext.md: Add lmbd patterns for zero_extend - variants. - * config/pru/pru.c (enum pru_builtin): Add HALT and LMBD. - (pru_init_builtins): Ditto. - (pru_builtin_decl): Ditto. - (pru_expand_builtin): Ditto. - * config/pru/pru.h (CLZ_DEFINED_VALUE_AT_ZERO): Define PRU - value for CLZ with zero value parameter. - * config/pru/pru.md: Add halt, lmbd and clz patterns. - * doc/extend.texi: Document PRU builtins. - -2020-11-19 Richard Sandiford - - * doc/invoke.texi (-fvect-cost-model): Add a very-cheap model. - * common.opt (fvect-cost-model=): Add very-cheap as a possible option. - (fsimd-cost-model=): Likewise. - (vect_cost_model): Add very-cheap. - * flag-types.h (vect_cost_model): Add VECT_COST_MODEL_VERY_CHEAP. - Put the values in order of increasing aggressiveness. - * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Use - range checks when comparing against VECT_COST_MODEL_CHEAP. - (vect_prune_runtime_alias_test_list): Do not allow any alias - checks for the very-cheap cost model. - * tree-vect-loop.c (vect_analyze_loop_costing): Do not allow - any peeling for the very-cheap cost model. Also require one - iteration of the vector loop to pay for itself. - -2020-11-19 Wilco Dijkstra - - * config/aarch64/aarch64.c (neoversen1_tunings): Use new - cortexa76_extra_costs. - (neoversev1_tunings): Likewise. - (neoversen2_tunines): Likewise. - * config/arm/aarch-cost-tables.h (cortexa76_extra_costs): - add new costs. - -2020-11-19 Wilco Dijkstra - - * config/aarch64/aarch64.c (aarch64_expand_cpymem): Cleanup code and - comments, tweak expansion decisions and improve tail expansion. - -2020-11-19 Richard Biener - - * fold-const.c (operand_compare::hash_operand): Fix typo. - -2020-11-19 Richard Biener - - * tree-ssa-reassoc.c (get_rank): Refactor to consistently - use the cache and dump ranks assigned. - -2020-11-19 Jan Hubicka - - * fold-const.c (operand_compare::operand_equal_p): More OBJ_TYPE_REF - matching to correct place; drop OEP_ADDRESS_OF for TOKEN, OBJECT and - class. - (operand_compare::hash_operand): Hash ODR type for OBJ_TYPE_REF. - -2020-11-19 Joel Hutton - - * config/aarch64/aarch64-simd.md: Add vec_widen_lshift_hi/lo - patterns. - * tree-vect-stmts.c (vectorizable_conversion): Fix for widen_lshift - case. - -2020-11-19 Joel Hutton - - * doc/generic.texi: Document new widen_plus/minus_lo/hi tree codes. - * doc/md.texi: Document new widenening add/subtract hi/lo optabs. - * expr.c (expand_expr_real_2): Add widen_add, widen_subtract cases. - * optabs-tree.c (optab_for_tree_code): Add case for widening optabs. - * optabs.def (OPTAB_D): Define vectorized widen add, subtracts. - * tree-cfg.c (verify_gimple_assign_binary): Add case for widening adds, - subtracts. - * tree-inline.c (estimate_operator_cost): Add case for widening adds, - subtracts. - * tree-vect-generic.c (expand_vector_operations_1): Add case for - widening adds, subtracts - * tree-vect-patterns.c (vect_recog_widen_add_pattern): New recog - pattern. - (vect_recog_widen_sub_pattern): New recog pattern. - (vect_recog_average_pattern): Update widened add code. - (vect_recog_average_pattern): Update widened add code. - * tree-vect-stmts.c (vectorizable_conversion): Add case for widened add, - subtract. - (supportable_widening_operation): Add case for widened add, subtract. - * tree.def - (WIDEN_PLUS_EXPR): New tree code. - (WIDEN_MINUS_EXPR): New tree code. - (VEC_WIDEN_ADD_HI_EXPR): New tree code. - (VEC_WIDEN_PLUS_LO_EXPR): New tree code. - (VEC_WIDEN_MINUS_HI_EXPR): New tree code. - (VEC_WIDEN_MINUS_LO_EXPR): New tree code. - -2020-11-19 Joel Hutton - - * config/aarch64/aarch64-simd.md: New patterns - vec_widen_saddl_lo/hi_. - -2020-11-19 Richard Biener - - PR tree-optimization/97901 - * tree-ssa-propagate.c (clean_up_loop_closed_phi): Compute - dominators and use replace_uses_by. - -2020-11-19 Eric Botcazou - - * dwarf2out.h (struct fixed_point_type_info) : Turn - numerator and denominator into a tree. - * dwarf2out.c (base_type_die): In the case of a fixed-point type - with arbitrary scale factor, call add_scalar_info on numerator and - denominator to emit the appropriate attributes. - -2020-11-19 Richard Biener - - PR tree-optimization/97897 - * tree-complex.c (complex_propagate::visit_stmt): Make sure - abnormally used SSA names are VARYING. - (complex_propagate::visit_phi): Likewise. - * tree-ssa.c (verify_phi_args): Verify PHI arguments on abnormal - edges are SSA names. - -2020-11-19 Uroš Bizjak - - * config/i386/i386.md (*2_i387_1): - Disable for TARGET_SSE_MATH modes. - -2020-11-19 Jeff Law - - * config/h8300/constraints.md (R constraint): Add argument to call - to h8300_shift_needs_scratch_p. - (S and T constraints): Similary. - * config/h8300/h8300-protos.h: Update h8300_shift_needs_scratch_p - prototype. - * config/h8300/h8300.c (expand_a_shift): Emit a different pattern - if the shift does not require a scratch register. - (h8300_shift_needs_scratch_p): Refine to be more accurate. - * config/h8300/shiftrotate.md (shiftqi_noscratch): New pattern. - (shifthi_noscratch, shiftsi_noscratch): Similarly. - -2020-11-18 Roger Sayle - - PR middle-end/85811 - * fold-const.c (tree_expr_finite_p): New function to test whether - a tree expression must be finite, i.e. not a FP NaN or infinity. - (tree_expr_infinite_p): New function to test whether a tree - expression must be infinite, i.e. a FP infinity. - (tree_expr_maybe_infinite_p): New function to test whether a tree - expression may be infinite, i.e. a FP infinity. - (tree_expr_signaling_nan_p): New function to test whether a tree - expression must evaluate to a signaling NaN (sNaN). - (tree_expr_maybe_signaling_nan_p): New function to test whether a - tree expression may be a signaling NaN (sNaN). - (tree_expr_nan_p): New function to test whether a tree expression - must evaluate to a (quiet or signaling) NaN. - (tree_expr_maybe_nan_p): New function to test whether a tree - expression me be a (quiet or signaling) NaN. - (tree_binary_nonnegative_warnv_p) [MAX_EXPR]: In the presence - of NaNs, MAX_EXPR is only guaranteed to be non-negative, if both - operands are non-negative. - (tree_call_nonnegative_warnv_p) [CASE_CFN_FMAX,CASE_CFN_FMAX_FN]: - In the presence of signaling NaNs, fmax is only guaranteed to be - non-negative if both operands are negative. In the presence of - quiet NaNs, fmax is non-negative if either operand is non-negative - and not a qNaN, or both operands are non-negative. - * fold-const.h (tree_expr_finite_p, tree_expr_infinite_p, - tree_expr_maybe_infinite_p, tree_expr_signaling_nan_p, - tree_expr_maybe_signaling_nan_p, tree_expr_nan_p, - tree_expr_maybe_nan_p): Prototype new functions here. - * builtins.c (fold_builtin_classify) [BUILT_IN_ISINF]: Fold to - a constant if argument is known to be (or not to be) an Infinity. - [BUILT_IN_ISFINITE]: Fold to a constant if argument is known to - be (or not to be) finite. - [BUILT_IN_ISNAN]: Fold to a constant if argument is known to be - (or not to be) a NaN. - (fold_builtin_fpclassify): Check tree_expr_maybe_infinite_p and - tree_expr_maybe_nan_p instead of HONOR_INFINITIES and HONOR_NANS - respectively. - (fold_builtin_unordered_cmp): Fold UNORDERED_EXPR to a constant - when its arguments are known to be (or not be) NaNs. Check - tree_expr_maybe_nan_p instead of HONOR_NANS when choosing between - unordered and regular forms of comparison operators. - * match.pd (ordered(x,y)->true/false): Constant fold ORDERED_EXPR - if its operands are known to be (or not to be) NaNs. - (unordered(x,y)->true/false): Constant fold UNORDERED_EXPR if its - operands are known to be (or not to be) NaNs. - (sqrt(x)*sqrt(x)->x): Check tree_expr_maybe_signaling_nan_p instead - of HONOR_SNANS. - -2020-11-18 Jakub Jelinek - - PR tree-optimization/91029 - PR tree-optimization/97888 - * range-op.cc (operator_trunc_mod::op1_range): Only set op1 - range to >= 0 if lhs is > 0, rather than >= 0. Fix up comments. - -2020-11-18 Jakub Jelinek - - * opts.h (struct cl_var): New type. - (cl_vars): Declare. - * optc-gen.awk: Generate cl_vars array. - -2020-11-18 Eugene Rozenfeld - - PR tree-optimization/96671 - * match.pd (three xor patterns): New patterns. - -2020-11-18 Jakub Jelinek - - * optc-save-gen.awk: Initialize var_opt_init. In - cl_optimization_stream_out for params with default values larger than - 10, xor the default value with the actual parameter value. In - cl_optimization_stream_in repeat the above xor. - -2020-11-18 Jakub Jelinek - - * configure.ac: Add $lang.prev rules, INDEX.$lang and SERIAL_LIST and - SERIAL_COUNT variables to Make-hooks. - (--enable-link-serialization): New configure option. - * Makefile.in (DO_LINK_SERIALIZATION, LINK_PROGRESS): New variables. - * doc/install.texi (--enable-link-serialization): Document. - * configure: Regenerated. - -2020-11-18 Vladimir Makarov - - PR target/97870 - * lra-constraints.c (curr_insn_transform): Do not delete asm goto - with wrong constraints. Nullify it saving CFG. - -2020-11-18 Jozef Lawrynowicz - - * config/msp430/msp430.md (mulhi3): New. - (mulsi3): New. - (mulsidi3): Rename to *mulsidi3_inline. - (umulsidi3): Rename to *umulsidi3_inline. - (mulsidi3): New define_expand. - (umulsidi3): New define_expand. - -2020-11-18 Richard Biener - - PR tree-optimization/97886 - * tree-vect-loop.c (vectorizable_lc_phi): Properly assign - vector types to invariants for SLP. - -2020-11-18 Iain Buclaw - - * config.gcc (*-*-dragonfly*): Add dragonfly-d.o and t-dragonfly. - * config/dragonfly-d.c: New file. - * config/t-dragonfly: New file. - -2020-11-18 Jakub Jelinek - - PR middle-end/97862 - * omp-expand.c (expand_omp_for_init_vars): Don't use the sqrt path - if number of iterations is constant 0. - -2020-11-18 Kito Cheng - - * common/config/riscv/riscv-common.c (riscv_ext_version): New. - (riscv_ext_version_table): Ditto. - (get_default_version): Ditto. - (riscv_subset_t::implied_p): New field. - (riscv_subset_t::riscv_subset_t): Init implied_p. - (riscv_subset_list::add): New. - (riscv_subset_list::handle_implied_ext): Pass riscv_subset_t - instead of separated argument. - (riscv_subset_list::to_string): Handle zifencei and zicsr, and - omit version if version is unknown. - (riscv_subset_list::parsing_subset_version): New argument `ext`, - remove default_major_version and default_minor_version, get - default version info via get_default_version. - (riscv_subset_list::parse_std_ext): Update argument for - parsing_subset_version calls. - Handle 2.2 ISA spec, always enable zicsr and zifencei, they are - included in baseline ISA in that time. - (riscv_subset_list::parse_multiletter_ext): Update argument for - `parsing_subset_version` and `add` calls. - (riscv_subset_list::parse): Adjust argument for - riscv_subset_list::handle_implied_ext call. - * config.gcc (riscv*-*-*): Handle --with-isa-spec=. - * config.in (HAVE_AS_MISA_SPEC): New. - (HAVE_AS_MARCH_ZIFENCEI): Ditto. - * config/riscv/riscv-opts.h (riscv_isa_spec_class): New. - (riscv_isa_spec): Ditto. - * config/riscv/riscv.h (HAVE_AS_MISA_SPEC): New. - (ASM_SPEC): Pass -misa-spec if gas supported. - * config/riscv/riscv.opt (riscv_isa_spec_class) New. - * configure.ac (HAVE_AS_MARCH_ZIFENCEI): New test. - (HAVE_AS_MISA_SPEC): Ditto. - * configure: Regen. - -2020-11-18 Kito Cheng - - * common/config/riscv/riscv-common.c (riscv_implied_info): - d and f implied zicsr. - (riscv_ext_flag_table): Handle zicsr and zifencei. - * config/riscv/riscv-opts.h (MASK_ZICSR): New. - (MASK_ZIFENCEI): Ditto. - (TARGET_ZICSR): Ditto. - (TARGET_ZIFENCEI): Ditto. - * config/riscv/riscv.md (clear_cache): Check TARGET_ZIFENCEI. - (fence_i): Ditto. - * config/riscv/riscv.opt (riscv_zi_subext): New. - -2020-11-18 Kito Cheng - - * common/config/riscv/riscv-common.c (single_letter_subset_rank): New. - (multi_letter_subset_rank): Ditto. - (subset_cmp): Ditto. - (riscv_subset_list::add): Insert subext in canonical ordering. - (riscv_subset_list::parse_std_ext): Move handle_implied_ext to ... - (riscv_subset_list::parse): ... here. - -2020-11-18 Jiufu Guo - - * cfgloop.h (loop_optimizer_finalize): Add flag argument. - * loop-init.c (loop_optimizer_finalize): Call clean_up_loop_closed_phi. - * tree-cfgcleanup.h (clean_up_loop_closed_phi): New declare. - * tree-ssa-loop.c (tree_ssa_loop_done): Call loop_optimizer_finalize - with flag argument. - * tree-ssa-propagate.c (clean_up_loop_closed_phi): New function. - -2020-11-17 Sebastian Pop - - * config.gcc: add configure flags --with-{cpu,arch,tune}-{32,64} - as alias flags for --with-{cpu,arch,tune} on AArch64. - * doc/install.texi: Document new flags for aarch64. - -2020-11-17 Sebastian Pop - - * config.gcc: Add --with-tune to AArch64 configure flags. - -2020-11-17 Andrew MacLeod - - PR tree-optimization/91029 - * range-op.cc (operator_trunc_mod::op1_range): New. - -2020-11-17 Jan Hubicka - - * ipa-icf.c (sem_function::hash_stmt): Fix conditional on - variably_modified_type_p. - -2020-11-17 Nathan Sidwell - - * tree.h (cache_integer_cst): Add defaulted might_duplicate parm. - * tree.c (cache_integer_cst): Return the integer cst, add - might_duplicate parm to permit finding a small duplicate. - -2020-11-17 Andrew MacLeod - - PR tree-optimization/83072 - * range-op.cc (wi_optimize_and_or): Remove zero from IOR range when - mask is non-zero. - -2020-11-17 Joseph Myers - - * ginclude/float.h (CR_DECIMAL_DIG): Also define for - [__STDC_WANT_IEC_60559_EXT__]. - -2020-11-17 Joseph Myers - - * ginclude/float.h [__STDC_VERSION__ > 201710L] (FLT_IS_IEC_60559, - DBL_IS_IEC_60559, LDBL_IS_IEC_60559): New macros. - -2020-11-17 Aaron Sawdey - - PR target/96791 - * mode-classes.def: Add MODE_OPAQUE. - * machmode.def: Add OPAQUE_MODE. - * tree.def: Add OPAQUE_TYPE for types that will use - MODE_OPAQUE. - * doc/generic.texi: Document OPAQUE_TYPE. - * doc/rtl.texi: Document MODE_OPAQUE. - * machmode.h: Add OPAQUE_MODE_P(). - * genmodes.c (complete_mode): Add MODE_OPAQUE. - (opaque_mode): New function. - * tree.c (tree_code_size): Add OPAQUE_TYPE. - * tree.h: Add OPAQUE_TYPE_P(). - * stor-layout.c (int_mode_for_mode): Treat MODE_OPAQUE modes - like BLKmode. - * ira.c (find_moveable_pseudos): Treat MODE_OPAQUE modes more - like integer/float modes here. - * dbxout.c (dbxout_type): Treat OPAQUE_TYPE like VOID_TYPE. - * tree-pretty-print.c (dump_generic_node): Treat OPAQUE_TYPE - like like other types. - -2020-11-17 Jan Hubicka - Martin Liska - - * ipa-icf.c: Include data-streamer.h and alias.h. - (sem_function::sem_function): Initialize memory_access_types - and m_alias_sets_hash. - (sem_function::hash_stmt): For memory accesses and when going to - do lto streaming add base and ref types into memory_access_types. - (sem_item_optimizer::write_summary): Stream memory access types. - (sem_item_optimizer::read_section): Likewise and also iniitalize - m_alias_sets_hash. - (sem_item_optimizer::execute): Call - sem_item_optimizer::update_hash_by_memory_access_type. - (sem_item_optimizer::update_hash_by_memory_access_type): Updat. - * ipa-icf.h (sem_function): Add memory_access_types and - m_alias_sets_hash. - -2020-11-17 Jan Hubicka - - PR bootstrap/97857 - * ipa-devirt.c (odr_based_tbaa_p): Do not ICE when - odr_hash is not initialized - * ipa-utils.h (type_with_linkage_p): Do not sanity check - CXX_ODR_P. - * tree-streamer-out.c (pack_ts_type_common_value_fields): Set - CXX_ODR_P according to the canonical type. - -2020-11-17 Nathan Sidwell - - * langhooks-def.h (LANG_HOOKS_PREPROCESS_MAIN_FILE) - (LANG_HOOKS_PREPROCESS_OPTIONS, LANG_HOOKS_PREPROCESS_UNDEF) - (LANG_HOOKS_PREPROCESS_TOKEN): New. - (LANG_HOOKS_INITIALIZER): Add them. - * langhooks.h (struct lang_hooks): Add preprocess_main_file, - preprocess_options, preprocess_undef, preprocess_token hooks. Add - enum PT_flags. - -2020-11-17 Richard Sandiford - - PR tree-optimization/97693 - * tree-vect-stmts.c (vectorizable_call): Pass the required vectype - to vect_get_vec_defs_for_operand. - -2020-11-17 Liu Hao - - * config/i386/msformat-c.c: Add more length modifiers. - -2020-11-17 Tamar Christina - - PR driver/97574 - * gcc.c (convert_filename): Don't add suffix to things that are - not files. - (not_actual_file_p): Use supplied argument. - -2020-11-17 Haochen Gui - - * final.c (final_scan_insn_1): Set jump table relocatable as the - second argument of targetm.asm_out.function_rodata_section. - * output.h (default_function_rodata_section, - default_no_function_rodata_section): Add the second argument to the - declarations. - * target.def (function_rodata_section): Change the doc and add - the second argument. - * doc/tm.texi: Regenerate. - * varasm.c (jumptable_relocatable): Implement. - (default_function_rodata_section): Add the second argument - and the support for relocatable read only sections. - (default_no_function_rodata_section): Add the second argument. - (function_mergeable_rodata_prefix): Set the second argument to false. - * config/mips/mips.c (mips_function_rodata_section): Add the second - arugment and set it to false. - * config/s390/s390.c (targetm.asm_out.function_rodata_section): Set - the second argument to false. - * config/s390/s390.md: Likewise. - -2020-11-17 liuhongt - - PR target/97194 - * config/i386/i386-expand.c (ix86_expand_vector_set_var): New function. - * config/i386/i386-protos.h (ix86_expand_vector_set_var): New Decl. - * config/i386/predicates.md (vec_setm_operand): New predicate, - true for const_int_operand or register_operand under TARGET_AVX2. - * config/i386/sse.md (vec_set): Support both constant - and variable index vec_set. - -2020-11-17 Martin Sebor - - * tree-ssa-uninit.c (maybe_warn_operand): Call is_empty_type. - * tree.c (default_is_empty_type): Rename... - (is_empty_type): ...to this. - * tree.h (is_empty_type): Declare. - -2020-11-17 Martin Sebor - - PR middle-end/95673 - * tree-ssa-strlen.c (used_only_for_zero_equality): Rename... - (use_in_zero_equality): ...to this. Add a default argument. - (handle_builtin_memcmp): Adjust to the name change above. - (handle_builtin_string_cmp): Same. - (maybe_warn_pointless_strcmp): Same. Pass in an explicit argument. - -2020-11-17 Joseph Myers - - * ginclude/float.h (DEC32_SNAN, DEC64_SNAN, DEC128_SNAN): New C2x - macros. - -2020-11-17 Joseph Myers - - * ginclude/float.h (INFINITY, NAN, FLT_SNAN, DBL_SNAN, LDBL_SNAN) - (FLT16_SNAN, FLT32_SNAN, FLT64_SNAN, FLT128_SNAN, FLT32X_SNAN) - (FLT64X_SNAN, FLT128X_SNAN, DEC_INFINITY, DEC_NAN): New C2x - macros. - * doc/sourcebuild.texi (Effective-Target Keywords): Document inff. - -2020-11-17 Armin Brauns via Gcc-patches - - * gcc.c: Document %T spec file directive. - * doc/invoke.texi: Remove %p, %P spec file directives. - Add %M, %R, %V, %nSTR, %>S, % - - PR rtl-optimization/92180 - * config/i386/i386.c (ix86_hardreg_mov_ok): New function to - determine whether (set DST SRC) should be allowed at this point. - * config/i386/i386-protos.h (ix86_hardreg_mov_ok): Prototype here. - * config/i386/i386-expand.c (ix86_expand_move): Check whether - this is a complex set of a likely spilled hard register, and if - so place the value in a pseudo, and load the hard reg from it. - * config/i386/i386.md (*movdi_internal, *movsi_internal) - (*movhi_internal, *movqi_internal): Make these instructions - conditional on ix86_hardreg_mov_ok. - (*lea): Make this define_insn_and_split conditional on - ix86_hardreg_mov_ok. - -2020-11-16 Martin Liska - - * params.opt: Add missing dot. - -2020-11-16 Jan Hubicka - - * ipa-modref.c (escape_point): New type. - (modref_lattice): New type. - (escape_entry): New type. - (escape_summary): New type. - (escape_summaries_t): New type. - (escape_summaries): New static variable. - (eaf_flags_useful_p): New function. - (modref_summary::useful_p): Add new check_flags - attribute; check eaf_flags for usefulness. - (modref_summary_lto): Add arg_flags. - (modref_summary_lto::useful_p): Add new check_flags - attribute; check eaf_flags for usefulness. - (dump_modref_edge_summaries): New function. - (remove_modref_edge_summaries): New function. - (ignore_retval_p): New predicate. - (ignore_stores_p): Also ignore for const. - (remove_summary): Call remove_modref_edge_summaries. - (modref_lattice::init): New member function. - (modref_lattice::release): New member unction. - (modref_lattice::dump): New member function. - (modref_lattice::add_escape_point): New member function. - (modref_lattice::merge): Two new member functions. - (modref_lattice::merge_deref): New member functions. - (modref_lattice::merge_direct_load): New member function. - (modref_lattice::merge_direct_store): New member function. - (call_lhs_flags): Rename to ... - (merge_call_lhs_flags): ... this one; reimplement using - modreflattice. - (analyze_ssa_name_flags): Replace KNOWN_FLAGS param by LATTICE; - add IPA parametr; use modref_lattice. - (analyze_parms): New parameter IPA and SUMMARY_LTO; update for - modref_lattice; initialize escape_summary. - (analyze_function): Allocate escape_summaries; update uses of useful_p. - (modref_write_escape_summary): New function. - (modref_read_escape_summary): New function. - (modref_write): Write escape summary. - (read_section): Read escape summary. - (modref_read): Initialie escape_summaries. - (remap_arg_flags): New function. - (update_signature): Use it. - (escape_map): New structure. - (update_escape_summary_1, update_escape_summary): New functions. - (ipa_merge_modref_summary_after_inlining): Merge escape summaries. - (propagate_unknown_call): Do not remove useless summaries. - (remove_useless_summaries): Remove them here. - (modref_propagate_in_scc): Update; do not dump scc. - (modref_propagate_dump_scc): New function. - (modref_merge_call_site_flags): New function. - (modref_propagate_flags_in_scc): New function. - (pass_ipa_modref::execute): Use modref_propagate_flags_in_scc - and modref_propagate_dump_scc; delete escape_summaries. - (ipa_modref_c_finalize): Remove escape_summaries. - * ipa-modref.h (modref_summary): Update prototype of useful_p. - * params.opt (param=modref-max-escape-points): New param. - * doc/invoke.texi (modref-max-escape-points): Document. - -2020-11-16 Jan Hubicka - - PR middle-end/97840 - * ipa-modref.c (analyze_ssa_name_flags): Skip clobbers if inlining - is done. - * tree-ssa-uninit.c (maybe_warn_pass_by_reference): Make stmt gcall; - skip const calls and unused arguments. - (warn_uninitialized_vars): Update prototype. - -2020-11-16 Richard Biener - - * tree-vectorizer.h (vect_gather_slp_loads): Declare. - * tree-vect-loop.c (vect_analyze_loop_2): Call - vect_gather_slp_loads. - * tree-vect-slp.c (vect_build_slp_instance): Do not gather - SLP loads here. - (vect_gather_slp_loads): Remove wrapper, new function. - (vect_slp_analyze_bb_1): Call it. - -2020-11-16 Richard Biener - - * tree-ssa-loop-im.c (analyze_memory_references): Add - store_motion parameter and elide unnecessary work. - (tree_ssa_lim_initialize): Likewise. - (loop_invariant_motion_in_fun): Pass down store_motion. - -2020-11-16 Martin Liska - - * params.opt: All modref parameters miss Optimization and Param - keyword as seen in testsuite failure. - -2020-11-16 Jan Hubicka - - * params.opt (-param=modref-max-depth=): Add missing full stop. - -2020-11-16 Sebastian Huber - - * common.opt (fprofile-info-section): New. - * coverage.c (build_gcov_info_var_registration): New. - (coverage_obj_init): Evaluate profile_info_section and use - build_gcov_info_var_registration(). - * doc/invoke.texi (fprofile-info-section): Document. - * opts.c (common_handle_option): Process fprofile-info-section - option. - -2020-11-16 Richard Biener - - PR tree-optimization/97838 - * tree-vect-slp.c (vect_slp_build_vertices): Properly handle - not backwards reachable cycles. - (vect_optimize_slp): Check a node is leaf before marking it - visited. - -2020-11-16 Martin Liska - - PR tree-optimization/97736 - * tree-switch-conversion.c (switch_decision_tree::analyze_switch_statement): - Prefer bit tests. - -2020-11-16 Richard Biener - - PR tree-optimization/97835 - * tree-vect-loop.c (vectorizable_induction): Convert step - scalars rather than step vector. - -2020-11-16 Richard Biener - - PR tree-optimization/97830 - * tree-ssa-sccvn.c (vn_reference_eq): Check for incomplete - types before comparing TYPE_SIZE. - -2020-11-16 Cui,Lili - - * config/i386/i386.h: Add PREFETCHW to march=broadwell. - * doc/invoke.texi: Put PREFETCHW back to relation arch. - -2020-11-15 Jozef Lawrynowicz - - * config/msp430/msp430.c (msp430_output_labelref): Don't process mspabi - hwmult library function names into GCC-style names. - -2020-11-15 Jozef Lawrynowicz - - * config/msp430/msp430.c (msp430_use_16bit_hwmult): New. - (use_32bit_hwmult): Rename to.. - (msp430_use_32bit_hwmult): ..this. - (msp430_muldiv_costs): Use msp430_use_16bit_hwmult and - msp430_use_32bit_hwmult. - (msp430_expand_helper): Use msp430_use_16bit_hwmult and - msp430_use_32bit_hwmult. - (msp430_output_labelref): Use msp430_use_32bit_hwmult. - -2020-11-15 Maciej W. Rozycki - - * config/vax/vax.c (vax_rtx_costs): Use `rtx_code' rather than - `int' for `code'. - -2020-11-15 Maciej W. Rozycki - - * config/vax/vax.c (vax_output_int_add) : Fix a typo - in NO_EXTERNAL_INDIRECT_ADDRESS. - -2020-11-15 Maciej W. Rozycki - - * config/vax/vax.c (vax_output_int_add) : Also check - `operands[2]' for being symbolic with PIC rather than checking - `operands[1]' twice. - -2020-11-15 Aldy Hernandez - - * vr-values.c (vr_values::extract_range_builtin): Rename to... - (vr_values::extract_range_from_ubsan_builtin): ...this. - Remove everything but UBSAN code. - (vr_values::extract_range_basic): Call ranger version for - everything except UBSAN built-ins. - * vr-values.h (class vr_values): Rename extract_range_builtin to - extract_range_from_ubsan_builtin. - -2020-11-15 Vladimir N. Makarov - - * lra.c (lra_process_new_insns): Don't put reload insns in the - last empty BB. - -2020-11-15 Jan Hubicka - - * ipa-modref.c (analyze_ssa_name_flags): Make return to clear - EAF_UNUSED flag. - -2020-11-14 Jan Hubicka - - * gimple.c: Include ipa-modref-tree.h and ipa-modref.h. - (gimple_call_arg_flags): Use modref to determine flags. - * ipa-modref.c: Include gimple-ssa.h, tree-phinodes.h, - tree-ssa-operands.h, stringpool.h and tree-ssanames.h. - (analyze_ssa_name_flags): Declare. - (modref_summary::useful_p): Summary is also useful if arg flags are - known. - (dump_eaf_flags): New function. - (modref_summary::dump): Use it. - (get_modref_function_summary): Be read for current_function_decl - being NULL. - (memory_access_to): New function. - (deref_flags): New function. - (call_lhs_flags): New function. - (analyze_parms): New function. - (analyze_function): Use it. - * ipa-modref.h (struct modref_summary): Add arg_flags. - * doc/invoke.texi (ipa-modref-max-depth): Document. - * params.opt (ipa-modref-max-depth): New param. - -2020-11-14 Jakub Jelinek - - PR debug/97599 - * dwarf2out.c (gen_subprogram_die): Call - gen_unspecified_parameters_die even if not early dwarf, but only - if subr_die is a newly created DIE. - -2020-11-14 Monk Chiang - - PR target/97682 - * config/riscv/riscv.h (RISCV_PROLOGUE_TEMP_REGNUM): Change register - to t0. - (RISCV_CALL_ADDRESS_TEMP_REGNUM): New Marco, define t1 register. - (RISCV_CALL_ADDRESS_TEMP): Use it for call instructions. - * config/riscv/riscv.c (riscv_legitimize_call_address): Use - RISCV_CALL_ADDRESS_TEMP. - (riscv_compute_frame_info): Change temporary register to t0 form t1. - (riscv_trampoline_init): Adjust comment. - -2020-11-14 Jim Wilson - cooper.joshua - - * config/riscv/riscv.c (riscv_asan_shadow_offset): New. - (TARGET_ASAN_SHADOW_OFFSET): New. - * doc/tm.texi: Regenerated. - * target.def (asan_shadow_offset); Mention that it can return zero. - * toplev.c (process_options): Check for and handle zero return from - targetm.asan_shadow_offset call. - -2020-11-14 Jakub Jelinek - - * gimplify.c (gimplify_omp_for): Add OMP_CLAUSE_ALLOCATE_ALLOCATOR - decls as firstprivate on task clauses even when allocate clause - decl is not lastprivate. - * omp-low.c (install_var_field): Don't dereference omp_is_reference - types if mask is 33 rather than 1. - (scan_sharing_clauses): Populate allocate_map even for task - constructs. For now remove it back for variables mentioned in - reduction and in_reduction clauses on task/taskloop constructs - or on VLA task firstprivates. For firstprivate on task construct, - install the var field into field_map with by_ref and 33 instead - of false and 1 if mentioned in allocate clause. - (lower_private_allocate): Set TREE_THIS_NOTRAP on the created - MEM_REF. - (lower_rec_input_clauses): Handle allocate for task firstprivatized - non-VLA variables. - (create_task_copyfn): Likewise. - -2020-11-13 Jan Hubicka - - * tree-ssa-alias.c (ao_ref_base_alias_ptr_type): Remove accidental - commit. - (ao_ref_alias_ptr_type): Remove accidental commit. - -2020-11-13 Kwok Cheung Yeung - - * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region): - Use langhook instead of accessing language-specific decl - information. - -2020-11-13 Gergö Barany - Thomas Schwinge - - * omp-oacc-kernels-decompose.cc: New. - * Makefile.in (OBJS): Add it. - * passes.def: Instantiate it. - * tree-pass.h (make_pass_omp_oacc_kernels_decompose): Declare. - * flag-types.h (enum openacc_kernels): Add. - * doc/invoke.texi (-fopenacc-kernels): Document. - * gimple.h (enum gf_mask): Add - 'GF_OMP_TARGET_KIND_OACC_PARALLEL_KERNELS_PARALLELIZED', - 'GF_OMP_TARGET_KIND_OACC_PARALLEL_KERNELS_GANG_SINGLE', - 'GF_OMP_TARGET_KIND_OACC_DATA_KERNELS'. - (is_gimple_omp_oacc, is_gimple_omp_offloaded): Handle these. - * gimple-pretty-print.c (dump_gimple_omp_target): Likewise. - * omp-expand.c (expand_omp_target, build_omp_regions_1) - (omp_make_gimple_edges): Likewise. - * omp-low.c (scan_sharing_clauses, scan_omp_for) - (check_omp_nesting_restrictions, lower_oacc_reductions) - (lower_oacc_head_mark, lower_omp_target): Likewise. - * omp-offload.c (execute_oacc_device_lower): Likewise. - -2020-11-13 Thomas Schwinge - - * omp-low.c (scan_sharing_clauses, scan_omp_for) - (lower_oacc_reductions, lower_omp_target): More explicit checking - of which OMP constructs we're expecting. - -2020-11-13 Thomas Schwinge - - * omp-expand.c (expand_omp_target): Attach an attribute to all - outlined OpenACC compute regions. - * omp-offload.c (execute_oacc_device_lower): Adjust. - -2020-11-13 Jan Hubicka - - * ipa-modref.c (modref_summaries::insert, - modref_summaries_lto::insert): Remove summary if ipa-modref is disabled. - -2020-11-13 Jan Hubicka - - * attr-fnspec.h (attr_fnspec::arg_readonly_p): Accept '1'...'9'. - -2020-11-13 Peter Jones - - * doc/extend.texi: Clarify the documentation for the ms_abi - function attribute. - -2020-11-13 Andrew MacLeod - - * gimple-range.h (gimple_range_handler): Cast to gimple stmt - kinds before asking for code and type. - * gimple.h (gimple_expr_code): Call gassign and gcond routines - to get their expr_code. - -2020-11-13 Jason Merrill - - * dwarf2out.c (gen_enumeration_type_die): Call - equate_decl_number_to_die for enumerators. - (gen_member_die): Don't move enumerators to their - enclosing class. - (dwarf2out_imported_module_or_decl_1): Allow importing - individual enumerators. - (force_decl_die): Handle CONST_DECL. - -2020-11-13 Vladimir N. Makarov - - * cfgexpand.c (expand_asm_stmt): Output asm goto with outputs too. - Place insns after asm goto on edges. - * doc/extend.texi: Reflect the changes in asm goto documentation. - * gimple.c (gimple_build_asm_1): Remove an assert checking output - absence for asm goto. - * gimple.h (gimple_asm_label_op, gimple_asm_set_label_op): Take - possible asm goto outputs into account. - * ira.c (ira): Remove critical edges for potential asm goto output - reloads. - (ira_nullify_asm_goto): New function. - * ira.h (ira_nullify_asm_goto): New prototype. - * lra-assigns.c (lra_split_hard_reg_for): Use ira_nullify_asm_goto. - Check that splitting is done inside a basic block. - * lra-constraints.c (curr_insn_transform): Permit output reloads - for any jump insn. - * lra-spills.c (lra_final_code_change): Remove USEs added in ira - for asm gotos. - * lra.c (lra_process_new_insns): Place output reload insns after - jumps in the beginning of destination BBs. - * reload.c (find_reloads): Report error for asm gotos with - outputs. Modify them to keep CFG consistency to avoid crashes. - * tree-into-ssa.c (rewrite_stmt): Don't put debug stmt after asm - goto. - -2020-11-13 Jakub Jelinek - - * omp-low.c (scan_sharing_clauses): For now remove for reduction - clauses with inscan or task modifiers decl from allocate_map. - (lower_private_allocate): Handle TYPE_P (new_var). - (lower_rec_input_clauses): Handle allocate clause for C/C++ array - reductions. - -2020-11-13 Martin Jambor - - PR ipa/97816 - * ipa-cp.c (value_topo_info::propagate_effects): Use - safe_add instead of a simple addition. - -2020-11-13 Jozef Lawrynowicz - - * config/msp430/msp430.c (TARGET_INSN_COST): Define. - (msp430_insn_cost): New function. - * config/msp430/msp430.h (BRANCH_COST): Define. - (LOGICAL_OP_NON_SHORT_CIRCUIT): Define. - -2020-11-13 Jozef Lawrynowicz - - * config/msp430/msp430-protos.h (msp430x_extendhisi): Return int - instead of char *. - (msp430_output_asm_shift_insns): Likewise. - Add new return_length argument. - (msp430x_insn_required): Add prototype. - * config/msp430/msp430.c (msp430_output_asm_shift_insns): Return the - total length, in bytes, of the emitted instructions. - (msp430x_insn_required): New function. - (msp430x_extendhisi): Return the total length, in bytes, of the - emitted instructions. - * config/msp430/msp430.h (ADJUST_INSN_LENGTH): Define. - * config/msp430/msp430.md: New define_attr "type". - New define_attr "extension". - New define_attr "length_multiplier". - New define_attr "extra_length". - Rewrite define_attr "length". - Set type, extension, length, length_multiplier or extra_length insn - attributes on all insns, as appropriate. - (andneghi3): Rewrite using constraints instead of C code to decide - output insns. - * config/msp430/predicates.md (msp430_cheap_operand): New predicate. - (msp430_high_memory_operand): New predicate. - -2020-11-13 Jozef Lawrynowicz - - * config/msp430/msp430.c (use_helper_for_const_shift): Add forward - declaration. - Remove unused argument. - (struct msp430_multlib_costs): New struct. - (msp430_is_mem_indirect): New function. - (msp430_costs): Likewise. - (msp430_shift_costs): Likewise. - (msp430_muldiv_costs): Likewise. - (msp430_get_inner_dest_code): Likewise. - (msp430_single_op_cost): Likewise. - (msp430_rtx_costs): Rewrite from scratch. - (msp430_expand_shift): Adjust use_helper_for_const_shift call. - -2020-11-13 Jozef Lawrynowicz - - * config/msp430/msp430.c (struct single_op_cost): New struct. - (struct double_op_cost): Likewise. - (TARGET_REGISTER_MOVE_COST): Don't define but add comment. - (TARGET_MEMORY_MOVE_COST): Define to... - (msp430_memory_move_cost): New function. - (BRANCH_COST): Don't define but add comment. - -2020-11-13 Jan Hubicka - - * ipa-icf-gimple.c: Include tree-ssa-alias-compare.h. - (find_checker::func_checker): Initialize m_tbaa. - (func_checker::hash_operand): Use hash_ao_ref for memory accesses. - (func_checker::compare_operand): Use compare_ao_refs for memory - accesses. - (func_checker::cmopare_gimple_assign): Do not check LHS types - of memory stores. - * ipa-icf-gimple.h (func_checker): Derive from ao_compare; - add m_tbaa. - * ipa-icf.c: Include tree-ssa-alias-compare.h. - (sem_function::equals_private): Update call of - func_checker::func_checker. - * ipa-utils.h (lto_streaming_expected_p): New inline - predicate. - * tree-ssa-alias-compare.h: New file. - * tree-ssa-alias.c: Include tree-ssa-alias-compare.h - and bultins.h - (view_converted_memref_p): New function. - (types_equal_for_same_type_for_tbaa_p): New function. - (ao_ref_alias_ptr_type, ao_ref_base_alias_ptr_type): New functions. - (ao_compare::compare_ao_refs): New member function. - (ao_compare::hash_ao_ref): New function - * tree-ssa-alias.h (ao_ref_base_alias_ptr_type, - ao_ref_alias_ptr_type): Declare. - -2020-11-13 Jan Hubicka - - * ipa-icf-gimple.c: Include gimple-walk.h. - (func_checker::compare_ssa_name): Update call of compare_operand. - (func_checker::hash_operand): Fix comment and add variant taking - operand_access_type parameter. - (func_checker::compare_operand): Add operand_access_type parameter. - (func_checker::compare_asm_inputs_outputs): Add - operand_access_type_map parameter; update use of - func_checker::compare_operand. - (func_checker::compare_gimple_call): Update use of - func_checker::compare_operand. - (func_checker::compare_gimple_assign): Likewise. - (func_checker::compare_gimple_cond): Likewise. - (func_checker::compare_gimple_switch): Likewise. - (func_checker::compare_gimple_return): Likewise. - (func_checker::compare_gimple_goto): Likewise. - (func_checker::compare_gimple_asm): Likewise. - (visit_load_store): New static functio. - (func_checker::classify_operands): New member function. - (func_checker::get_operand_access_type): New member function. - * ipa-icf-gimple.h (func_checker::operand_access_type): New enum - (func_checker::operand_access_type_map): New typedef. - (func_checker::compare_operand): Update prototype. - (func_checker::compare_asm_inputs_outputs): Likewise. - (func_checker::cleassify_operands): Declare. - (func_checker::get_operand_access_type): Declare. - (func_checker::hash_operand): New variant with operand_access_type. - * ipa-icf.c (sem_function::hash_stmt): Update uses of hash_operand. - (sem_function::compare_phi_node): Update use of compare_operand. - -2020-11-13 Andrea Corallo - - * config/arm/aarch-common.c (aarch_accumulator_forwarding): Use - RTL predicates where possible. - * config/arm/arm.c (legitimate_pic_operand_p) - (legitimize_pic_address, arm_is_segment_info_known) - (can_avoid_literal_pool_for_label_p) - (thumb1_legitimate_address_p, arm_legitimize_address) - (arm_tls_referenced_p, thumb_legitimate_constant_p) - (REG_OR_SUBREG_REG, thumb1_rtx_costs, thumb1_size_rtx_costs) - (arm_adjust_cost, arm_coproc_mem_operand_wb) - (neon_vector_mem_operand, neon_struct_mem_operand) - (symbol_mentioned_p, label_mentioned_p, ) - (load_multiple_sequence, store_multiple_sequence) - (arm_select_cc_mode, arm_reload_in_hi, arm_reload_out_hi) - (mem_ok_for_ldrd_strd, arm_emit_call_insn, output_move_neon) - (arm_attr_length_move_neon, arm_assemble_integer) - (arm_emit_coreregs_64bit_shift, arm_valid_symbolic_address_p) - (extract_base_offset_in_addr, fusion_load_store): Likewise. - -2020-11-13 Andrew MacLeod - - * gimple-range.cc: (gimple_ranger::range_of_range_op): Check for - ADDR_EXPR and call range_of_address. - (gimple_ranger::range_of_address): Rename from - range_of_non_trivial_assignment and match vrp_stmt_computes_nonzero. - * gimple-range.h: (range_of_address): Renamed. - * range-op.cc: (pointer_table): Add INTEGER_CST handler. - -2020-11-13 Martin Jambor - - PR tree-optimization/94406 - * tree-ssa-loop-im.c (tree_ssa_lim): Renamed to - loop_invariant_motion_in_fun, added a parameter to control store - motion. - (pass_lim::execute): Adjust call to tree_ssa_lim, now - loop_invariant_motion_in_fun. - * tree-ssa-loop-manip.h (loop_invariant_motion_in_fun): Declare. - * gimple-loop-interchange.cc (pass_linterchange::execute): Call - loop_invariant_motion_in_fun if any interchange has been done. - -2020-11-13 Richard Biener - - * tree-ssa-sccvn.c (vn_phi_compute_hash): Always hash the - number of predecessors. Hash the block number also for - loop header PHIs. - (expressions_equal_p): Short-cut SSA name compares, remove - test for NULL operands. - (vn_phi_eq): Cache number of predecessors, change inlined - test from expressions_equal_p. - -2020-11-13 Iain Sandoe - - * doc/extend.texi: Don't try to line-wrap an @r command. - -2020-11-13 Richard Biener - - PR tree-optimization/97812 - * tree-vrp.c (register_edge_assert_for_2): Extend the range - according to its sign before seeing whether it fits. - -2020-11-13 Andrea Corallo - - * config/aarch64/aarch64.c (tls_symbolic_operand_type) - (aarch64_load_symref_appropriately, aarch64_mov128_immediate) - (aarch64_expand_mov_immediate) - (aarch64_maybe_expand_sve_subreg_move) - (aarch64_tls_referenced_p, aarch64_cannot_force_const_mem) - (aarch64_base_register_rtx_p, aarch64_classify_index) - (aarch64_classify_address, aarch64_symbolic_address_p) - (aarch64_reinterpret_float_as_int, aarch64_float_const_rtx_p) - (aarch64_can_const_movi_rtx_p, aarch64_select_cc_mode) - (aarch64_print_operand, aarch64_label_mentioned_p) - (aarch64_secondary_reload, aarch64_preferred_reload_class) - (aarch64_address_cost, aarch64_tls_symbol_p) - (aarch64_classify_symbol, aarch64_legitimate_pic_operand_p) - (aarch64_legitimate_constant_p) - (aarch64_sve_float_arith_immediate_p) - (aarch64_sve_float_mul_immediate_p, aarch64_mov_operand_p) - (fusion_load_store): Use RTL operands where possible. - -2020-11-13 Sudakshina Das - - * config/aarch64/aarch64-protos.h (aarch64_expand_setmem): New - declaration. - * config/aarch64/aarch64.c (aarch64_gen_store_pair): Add case for - E_V16QImode. - (aarch64_set_one_block_and_progress_pointer): New helper for - aarch64_expand_setmem. - (aarch64_expand_setmem): Define the expansion for memset. - * config/aarch64/aarch64.h (CLEAR_RATIO): Tweak to favor - aarch64_expand_setmem when allowed and profitable. - (SET_RATIO): Likewise. - * config/aarch64/aarch64.md: Define pattern for setmemdi. - -2020-11-13 Iain Sandoe - - PR objc/90707 - * doc/extend.texi: Document the objc_nullability attribute. - -2020-11-13 Iain Sandoe - - PR objc/77404 - * doc/extend.texi: Document the objc_root_class attribute. - * doc/invoke.texi: Document -Wobjc-root-class. - -2020-11-13 Richard Biener - - * cfgexpand.c (gimple_assign_rhs_to_tree): Use - gimple_assign_rhs_class. - (expand_gimple_stmt_1): Likewise. - * gimplify-me.c (gimple_regimplify_operands): Use - gimple_assign_single_p. - * ipa-icf-gimple.c (func_checker::compare_gimple_assign): - Remove redundant compare. - (func_checker::compare_gimple_cond): Use gimple_cond_code. - * tree-ssa-tail-merge.c (gimple_equal_p): Likewise. - * predict.c (predict_loops): Use gimple_assign_rhs_code. - -2020-11-13 Aldy Hernandez - - * tree-vrp.c (class vrp_folder): Make visit_stmt, visit_phi, - and m_vr_values private. - (vrp_folder::vrp_evaluate_conditional): Remove. - (vrp_folder::vrp_simplify_stmt_using_ranges): Remove. - (vrp_folder::fold_predicate_in): Inline - vrp_evaluate_conditional and vrp_simplify_stmt_using_ranges. - (vrp_folder::fold_stmt): Same. - -2020-11-13 Aldy Hernandez - - * tree-vrp.c (class vrp_prop): Rename vr_values to m_vr_values. - (vrp_prop::vrp_prop): New. - (vrp_prop::initialize): Rename vr_values to m_vr_values. - (vrp_prop::visit_stmt): Same. - (vrp_prop::visit_phi): Same. - (vrp_prop::finalize): Same. - (execute_vrp): Instantiate vrp_vr_values and pass it to folder - and propagator. - -2020-11-13 Aldy Hernandez - - * tree-vrp.c (class vrp_prop): Move entire class... - (class vrp_folder): ...before here. - -2020-11-13 Aldy Hernandez - - * tree-vrp.c (identify_jump_threads): Refactor to.. - (vrp_jump_threader::vrp_jump_threader): ...here - (vrp_jump_threader::~vrp_jump_threader): ...and here. - (vrp_jump_threader::after_dom_children): Rename vr_values to - m_vr_values. - (execute_vrp): Use vrp_jump_threader. - -2020-11-13 Aldy Hernandez - - * tree-vrp.c (struct assert_locus): Move. - (class vrp_insert): Rename to vrp_asserts. - (vrp_insert::build_assert_expr_for): Move to vrp_asserts. - (fp_predicate): Same. - (vrp_insert::dump): Same. - (vrp_insert::register_new_assert_for): Same. - (extract_code_and_val_from_cond_with_ops): Move. - (vrp_insert::finish_register_edge_assert_for): Move to vrp_asserts. - (maybe_set_nonzero_bits): Move. - (vrp_insert::find_conditional_asserts): Move to vrp_asserts. - (stmt_interesting_for_vrp): Move. - (struct case_info): Move. - (compare_case_labels): Move. - (lhs_of_dominating_assert): Move. - (find_case_label_index): Move. - (find_case_label_range): Move. - (class vrp_asserts): New. - (vrp_asserts::build_assert_expr_for): Rename from vrp_insert. - (vrp_asserts::dump): Same. - (vrp_asserts::register_new_assert_for): Same. - (vrp_asserts::finish_register_edge_assert_for): Same. - (vrp_asserts::find_conditional_asserts): Same. - (vrp_asserts::compare_case_labels): Same. - (vrp_asserts::find_switch_asserts): Same. - (vrp_asserts::find_assert_locations_in_bb): Same. - (vrp_asserts::find_assert_locations): Same. - (vrp_asserts::process_assert_insertions_for): Same. - (vrp_asserts::compare_assert_loc): Same. - (vrp_asserts::process_assert_insertions): Same. - (vrp_asserts::insert_range_assertions): Same. - (vrp_asserts::all_imm_uses_in_stmt_or_feed_cond): Same. - (vrp_asserts::remove_range_assertions): Same. - (class vrp_prop): Move. - (all_imm_uses_in_stmt_or_feed_cond): Move. - (vrp_prop::vrp_initialize): Move. - (class vrp_folder): Move. - (vrp_folder::fold_predicate_in): Move. - (vrp_folder::fold_stmt): Move. - (vrp_prop::initialize): Move. - (vrp_prop::visit_stmt): Move. - (enum ssa_prop_result): Move. - (vrp_prop::visit_phi): Move. - (vrp_prop::finalize): Move. - (class vrp_dom_walker): Rename to... - (class vrp_jump_threader): ...this. - (vrp_jump_threader::before_dom_children): Rename from - vrp_dom_walker. - (simplify_stmt_for_jump_threading): Rename to... - (vrp_jump_threader::simplify_stmt): ...here. - (vrp_jump_threader::after_dom_children): Same. - (identify_jump_threads): Move. - (vrp_prop::vrp_finalize): Move array bounds setup code to... - (execute_vrp): ...here. - -2020-11-13 Andrew MacLeod - - * gimple-range.h (gimple_range_handler): Use gimple_assign and - gimple_cond routines to get type and code. - * range-op.cc (range_op_handler): Check for integral types. - -2020-11-12 Nelson Chu - - * configure: Regenerated. - * configure.ac: If ifunc was supported in the binutils for - linux toolchain, then set enable_gnu_indirect_function to yes. - -2020-11-12 Joseph Myers - - * doc/cpp.texi (__has_attribute): Document when scopes are allowed - for C. - (__has_c_attribute): New. - -2020-11-12 Jakub Jelinek - - * builtin-types.def (BT_FN_PTR_SIZE_SIZE_PTRMODE): New function type. - * omp-builtins.def (BUILT_IN_GOACC_DECLARE): Move earlier. - (BUILT_IN_GOMP_ALLOC, BUILT_IN_GOMP_FREE): New builtins. - * gimplify.c (gimplify_scan_omp_clauses): Force allocator into a - decl if it is not NULL, INTEGER_CST or decl. - (gimplify_adjust_omp_clauses): Clear GOVD_EXPLICIT on explicit clauses - which are being removed. Remove allocate clauses for variables not seen - if they are private, firstprivate or linear too. Call - omp_notice_variable on the allocator otherwise. - (gimplify_omp_for): Handle iterator vars mentioned in allocate clauses - similarly to non-is_gimple_reg iterators. - * omp-low.c (struct omp_context): Add allocate_map field. - (delete_omp_context): Delete it. - (scan_sharing_clauses): Fill it from allocate clauses. Remove it - if mentioned also in shared clause. - (lower_private_allocate): New function. - (lower_rec_input_clauses): Handle allocate clause for privatized - variables, except for task/taskloop, C/C++ array reductions for now - and task/inscan variables. - (lower_send_shared_vars): Don't consider variables in allocate_map - as shared. - * omp-expand.c (expand_omp_for_generic, expand_omp_for_static_nochunk, - expand_omp_for_static_chunk): Use expand_omp_build_assign instead of - gimple_build_assign + gsi_insert_after. - * builtins.c (builtin_fnspec): Handle BUILTIN_GOMP_ALLOC and - BUILTIN_GOMP_FREE. - * tree-ssa-ccp.c (evaluate_stmt): Handle BUILTIN_GOMP_ALLOC. - * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Handle - BUILTIN_GOMP_ALLOC. - (mark_all_reaching_defs_necessary_1): Handle BUILTIN_GOMP_ALLOC - and BUILTIN_GOMP_FREE. - (propagate_necessity): Likewise. - -2020-11-12 Martin Jambor - - * cgraphclones.c (cgraph_node::materialize_clone): Check that clone - info is not NULL before attempting to dump it. - -2020-11-12 Martin Jambor - - * ipa-cp.c (class ipcp_value_base): Change the type of - local_time_benefit and prop_time_benefit to sreal. Adjust the - constructor initializer. - (ipcp_lattice::print): Dump sreals. - (struct caller_statistics): Change the type of freq_sum to sreal. - (gather_caller_stats): Work with sreal freq_sum. - (incorporate_penalties): Work with sreal evaluation. - (good_cloning_opportunity_p): Adjusted for sreal sreal time_benefit - and freq_sum. Bail out if size_cost is INT_MAX. - (perform_estimation_of_a_value): Work with sreal time_benefit. Avoid - unnecessary capping. - (estimate_local_effects): Pass sreal time benefit to - good_cloning_opportunity_p without capping it. Adjust dumping. - (safe_add): If there can be overflow, return INT_MAX. - (propagate_effects): Work with sreal times. - (get_info_about_necessary_edges): Work with sreal frequencies. - (decide_about_value): Likewise and with sreal time benefits. - -2020-11-12 Marek Polacek - - * system.h (WARN_UNUSED_RESULT): Define for GCC >= 3.4. - * tree.h (maybe_wrap_with_location): Add WARN_UNUSED_RESULT. - -2020-11-12 Jan Hubicka - - * fold-const.c (operand_compare::operand_equal_p): Compare field - offsets in operand_equal_p and OEP_ADDRESS_OF. - (operand_compare::hash_operand): Update. - -2020-11-12 Richard Biener - - * bitmap.c (bitmap_list_view): Restore head->current. - * tree-ssa-pre.c (pre_expr_DFS): Elide expr_visited bitmap. - Special-case value expression bitmaps with one element. - (bitmap_find_leader): Likewise. - (sorted_array_from_bitmap_set): Elide expr_visited bitmap. - -2020-11-12 Jan Hubicka - - * attr-fnspec.h: Update topleve comment. - (attr_fnspec::arg_direct_p): Accept 1...9. - (attr_fnspec::arg_maybe_written_p): Reject 1...9. - (attr_fnspec::arg_copied_to_arg_p): New member function. - * builtins.c (builtin_fnspec): Update fnspec of block copy. - * tree-ssa-alias.c (attr_fnspec::verify): Update. - -2020-11-12 Richard Biener - - * tree-ssa-pre.c (bitmap_value_replace_in_set): Return - whether we have changed anything. - (do_pre_regular_insertion): Get topologically sorted array - of expressions from caller. - (do_pre_partial_partial_insertion): Likewise. - (insert): Compute topologically sorted arrays of expressions - here and locally iterate actual insertion. Iterate only - when AVAIL_OUT of an already visited block source changed. - -2020-11-12 Alex Coplan - - PR target/97730 - * config/aarch64/aarch64-sve2.md (@aarch64_sve2_bcax): - Change to define_expand, add missing (trivially-predicated) not - rtx to fix wrong code bug. - (*aarch64_sve2_bcax): New. - -2020-11-12 Richard Biener - - PR tree-optimization/97806 - * tree-ssa-pre.c (pre_expr_DFS): New overload for visiting - values, visiting all leaders for a value. Use a bitmap - for visited values. - (sorted_array_from_bitmap_set): Walk over values and adjust. - -2020-11-12 Andreas Krebbel - - PR target/97326 - * config/s390/vector.md: Support vector floating point modes in - vec_cmp. - -2020-11-12 Andreas Krebbel - - * config/s390/vector.md: Rename tointvec to TOINTVEC. - * config/s390/vx-builtins.md: Likewise. - -2020-11-12 Jason Merrill - - PR debug/97060 - * dwarf2out.c (gen_subprogram_die): It's a declaration - if DECL_INITIAL isn't set. - -2020-11-12 David Malcolm - - PR tree-optimization/97424 - * doc/invoke.texi (Static Analyzer Options): Add - -Wno-analyzer-shift-count-negative and - -Wno-analyzer-shift-count-overflow. - (-Wno-analyzer-shift-count-negative): New. - (-Wno-analyzer-shift-count-overflow): New. - -2020-11-11 Iain Sandoe - - * config/darwin-protos.h (darwin_make_eh_symbol_indirect): New. - * config/darwin.c (darwin_make_eh_symbol_indirect): New. Use - Mach-O semantics for personality and ldsa indirections. - * config/darwin.h (TARGET_ASM_MAKE_EH_SYMBOL_INDIRECT): New. - * doc/tm.texi: Regenerate. - * doc/tm.texi.in: Add TARGET_ASM_MAKE_EH_SYMBOL_INDIRECT hook. - * dwarf2out.c (dwarf2out_do_cfi_startproc): If the target defines - a hook for indirecting personality and ldsa references, use that - otherwise default to ELF semantics. - * target.def (make_eh_symbol_indirect): New target hook. - -2020-11-11 Patrick Palka - - PR c++/88115 - * common.opt (-fabi-version): Document =15. - * doc/invoke.texi (C++ Dialect Options): Likewise. - -2020-11-11 Marek Polacek - - PR c++/97518 - * tree.c (maybe_wrap_with_location): Don't add a location - wrapper around an artificial and ignored decl. - -2020-11-11 Richard Biener - - PR tree-optimization/97623 - * tree-ssa-pre.c (create_expression_by_pieces): Guard - NEW_SETS access. - (insert_into_preds_of_block): Likewise. - -2020-11-11 Richard Biener - - * tree-ssa-pre.c (pre_expr_DFS): New function. - (sorted_array_from_bitmap_set): Use it to properly - topologically sort the expression set. - (clean): Verify we've cleaned everything we should. - -2020-11-11 Richard Biener - - PR tree-optimization/97623 - * params.opt (-param=max-pre-hoist-insert-iterations): Remove - again. - * doc/invoke.texi (max-pre-hoist-insert-iterations): Likewise. - * tree-ssa-pre.c (insert): Move hoist insertion after PRE - insertion iteration and do not iterate it. - -2020-11-11 Richard Sandiford - - * config/aarch64/aarch64-sve.md (@vcond_mask_): Extend - from SVE_FULL to SVE_ALL. - (*vcond_mask_): Likewise. - (@aarch64_sel_dup): Likewise. - (vcond): Extend to... - (vcond): ...this, but requiring the - sizes of the container modes to match. - (vcondu): Extend to... - (vcondu): ...this. - (vec_cmp): Extend to... - (vec_cmp): ...this. - (vec_cmpu): Extend to... - (vec_cmpu): ...this. - (@aarch64_pred_cmp): Extend to... - (@aarch64_pred_cmp): ...this. - (*cmp_cc): Extend to... - (*cmp_cc): ...this. - (*cmp_ptest): Extend to... - (*cmp_ptest): ...this. - (*cmp_and): Extend to... - (*cmp_and): ...this. - -2020-11-11 Richard Sandiford - - * optabs-tree.c (expand_vec_cond_expr_p): Allow the compared values - and the selected values to have different mode sizes. - * gimple-isel.cc (gimple_expand_vec_cond_expr): Likewise. - -2020-11-11 Hongtao Liu - Hongyu Wang - - * common/config/i386/cpuinfo.h (get_available_features): - Detect AVXVNNI. - * common/config/i386/i386-common.c - (OPTION_MASK_ISA2_AVXVNNI_SET, - OPTION_MASK_ISA2_AVXVNNI_UNSET): New. - (OPTION_MASK_ISA2_AVX2_UNSET): Add AVXVNNI. - (ix86_hanlde_option): Handle -mavxvnni, unset avxvnni when - avx2 is disabled. - * common/config/i386/i386-cpuinfo.h (enum processor_features): - Add FEATURE_AVXVNNI. - * common/config/i386/i386-isas.h: Add ISA_NAMES_TABLE_ENTRY - for avxvnni. - * config.gcc: Add avxvnniintrin.h. - * config/i386/avx512vnnivlintrin.h: Reimplement 128/256 bit non-mask - intrinsics with macros to support unified interface. - * config/i386/avxvnniintrin.h: New header file. - * config/i386/cpuid.h (bit_AVXVNNI): New. - * config/i386/i386-builtins.c (def_builtin): Handle AVXVNNI mask - for unified builtin. - * config/i386/i386-builtin.def (BDESC): Adjust AVX512VNNI - builtins for AVXVNNI. - * config/i386/i386-c.c (ix86_target_macros_internal): Define - __AVXVNNI__. - * config/i386/i386-expand.c (ix86_expand_builtin): Handle bisa - for AVXVNNI to support unified intrinsic name, since there is no - dependency between AVX512VNNI and AVXVNNI. - * config/i386/i386-options.c (isa2_opts): Add -mavxvnni. - (ix86_valid_target_attribute_inner_p): Handle avxnnni. - (ix86_option_override_internal): Ditto. - * config/i386/i386.h (TARGET_AVXVNNI, TARGET_AVXVNNI_P, - TARGET_AVXVNNI_P, PTA_AVXVNNI): New. - (PTA_SAPPHIRERAPIDS): Add AVX_VNNI. - (PTA_ALDERLAKE): Likewise. - * config/i386/i386.md ("isa"): Add avxvnni, avx512vnnivl. - ("enabled"): Adjust for avxvnni and avx512vnnivl. - * config/i386/i386.opt: Add option -mavxvnni. - * config/i386/immintrin.h: Include avxvnniintrin.h. - * config/i386/sse.md (vpdpbusd_): Adjust for AVXVNNI. - (vpdpbusds_): Likewise. - (vpdpwssd_): Likewise. - (vpdpwssds_): Likewise. - (vpdpbusd_v16si): New. - (vpdpbusds_v16si): Likewise. - (vpdpwssd_v16si): Likewise. - (vpdpwssds_v16si): Likewise. - * doc/invoke.texi: Document -mavxvnni. - * doc/extend.texi: Document avxvnni. - * doc/sourcebuild.texi: Document target avxvnni. - -2020-11-11 Martin Liska - - * tree.c (copy_node): Fix spelling. - -2020-11-11 Richard Biener - - * tree-ssa-pre.c (phi_translate_set): Do not sort the - expression set topologically. - -2020-11-11 Aldy Hernandez - - * value-range.cc (irange::set): Early exit on VR_VARYING. - -2020-11-11 Zhiheng Xie - Nannan Zheng - - * config/aarch64/aarch64-simd-builtins.def: Add proper FLAG - for arithmetic operation intrinsics. - -2020-11-11 Strager Neds - - * cgraph.h (symtab_node::set_section_for_node): Declare new - overload. - (symtab_node::set_section_from_string): Rename from set_section. - (symtab_node::set_section_from_node): Declare. - * symtab.c (symtab_node::set_section_for_node): Define new - overload. - (symtab_node::set_section_from_string): Rename from set_section. - (symtab_node::set_section_from_node): Define. - (symtab_node::set_section): Call renamed set_section_from_string. - (symtab_node::set_section): Call new set_section_from_node. - -2020-11-11 Strager Neds - - * symtab.c (symtab_node::set_section_for_node): Extract reference - counting logic into ... - (retain_section_hash_entry): ... here (new function) and ... - (release_section_hash_entry): ... here (new function). - -2020-11-11 liuhongt - - * config/i386/i386.h (PTA_MOVDIRI, PTA_MOVDIR64B, - PTA_AMX_TILE, PTA_AMX_INT8, PTA_AMX_BF16, PTA_HRESET): - Formatting. - -2020-11-11 Ilya Leoshkevich - - * config/s390/s390.h (HAVE_TF): Use opaque value when - GENERATOR_FILE is defined. - -2020-11-10 Strager Neds - - * cgraph.h (symtab_node::get_section): Constify. - (symtab_node::set_section): Declare new overload. - * symtab.c (symtab_node::set_section): Define new overload. - (symtab_node::copy_visibility_from): Use new overload of - symtab_node::set_section. - (symtab_node::resolve_alias): Same. - * tree.h (set_decl_section_name): Declare new overload. - * tree.c (set_decl_section_name): Define new overload. - * tree-emutls.c (get_emutls_init_templ_addr): Same. - * cgraphclones.c (cgraph_node::create_virtual_clone): Use new - overload of symtab_node::set_section. - (cgraph_node::create_version_clone_with_body): Same. - * trans-mem.c (ipa_tm_create_version): Same. - -2020-11-10 Aldy Hernandez - - * value-range.cc (irange::set): Early exit for poly ints. - -2020-11-10 Tobias Burnus - - * gimplify.c (gimplify_scan_omp_clauses, gimplify_omp_loop): Use 'do' - instead of 'for' in error messages for Fortran. - * omp-low.c (check_omp_nesting_restrictions): Likewise - -2020-11-10 Matthew Malcomson - - * opts.c (control_options_for_live_patching): Reform 'is incompatible - with' error messages to use a standard message with differing format - arguments. - (finish_options): Likewise. - -2020-11-10 Richard Biener - - PR tree-optimization/97769 - * tree-vect-data-refs.c (vect_update_misalignment_for_peel): - Remove assert. - -2020-11-10 Richard Biener - - PR tree-optimization/97780 - * tree-ssa-pre.c (fini_pre): Deal with added basic blocks - when freeing PHI_TRANS_TABLE. - -2020-11-10 Zhiheng Xie - Nannan Zheng - - * config/aarch64/aarch64-simd-builtins.def: Add proper FLAG - for tbl/tbx intrinsics. - -2020-11-10 Chung-Lin Tang - - * gimplify.c (is_or_contains_p): New static helper function. - (omp_target_reorder_clauses): New function. - (gimplify_scan_omp_clauses): Add use of omp_target_reorder_clauses to - reorder clause list according to OpenMP 5.0 rules. Add handling of - GOMP_MAP_ATTACH_DETACH for OpenMP cases. - * omp-low.c (is_omp_target): New static helper function. - (scan_sharing_clauses): Add scan phase handling of GOMP_MAP_ATTACH/DETACH - for OpenMP cases. - (lower_omp_target): Add lowering handling of GOMP_MAP_ATTACH/DETACH for - OpenMP cases. - -2020-11-10 Ilya Leoshkevich - - * config/s390/s390-modes.def (FPRX2): New mode. - * config/s390/s390-protos.h (s390_fma_allowed_p): New function. - * config/s390/s390.c (s390_fma_allowed_p): Likewise. - (s390_build_signbit_mask): Support 128-bit masks. - (print_operand): Support printing the second word of a TFmode - operand as vector register. - (constant_modes): Add FPRX2mode. - (s390_class_max_nregs): Return 1 for TFmode on z14+. - (s390_is_fpr128): New function. - (s390_is_vr128): Likewise. - (s390_can_change_mode_class): Use s390_is_fpr128 and - s390_is_vr128 in order to determine whether mode refers to a FPR - pair or to a VR. - (s390_emit_compare): Force TFmode operands into registers on - z14+. - * config/s390/s390.h (HAVE_TF): New macro. - (EXPAND_MOVTF): New macro. - (EXPAND_TF): Likewise. - * config/s390/s390.md (PFPO_OP_TYPE_FPRX2): PFPO_OP_TYPE_TF - alias. - (ALL): Add FPRX2. - (FP_ALL): Add FPRX2 for z14+, restrict TFmode to z13-. - (FP): Likewise. - (FP_ANYTF): New mode iterator. - (BFP): Add FPRX2 for z14+, restrict TFmode to z13-. - (TD_TF): Likewise. - (xde): Add FPRX2. - (nBFP): Likewise. - (nDFP): Likewise. - (DSF): Likewise. - (DFDI): Likewise. - (SFSI): Likewise. - (DF): Likewise. - (SF): Likewise. - (fT0): Likewise. - (bt): Likewise. - (_d): Likewise. - (HALF_TMODE): Likewise. - (tf_fpr): New mode_attr. - (type): New mode_attr. - (*cmp_ccz_0): Use type instead of mode with fsimp. - (*cmp_ccs_0_fastmath): Likewise. - (*cmptf_ccs): New pattern for wfcxb. - (*cmptf_ccsfps): New pattern for wfkxb. - (mov): Rename to mov. - (signbit2): Rename to signbit2. - (isinf2): Renamed to isinf2. - (*TDC_insn_): Use type instead of mode with fsimp. - (fixuns_trunc2): Rename to - fixuns_trunc2. - (fix_trunctf2): Rename to fix_trunctf2_fpr. - (floatdi2): Rename to floatdi2, use type - instead of mode with itof. - (floatsi2): Rename to floatsi2, use type - instead of mode with itof. - (*floatuns2): Use type instead of mode for - itof. - (floatuns2): Rename to - floatuns2. - (trunctf2): Rename to trunctf2_fpr, use type instead - of mode with fsimp. - (extend2): Rename to - extend2. - (2): Rename to - 2, use type instead of - mode with fsimp. - (rint2): Rename to rint2, use - type instead of mode with fsimp. - (2): Use type instead of mode for - fsimp. - (rint2): Likewise. - (trunc2): Rename to - trunc2. - (trunc2): Rename to - trunc2. - (extend2): Rename to - extend2. - (extend2): Rename to - extend2. - (add3): Rename to add3, use type instead of - mode with fsimp. - (*add3_cc): Use type instead of mode with fsimp. - (*add3_cconly): Likewise. - (sub3): Rename to sub3, use type instead of - mode with fsimp. - (*sub3_cc): Use type instead of mode with fsimp. - (*sub3_cconly): Likewise. - (mul3): Rename to mul3, use type instead of - mode with fsimp. - (fma4): Restrict using s390_fma_allowed_p. - (fms4): Restrict using s390_fma_allowed_p. - (div3): Rename to div3, use type instead of - mode with fdiv. - (neg2): Rename to neg2. - (*neg2_cc): Use type instead of mode with fsimp. - (*neg2_cconly): Likewise. - (*neg2_nocc): Likewise. - (*neg2): Likeiwse. - (abs2): Rename to abs2, use type instead of - mode with fdiv. - (*abs2_cc): Use type instead of mode with fsimp. - (*abs2_cconly): Likewise. - (*abs2_nocc): Likewise. - (*abs2): Likewise. - (*negabs2_cc): Likewise. - (*negabs2_cconly): Likewise. - (*negabs2_nocc): Likewise. - (*negabs2): Likewise. - (sqrt2): Rename to sqrt2, use type instead - of mode with fsqrt. - (cbranch4): Use FP_ANYTF instead of FP. - (copysign3): Rename to copysign3, use type - instead of mode with fsimp. - * config/s390/s390.opt (flag_vx_long_double_fma): New - undocumented option. - * config/s390/vector.md (V_HW): Add TF for z14+. - (V_HW2): Likewise. - (VFT): Likewise. - (VF_HW): Likewise. - (V_128): Likewise. - (tf_vr): New mode_attr. - (tointvec): Add TF. - (mov): Rename to mov. - (movetf): New dispatcher. - (*vec_tf_to_v1tf): Rename to *vec_tf_to_v1tf_fpr, restrict to - z13-. - (*vec_tf_to_v1tf_vr): New pattern for z14+. - (*fprx2_to_tf): Likewise. - (*mov_tf_to_fprx2_0): Likewise. - (*mov_tf_to_fprx2_1): Likewise. - (add3): Rename to add3. - (addtf3): New dispatcher. - (sub3): Rename to sub3. - (subtf3): New dispatcher. - (mul3): Rename to mul3. - (multf3): New dispatcher. - (div3): Rename to div3. - (divtf3): New dispatcher. - (sqrt2): Rename to sqrt2. - (sqrttf2): New dispatcher. - (fma4): Restrict using s390_fma_allowed_p. - (fms4): Likewise. - (neg_fma4): Likewise. - (neg_fms4): Likewise. - (neg2): Rename to neg2. - (negtf2): New dispatcher. - (abs2): Rename to abs2. - (abstf2): New dispatcher. - (floattf2_vr): New forwarder. - (floattf2): New dispatcher. - (floatunstf2_vr): New forwarder. - (floatunstf2): New dispatcher. - (fix_trunctf2_vr): New forwarder. - (fix_trunctf2): New dispatcher. - (fixuns_trunctf2_vr): New forwarder. - (fixuns_trunctf2): New dispatcher. - (2): New pattern. - (tf2): New forwarder. - (rint2): New pattern. - (rinttf2): New forwarder. - (*trunctfdf2_vr): New pattern. - (trunctfdf2_vr): New forwarder. - (trunctfdf2): New dispatcher. - (trunctfsf2_vr): New forwarder. - (trunctfsf2): New dispatcher. - (extenddftf2_vr): New pattern. - (extenddftf2): New dispatcher. - (extendsftf2_vr): New forwarder. - (extendsftf2): New dispatcher. - (signbittf2_vr): New forwarder. - (signbittf2): New dispatchers. - (isinftf2_vr): New forwarder. - (isinftf2): New dispatcher. - * config/s390/vx-builtins.md (*vftci_cconly): Use VF_HW - instead of VECF_HW, add missing constraint, add vw support. - (vftci_intcconly): Use VF_HW instead of VECF_HW. - (*vftci): Rename to vftci, use VF_HW instead of - VECF_HW, and vw support. - (vftci_intcc): Use VF_HW instead of VECF_HW. - -2020-11-10 Eric Botcazou - - * range-op.cc (operator_logical_not::fold_range): Tidy up. - (operator_logical_not::op1_range): Call above method. - (operator_bitwise_not::fold_range): If the type is compatible - with boolean, call op_logical_not.fold_range. - (operator_bitwise_not::op1_range): If the type is compatible - with boolean, call op_logical_not.op1_range. - -2020-11-10 Richard Biener - - * tree-ssa-pre.c (pre_expr_d::value_id): Add. - (constant_value_expressions): Turn into an array of pre_expr. - (get_or_alloc_expr_for_nary): New function. - (get_or_alloc_expr_for_reference): Likewise. - (add_to_value): For constant values only ever add a single - CONSTANT. - (get_expr_value_id): Return the new value_id member. - (vn_valnum_from_value_id): Split out and simplify constant - value id handling. - (get_or_alloc_expr_for_constant): Set the value_id member. - (phi_translate_1): Use get_or_alloc_expr_for_*. - (compute_avail): Likewise. - (bitmap_find_leader): Simplify constant value id handling. - -2020-11-10 Alex Coplan - - * doc/md.texi (Modifiers): Fix grammar in description of - earlyclobber constraint modifier. - -2020-11-10 Jakub Jelinek - - PR tree-optimization/97764 - * tree-ssa-sccvn.c (vn_walk_cb_data::push_partial_def): For - little-endian stores with negative pd.offset, subtract - BITS_PER_UNIT - amnt from size if amnt is non-zero. - -2020-11-10 Richard Biener - - PR tree-optimization/97760 - * tree-vect-loop.c (check_reduction_path): Reject - reduction paths we do not handle in epilogue generation. - -2020-11-10 Aldy Hernandez - - PR tree-optimization/97767 - * value-range.cc (dump_bound_with_infinite_markers): Use - wi::min_value and wi::max_value. - (range_tests_strict_enum): New. - (range_tests): Call range_tests_strict_enum. - * value-range.h (irange::varying_p): Use wi::min_value - and wi::max_value. - (irange::set_varying): Same. - (irange::normalize_min_max): Remove comment. - -2020-11-10 Andrew MacLeod - - PR tree-optimization/97567 - * gimple-range-gori.cc: (gori_compute::logical_combine): False - OR operations should intersect the 2 results. - (gori_compute::compute_logical_operands_in_chain): If def chains - are outside the current basic block, don't follow them. - -2020-11-09 Claudiu Zissulescu - - * config/arc/arc.c (arc_split_move): Recognize vadd2 instructions. - * config/arc/arc.md (movdi_insn): Update pattern to use vadd2 - instructions. - (movdf_insn): Likewise. - (maddhisi4): New pattern. - (umaddhisi4): Likewise. - * config/arc/simdext.md (mov_int): Update pattern to use - vadd2. - (sdot_prodv4hi): New pattern. - (udot_prodv4hi): Likewise. - (arc_vec_mac_hi_v4hi): Update/renamed to - arc_vec_mac_v2hiv2si. - (arc_vec_mac_v2hiv2si_zero): New pattern. - * config/arc/constraints.md (Ral): Accumulator register - constraint. - -2020-11-09 Aldy Hernandez - - * function-tests.c (test_ranges): Call range_op_tests. - * range-op.cc (build_range3): Move to value-range.cc. - (range3_tests): Same. - (int_range_max_tests): Same. - (multi_precision_range_tests): Same. - (range_tests): Same. - (operator_tests): Split up... - (range_op_tests): Split up... - (range_op_cast_tests): ...here. - (range_op_lshift_tests): ...here. - (range_op_rshift_tests): ...here. - (range_op_bitwise_and_tests): ...here. - * selftest.h (range_op_tests): New. - * value-range.cc (build_range3): New. - (range_tests_irange3): New. - (range_tests_int_range_max): New. - (range_tests_legacy): New. - (range_tests_misc): New. - (range_tests): New. - -2020-11-09 Richard Biener - - PR tree-optimization/97761 - * tree-vect-slp.c (vect_bb_slp_mark_live_stmts): Remove - premature end of DFS walk. - -2020-11-09 Aldy Hernandez - - * value-range.cc (irange::swap_out_of_order_endpoints): Rewrite - into static function. - (irange::set): Cleanup redundant manipulations. - * value-range.h (irange::normalize_min_max): Modify object - in-place instead of modifying arguments. - -2020-11-09 Andrea Corallo - - * config/aarch64/aarch64-builtins.c - (aarch64_expand_fcmla_builtin): Do not alter force_reg returned - register. - -2020-11-09 Richard Biener - - PR tree-optimization/97753 - * tree-vect-loop.c (vectorizable_induction): Fill vec_steps - when CSEing inside the group. - -2020-11-09 Richard Biener - - PR tree-optimization/97746 - * tree-vect-patterns.c (vect_determine_precisions): First walk PHIs. - -2020-11-09 Richard Biener - - * tree-ssa-pre.c (get_representative_for): CSE VN_INFO calls. - (create_expression_by_pieces): Likewise. - (insert_into_preds_of_block): Likewsie. - (do_pre_regular_insertion): Likewsie. - * tree-ssa-sccvn.c (eliminate_dom_walker::eliminate_insert): - Likewise. - (eliminate_dom_walker::eliminate_stmt): Likewise. - -2020-11-09 Richard Biener - - PR tree-optimization/97765 - * tree-ssa-pre.c (bb_bitmap_sets::phi_translate_table): Add. - (PHI_TRANS_TABLE): New macro. - (phi_translate_table): Remove. - (expr_pred_trans_d::pred): Remove. - (expr_pred_trans_d::hash): Simplify. - (expr_pred_trans_d::equal): Likewise. - (phi_trans_add): Adjust. - (phi_translate): Likewise. Remove hash-table expansion - detection and optimization. - (phi_translate_set): Allocate PHI_TRANS_TABLE here. - (init_pre): Adjsust. - (fini_pre): Free PHI_TRANS_TABLE. - -2020-11-09 Lili Cui - - PR target/97685 - * config/i386/i386.h: - (PTA_BROADWELL): Delete PTA_PRFCHW. - (PTA_SILVERMONT): Add PTA_PRFCHW. - (PTA_KNL): Add PTA_PREFETCHWT1. - (PTA_TREMONT): Add PTA_MOVDIRI, PTA_MOVDIR64B, PTA_CLDEMOTE and PTA_WAITPKG. - * doc/invoke.texi: Delete PREFETCHW for broadwell, skylake, knl, knm, - skylake-avx512, cannonlake, icelake-client, icelake-server, cascadelake, - cooperlake, tigerlake and sapphirerapids. - Add PREFETCHW for silvermont, goldmont, goldmont-plus and tremont. - Add XSAVEC and XSAVES for goldmont, goldmont-plus and tremont. - Add MOVDIRI, MOVDIR64B, CLDEMOTE and WAITPKG for tremont. - Add KEYLOCKER and HREST for alderlake. - Add AMX-BF16, AMX-TILE, AMX-INT8 and UINTR for sapphirerapids. - Add KEYLOCKER for tigerlake. - -2020-11-09 Kewen Lin - - PR rtl-optimization/97705 - * ira.c (ira): Refactor some regstat free/init/compute invocation - into lambda function regstat_recompute_for_max_regno, and call it - when max_regno increases as remove_scratches succeeds. - -2020-11-08 David Edelsohn - - * config/rs6000/rs6000.c (rs6000_mangle_decl_assembler_name): Change - DECL_IS_BUILTIN -> DECL_IS_UNDECLARED_BUILTIN. - -2020-11-07 Martin Uecker - - * doc/extend.texi: Document mixing labels and code. - * doc/invoke.texi: Likewise. - -2020-11-06 Segher Boessenkool - - * config/rs6000/rs6000.md (@tablejump_normal): Don't abuse - operands[]. - (@tablejump_nospec): Ditto. - -2020-11-06 Peter Bergner - - * config/rs6000/rs6000.h (BIGGEST_ALIGNMENT): Revert previous commit - so as not to break the ABI. - * config/rs6000/rs6000-call.c (rs6000_init_builtins): Set the ABI - mandated alignment for __vector_pair and __vector_quad types. - -2020-11-06 Jeff Law - - PR target/91489 - * config/i386/i386.md (simple_return): Also check - for ms_hook_prologue function attribute. - * config/i386/i386.c (ix86_can_use_return_insn_p): - Also check for ms_hook_prologue function attribute. - * config/i386/i386-protos.h (ix86_function_ms_hook_prologue): Declare. - -2020-11-06 Segher Boessenkool - - PR target/96933 - * config/rs6000/rs6000.c (rs6000_expand_vector_init): Use - TARGET_POWERPC64 instead of TARGET_64BIT. - -2020-11-06 Joseph Myers - - * builtins.def (BUILT_IN_NANSD32, BUILT_IN_NANSD64) - (BUILT_IN_NANSD128): New built-in functions. - * fold-const-call.c (fold_const_call): Handle the new built-in - functions. - * doc/extend.texi (__builtin_nansd32, __builtin_nansd64) - (__builtin_nansd128): Document. - * doc/sourcebuild.texi (Effective-Target Keywords): Document - fenv_exceptions_dfp. - -2020-11-06 Bin Cheng - - * tree-ssa-uninit.c (find_var_cmp_const): New function. - (use_pred_not_overlap_with_undef_path_pred): Call above. - -2020-11-06 Iain Sandoe - - * config/darwin-c.c: Allow for Darwin20 to correspond to macOS 11. - * config/darwin-driver.c: Likewise. - -2020-11-06 Richard Biener - - * tree-ssa-pre.c (expr_pred_trans_d): Modify so elements - are embedded rather than allocated. Remove hashval member, - make all members integers. - (phi_trans_add): Adjust accordingly. - (phi_translate): Likewise. Deal with re-allocation - of the table. - -2020-11-06 Andrew MacLeod - - PR tree-optimization/97737 - PR tree-optimization/97741 - * gimple-range.cc: (gimple_ranger::range_of_stmt): Intersect newly - calculated ranges with the existing known global range. - -2020-11-06 Darius Galis - - * config/rx/rx.md (CTRLREG_PC): Add. - * config/rx/rx.c (CTRLREG_PC): Add - (rx_expand_builtin_mvtc): Add warning: PC register cannot - be used as dest. - -2020-11-06 Nathan Sidwell - - * tree.h (DECL_IS_BUILTIN): Rename to ... - (DECL_IS_UNDECLARED_BUILTIN): ... here. No need to use SOURCE_LOCUS. - * calls.c (maybe_warn_alloc_args_overflow): Adjust for rename. - * cfgexpand.c (pass_expand::execute): Likewise. - * dwarf2out.c (base_type_die, is_naming_typedef_decl): Likewise. - * godump.c (go_decl, go_type_decl): Likewise. - * print-tree.c (print_decl_identifier): Likewise. - * tree-pretty-print.c (dump_generic_node): Likewise. - * tree-ssa-ccp.c (pass_post_ipa_warn::execute): Likewise. - * xcoffout.c (xcoff_assign_fundamental_type_number): Likewise. - -2020-11-06 David Candler - - * config/aarch64/aarch64-builtins.c - (TYPES_SHIFT2IMM): Add define. - (TYPES_SHIFT2IMM_UUSS): Add define. - (TYPES_USHIFT2IMM): Add define. - * config/aarch64/aarch64-simd.md - (aarch64_qshrn2_n): Add new insn for upper saturating shift right. - * config/aarch64/aarch64-simd-builtins.def: Add intrinsics. - * config/aarch64/arm_neon.h: - (vqrshrn_high_n_s16): Expand using intrinsic rather than inline asm. - (vqrshrn_high_n_s32): Likewise. - (vqrshrn_high_n_s64): Likewise. - (vqrshrn_high_n_u16): Likewise. - (vqrshrn_high_n_u32): Likewise. - (vqrshrn_high_n_u64): Likewise. - (vqrshrun_high_n_s16): Likewise. - (vqrshrun_high_n_s32): Likewise. - (vqrshrun_high_n_s64): Likewise. - (vqshrn_high_n_s16): Likewise. - (vqshrn_high_n_s32): Likewise. - (vqshrn_high_n_s64): Likewise. - (vqshrn_high_n_u16): Likewise. - (vqshrn_high_n_u32): Likewise. - (vqshrn_high_n_u64): Likewise. - (vqshrun_high_n_s16): Likewise. - (vqshrun_high_n_s32): Likewise. - (vqshrun_high_n_s64): Likewise. - -2020-11-06 Richard Sandiford - - * config/aarch64/aarch64-modes.def (VNx2BF, VNx4BF): Adjust nunits - and alignment based on the current VG. - * config/aarch64/iterators.md (SVE_ALL, SVE_24, SVE_2, SVE_4): Add - partial SVE BF modes. - (UNSPEC_REVBHW): New unspec. - (Vetype, Vesize, Vctype, VEL, Vel, vwcore, V_INT_CONTAINER) - (v_int_container, VPRED, vpred): Handle partial SVE BF modes. - (container_bits, Vcwtype): New mode attributes. - * config/aarch64/aarch64-sve.md - (@aarch64_sve_revbhw_): New pattern. - (@aarch64_sve_dup_lane): Extended from SVE_FULL to SVE_ALL. - (@aarch64_sve_rev, @aarch64_sve_): Likewise. - (@aarch64_sve_ext): Likewise. - * config/aarch64/aarch64.c (aarch64_classify_vector_mode): Handle - E_VNx2BFmode and E_VNx4BFmode. - (aarch64_evpc_rev_local): Base the analysis on the container size - instead of the element size. Use the new aarch64_sve_revbhw - patterns for SVE. - (aarch64_evpc_dup): Handle partial SVE data modes. Use the - container size instead of the element size when applying the - SVE immediate limit. Fix a previously incorrect bounds check. - (aarch64_expand_vec_perm_const_1): Handle partial SVE data modes. - -2020-11-06 Martin Liska - - * common.opt: Add new -fbit-tests option. - * doc/invoke.texi: Document the option. - * tree-switch-conversion.c (bit_test_cluster::find_bit_tests): - Use the option. - * tree-switch-conversion.h (is_enabled): New function. - -2020-11-06 Richard Biener - - * tree-ssa-sccvn.h (get_max_constant_value_id): Declare. - (get_next_constant_value_id): Likewise. - (value_id_constant_p): Inline and simplify. - * tree-ssa-sccvn.c (constant_value_ids): Remove. - (next_constant_value_id): Add. - (get_or_alloc_constant_value_id): Adjust. - (value_id_constant_p): Remove definition. - (get_max_constant_value_id): Define. - (get_next_value_id): Add assert for overflow. - (get_next_constant_value_id): Define. - (run_rpo_vn): Adjust. - (free_rpo_vn): Likewise. - (do_rpo_vn): Initialize next_constant_value_id. - * tree-ssa-pre.c (constant_value_expressions): New. - (add_to_value): Split into constant/non-constant value - handling. Avoid exact re-allocation. - (vn_valnum_from_value_id): Adjust. - (phi_translate_1): Remove spurious exact re-allocation. - (bitmap_find_leader): Adjust. Make sure we return - a CONSTANT value for a constant value id. - (do_pre_regular_insertion): Use 2 auto-elements for avail. - (do_pre_partial_partial_insertion): Likewise. - (init_pre): Allocate constant_value_expressions. - (fini_pre): Release constant_value_expressions. - -2020-11-06 Richard Biener - - PR tree-optimization/97706 - * tree-vect-patterns.c (possible_vector_mask_operation_p): - PHIs are possible mask operations. - (vect_determine_mask_precision): Handle PHIs. - (vect_determine_precisions): Walk PHIs in BB analysis. - -2020-11-06 Richard Biener - - * tree-vect-slp.c (vect_analyze_slp): Pass down the - SLP graph entry kind. - (vect_analyze_slp_instance): Simplify. - (vect_build_slp_instance): Adjust. - (vect_slp_check_for_constructors): Perform more - eligibility checks here. - -2020-11-06 Jan Hubicka - - * ipa-ref.h (enum ipa_ref_use): Remove GTY marker. - (struct ipa_ref): Remove GTY marker; reorder for better packing. - (struct ipa_ref_list): Remove GTY marker; turn references - nad referring to va_heap, vl_ptr vectors; update accesors. - * cgraph.h (symtab_node::iterate_reference): Update. - * ipa-ref.c (ipa_ref::remove_reference): Update. - * symtab.c (symtab_node::create_reference): Update. - (symtab_node::remove_all_references): Update. - (symtab_node::resolve_alias): Update. - -2020-11-06 Jakub Jelinek - - * ipa-modref-tree.h: Fix comment typos. - * ipa-modref.c: Likewise. - -2020-11-06 Andreas Krebbel - - * config/s390/s390.c (s390_option_override_internal): Remove - override of inline params. - -2020-11-06 Richard Biener - - PR tree-optimization/97706 - * tree-vect-patterns.c (vect_determine_mask_precision): - Remove worklist operation. - (vect_determine_stmt_precisions): Do not call - vect_determine_mask_precision here. - (vect_determine_precisions): Compute mask precision - in a forward walk. - -2020-11-06 Richard Biener - - PR tree-optimization/97732 - * tree-vect-loop.c (vectorizable_induction): Convert the - init elements to the vector component type. - * gimple-fold.c (gimple_build_vector): Use CONSTANT_CLASS_P - rather than TREE_CONSTANT to determine if elements are - eligible for VECTOR_CSTs. - -2020-11-06 Jan Hubicka - - * attr-fnspec.h (attr_fnspec::get_str): New accessor - * ipa-fnsummary.c (read_ipa_call_summary): Store also parm info - for builtins. - * ipa-modref.c (class fnspec_summary): New type. - (class fnspec_summaries_t): New type. - (modref_summary::modref_summary): Initialize writes_errno. - (struct modref_summary_lto): Add writes_errno. - (modref_summary_lto::modref_summary_lto): Initialize writes_errno. - (modref_summary::dump): Check for NULL pointers. - (modref_summary_lto::dump): Dump writes_errno. - (collapse_loads): Move up in source file. - (collapse_stores): New function. - (process_fnspec): Handle also internal calls. - (analyze_call): Likewise. - (analyze_stmt): Store fnspec string if needed. - (analyze_function): Initialize fnspec_sumarries. - (modref_summaries_lto::duplicate): Copy writes_errno. - (modref_write): Store writes_errno and fnspec summaries. - (read_section): Read writes_errno and fnspec summaries. - (modref_read): Initialize fnspec summaries. - (update_signature): Fix formating. - (compute_parm_map): Return true if sucessful. - (get_parm_type): New function. - (get_access_for_fnspec): New function. - (propagate_unknown_call): New function. - (modref_propagate_in_scc): Use it. - (pass_ipa_modref::execute): Delete fnspec_summaries. - (ipa_modref_c_finalize): Delete fnspec_summaries. - * ipa-prop.c: Include attr-fnspec.h. - (ipa_compute_jump_functions_for_bb): Also compute jump functions - for functions with fnspecs. - (ipa_read_edge_info): Read jump functions for builtins. - -2020-11-06 Jan Hubicka - - * ipa-fnsummary.h (class size_time_entry): Do not GTY annotate. - (class ipa_fnsummary): Turn size_time_table to auto_vec and - call_size_time_table to effecient vec; update constructors. - * ipa-fnsummary.c (ipa_fn_summary::account_size_time): Update. - (ipa_fn_summary::~ipa_fn_summary): Update. - (ipa_fn_summary_t::duplicate): Update. - (ipa_dump_fn_summary): Update. - (set_switch_stmt_execution_predicate): Update. - (analyze_function_body): Update. - (estimate_calls_size_and_time): Update. - (ipa_call_context::estimate_size_and_time): Update. - (ipa_merge_fn_summary_after_inlining): Update. - (ipa_update_overall_fn_summary): Update. - (inline_read_section): Update. - (ipa_fn_summary_write): Update. - -2020-11-06 Richard Biener - - PR tree-optimization/97733 - * tree-vect-slp.c (vect_analyze_slp_instance): If less - than two reductions were relevant or live do nothing. - -2020-11-06 Jeff Law - - PR tree-optimization/97223 - * match.pd (overflow detection and optimization): Handle conversions. - -2020-11-06 Eugene Rozenfeld - - * match.pd (x >> x): New pattern. - -2020-11-06 Kito Cheng - - * common/config/riscv/riscv-common.c (riscv_implied_info): - Add static and const. - (riscv_subset_list::handle_implied_ext): Add const due to - riscv_implied_info changed to const. - -2020-11-06 Kito Cheng - - PR target/96307 - * toplev.c (process_options): Remove param_asan_stack checking for kasan - option checking. - -2020-11-05 Marek Polacek - - PR c++/97675 - * doc/invoke.texi: Document -Wexceptions. - -2020-11-05 Marek Polacek - - PR c++/25814 - * doc/invoke.texi: Document -Wvexing-parse. - -2020-11-05 Andrew MacLeod - - PR tree-optimization/97725 - * range-op.cc (operator_equal::fold_range): Use new tmp value. - (operator_not_equal::fold_range): Ditto. - * value-query.cc (range_query::value_of_expr): Use int_range_max - not a value_range. - (range_query::value_on_edge): Ditto. - (range_query::value_of_stmt): Ditto. - -2020-11-05 Olivier Hainque - - * config/aarch64/aarch64-vxworks.h (TARGET_OS_USES_R18): - Remove definition. - (STATIC_CHAIN_REGNUM): Redefine to 9. - -2020-11-05 Olivier Hainque - - * config/aarch64/aarch64.md: Define PROBE_STACK_FIRST_REGNUM - and PROBE_STACK_SECOND_REGNUM constants, designating r10/r11. - Replacements for the PROBE_STACK_FIRST/SECOND_REG constants in - aarch64.c. - * config/aarch64/aarch64.c (PROBE_STACK_FIRST_REG): Remove. - (PROBE_STACK_SECOND_REG): Remove. - (aarch64_emit_probe_stack_range): Adjust to the _REG -> _REGNUM - suffix update for PROBE_STACK register numbers. - -2020-11-05 Jan Hubicka - - * gimple.c (gimple_call_fnspec): Handle C++ new and delete. - * gimple.h (gimple_call_from_new_or_delete): Constify parameter. - -2020-11-05 Aldy Hernandez - - PR tree-optimization/97721 - * gimple-range.cc (get_tree_range): Drop overflow from constants. - -2020-11-05 David Malcolm - - * tree-diagnostic-path.cc (struct path_summary::event_range): Move - out of path_summary to... - (struct event_range): ...here. - (class path_summary): Convert to... - (struct path_summary): ...this. - (path_summary::m_ranges): Drop "private". - (path_summary::print): Convert to... - (print_path_summary_as_text): ...this, passing in the path_summary - explicitly. - (default_tree_diagnostic_path_printer): Update for above change. - (selftest::test_empty_path): Likewise. - (selftest::test_intraprocedural_path): Likewise. - (selftest::test_interprocedural_path_1): Likewise. - (selftest::test_interprocedural_path_2): Likewise. - (selftest::test_recursion): Likewise. - -2020-11-05 qing zhao - - PR target/97715 - * config/i386/i386.c (zero_all_st_registers): Return - earlier when the FPU is disabled. - -2020-11-05 Jan Hubicka - - * ipa-modref.c (parm_map_for_arg): Initialize parm_offset and - parm_offset_knonw. - (read_section): Set writes_errno to false. - -2020-11-05 Richard Biener - - * tree-vect-data-refs.c (vect_slp_analyze_node_dependences): - Use the original stmts. - (vect_slp_analyze_node_alignment): Use the pattern stmt. - * tree-vect-slp.c (vect_fixup_store_groups_with_patterns): - New function. - (vect_slp_analyze_bb_1): Call it. - -2020-11-05 Tamar Christina - - * tree-vect-slp.c (vect_slp_tree_permute_noop_p): New. - (vect_optimize_slp): Optimize permutes. - (vectorizable_slp_permutation): Fix typo. - -2020-11-05 Richard Biener - - PR debug/97718 - * dwarf2out.c (add_abstract_origin_attribute): Make sure to - point to the abstract instance. - -2020-11-05 Tamar Christina - - * tree-vect-loop.c (vect_analyze_loop_2): Check kind. - * tree-vect-slp.c (vect_build_slp_instance): New. - (enum slp_instance_kind): Move to... - * tree-vectorizer.h (enum slp_instance_kind): .. Here - (SLP_INSTANCE_KIND): New. - -2020-11-05 Kewen Lin - - PR target/96933 - * config/rs6000/rs6000.c (rs6000_expand_vector_init): Use direct move - instructions for vector construction with char/short types. - * config/rs6000/rs6000.md (p8_mtvsrwz_v16qisi2): New define_insn. - (p8_mtvsrd_v16qidi2): Likewise. - -2020-11-04 Tamar Christina - - * tree-vect-slp.c (vect_analyze_slp_instance): Moved load/store lanes - check to ... - * tree-vect-loop.c (vect_analyze_loop_2): ..Here - -2020-11-04 Ilya Leoshkevich - - * config/s390/s390.c (NR_C_MODES): Unhardcode. - (s390_alloc_pool): Use size_t for iterating from 0 to - NR_C_MODES. - (s390_add_constant): Likewise. - (s390_find_constant): Likewise. - (s390_dump_pool): Likewise. - (s390_free_pool): Likewise. - -2020-11-04 Ilya Leoshkevich - - * config/s390/s390.md (RRe): Remove. - (RXe): Remove. - -2020-11-04 Andrew MacLeod - - PR tree-optimization/97515 - * gimple-range-cache.h (class ranger_cache): New prototypes plus - temporal cache pointer. - * gimple-range-cache.cc (struct range_timestamp): New. - (class temporal_cache): New. - (temporal_cache::temporal_cache): New. - (temporal_cache::~temporal_cache): New. - (temporal_cache::get_timestamp): New. - (temporal_cache::set_dependency): New. - (temporal_cache::temporal_value): New. - (temporal_cache::current_p): New. - (temporal_cache::set_timestamp): New. - (temporal_cache::set_always_current): New. - (ranger_cache::ranger_cache): Allocate the temporal cache. - (ranger_cache::~ranger_cache): Free temporal cache. - (ranger_cache::get_non_stale_global_range): New. - (ranger_cache::set_global_range): Add a timestamp. - (ranger_cache::register_dependency): New. Add timestamp dependency. - * gimple-range.cc (gimple_ranger::range_of_range_op): Add operand - dependencies. - (gimple_ranger::range_of_phi): Ditto. - (gimple_ranger::range_of_stmt): Check if global range is stale, and - recalculate if so. - -2020-11-04 Tobias Burnus - - * targhooks.c (default_zero_call_used_regs): Fix flag-name typo - in sorry. - -2020-11-04 Richard Biener - - * tree-vectorizer.h (vectorizable_phi): Adjust prototype. - * tree-vect-stmts.c (vect_transform_stmt): Adjust. - (vect_analyze_stmt): Pass cost_vec to vectorizable_phi. - * tree-vect-loop.c (vectorizable_phi): Do costing. - -2020-11-04 Richard Biener - - PR tree-optimization/97709 - * tree-vect-loop.c (vectorizable_live_operation): Set - SSA_NAME_OCCURS_IN_ABNORMAL_PHI when necessary. - -2020-11-04 Jakub Jelinek - - PR tree-optimization/97690 - * tree-ssa-phiopt.c (conditional_replacement): Also optimize - cond ? pow2p_cst : 0 as ((type) cond) << cst. - -2020-11-04 Richard Biener - - * tree-vect-loop.c (vectorizable_induction): Re-instantiate - previously removed CSE of SLP IVs. - -2020-11-04 Uroš Bizjak - - * config/i386/i386-options.c (ix86_recompute_optlev_based_flags): - Fix Intel MCU psABI comment w.r.t DEFAULT_PCC_STRUCT_RETURN. - -2020-11-04 Richard Biener - - PR bootstrap/97666 - * tree-vect-slp.c (vect_build_slp_tree_2): Revert previous - fix and instead adjust the memset. - -2020-11-04 Pat Bernardi - - * config/i386/i386elf.h (SUBTARGET_RETURN_IN_MEMORY): Remove. - (ASM_OUTPUT_ASCII): Likewise. - (DEFAULT_PCC_STRUCT_RETURN): Define. - * config/i386/i386.c (ix86_return_in_memory): Remove - SUBTARGET_RETURN_IN_MEMORY. - -2020-11-04 liuhongt - - PR target/97540 - * ira.c: (ira_setup_alts): Extract memory from operand only - for special memory constraint. - * recog.c (asm_operand_ok): Ditto. - * lra-constraints.c (process_alt_operands): MEM_P is - required for normal memory constraint. - -2020-11-04 liuhongt - - PR target/97532 - * lra-constraints.c (valid_address_p): Handle operand of - special memory constraint. - (process_address_1): Ditto. - -2020-11-03 Jan Hubicka - - PR ipa/97695 - * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Fix ICE with - in dumping code. - (cgraph_node::remove): Save clone info before releasing it and pass it - to unregister. - * cgraph.h (symtab_node::unregister): Add clone_info parameter. - (cgraph_clone::unregister): Likewise. - * cgraphclones.c (cgraph_node::find_replacement): Copy clone info - * symtab-clones.cc (clone_infos_t::duplicate): Remove. - (clone_info::get_create): Simplify. - * symtab.c (symtab_node::unregister): Pass around clone info. - * varpool.c (varpool_node::remove): Update. - -2020-11-03 Thomas Schwinge - - * omp-low.c (scan_omp_for) : Use proper location to - 'inform' of enclosing parent compute construct. - -2020-11-03 Jan Hubicka - - PR ipa/97698 - * cgraphclones.c (duplicate_thunk_for_node): Check that info is - non-NULL. - -2020-11-03 Uroš Bizjak - - * config/i386/i386.c (ix86_function_arg_regno_p): Use up to - SSE_REGPARM_MAX registers to pass function parameters - for 32bit Mach-O targets. - * config/i386/i386.h (X86_32_MMX_REGPARM_MAX): New macro. - (MMX_REGPARM_MAX): Use it. - -2020-11-03 Dennis Zhang - - * config/aarch64/aarch64-simd-builtins.def (vget_lo_half): New entry. - (vget_hi_half): Likewise. - * config/aarch64/aarch64-simd.md (aarch64_vget_lo_halfv8bf): New entry. - (aarch64_vget_hi_halfv8bf): Likewise. - * config/aarch64/arm_neon.h (vget_low_bf16): New intrinsic. - (vget_high_bf16): Likewise. - -2020-11-03 Yang Yang - - * cgraph.h (struct cgraph_simd_clone): Change field "simdlen" of - struct cgraph_simd_clone from unsigned int to poly_uint64. - * config/aarch64/aarch64.c - (aarch64_simd_clone_compute_vecsize_and_simdlen): adaptation of - operations on "simdlen". - * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen): - Printf formats update. - * gengtype.c (main): Handle poly_uint64. - * omp-simd-clone.c (simd_clone_mangle): Likewise.Re - (simd_clone_adjust_return_type): Likewise. - (create_tmp_simd_array): Likewise. - (simd_clone_adjust_argument_types): Likewise. - (simd_clone_init_simd_arrays): Likewise. - (ipa_simd_modify_function_body): Likewise. - (simd_clone_adjust): Likewise. - (expand_simd_clones): Likewise. - * poly-int-types.h (vector_unroll_factor): New macro. - * poly-int.h (constant_multiple_p): Add two-argument versions. - * tree-vect-stmts.c (vectorizable_simd_clone_call): Likewise. - -2020-11-03 Richard Biener - - PR tree-optimization/97623 - * params.opt (-param=max-pre-hoist-insert-iterations): New. - * doc/invoke.texi (max-pre-hoist-insert-iterations): Document. - * tree-ssa-pre.c (insert): Do at most max-pre-hoist-insert-iterations - hoist insert iterations. - -2020-11-03 Richard Biener - - PR middle-end/97579 - * gimple-isel.cc (gimple_expand_vec_cond_expr): Use - the correct types for the vcond_mask/vec_cmp optab queries. - -2020-11-03 Andrew MacLeod - - * gimple-range-cache.cc (ssa_global_cache::get_global_range): Return - true if there was a previous range set. - (ranger_cache::ranger_cache): Take a gimple_ranger parameter. - (ranger_cache::set_global_range): Propagate the value if updating. - (ranger_cache::propagate_cache): Renamed from iterative_cache_update. - (ranger_cache::propagate_updated_value): New. Split from: - (ranger_cache::fill_block_cache): Split out value propagator. - * gimple-range-cache.h (ssa_global_cache): Update prototypes. - (ranger_cache): Update prototypes. - -2020-11-03 Andrew MacLeod - - * gimple-range-cache.h (block_range_cache): Add new entry point. - (ranger_cache): Privatize global abnd block cache members. - * gimple-range-cache.cc (ssa_block_ranges::set_bb_range): Add bounds - check. - (ssa_block_ranges::set_bb_varying): Ditto. - (ssa_block_ranges::get_bb_range): Ditto. - (ssa_block_ranges::bb_range_p): Ditto. - (block_range_cache::get_block_ranges): Fix formatting. - (block_range_cache::query_block_ranges): New. - (block_range_cache::get_bb_range): Use Query_block_ranges. - (block_range_cache::bb_range_p): Ditto. - (ranger_cache::dump): New. - (ranger_cache::get_global_range): New. - (ranger_cache::set_global_range): New. - * gimple-range.cc (gimple_ranger::range_of_expr): Use new API. - (gimple_ranger::range_of_stmt): Ditto. - (gimple_ranger::export_global_ranges): Ditto. - (gimple_ranger::dump): Ditto. - -2020-11-03 Bernd Edlinger - - * fold-const.c (getbyterep): Remove duplicated statement. - -2020-11-03 Bernd Edlinger - - PR target/97205 - * cfgexpand.c (align_local_variable): Make SSA_NAMEs - at least MODE_ALIGNED. - (expand_one_stack_var_at): Increase MEM_ALIGN for SSA_NAMEs. - -2020-11-03 Zhiheng Xie - Nannan Zheng - - * config/aarch64/aarch64-simd-builtins.def: Add proper FLAG - for AES/SHA/SM3/SM4 intrinsics. - -2020-11-03 Zhiheng Xie - Nannan Zheng - - * config/aarch64/aarch64-simd-builtins.def: Add proper FLAG - for compare intrinsics. - -2020-11-03 Richard Biener - - * dwarf2out.c (maybe_create_die_with_external_ref): Remove - hashtable entry. - -2020-11-03 Andrea Corallo - - * config/arm/arm_neon.h (vst2_lane_bf16, vst2q_lane_bf16) - (vst3_lane_bf16, vst3q_lane_bf16, vst4_lane_bf16) - (vst4q_lane_bf16): New intrinsics. - * config/arm/arm_neon_builtins.def: Touch it for: - __builtin_neon_vst2_lanev4bf, __builtin_neon_vst2_lanev8bf, - __builtin_neon_vst3_lanev4bf, __builtin_neon_vst3_lanev8bf, - __builtin_neon_vst4_lanev4bf,__builtin_neon_vst4_lanev8bf. - -2020-11-03 Andrea Corallo - - * config/arm/arm_neon.h (vld2_lane_bf16, vld2q_lane_bf16) - (vld3_lane_bf16, vld3q_lane_bf16, vld4_lane_bf16) - (vld4q_lane_bf16): Add intrinsics. - * config/arm/arm_neon_builtins.def: Touch for: - __builtin_neon_vld2_lanev4bf, __builtin_neon_vld2_lanev8bf, - __builtin_neon_vld3_lanev4bf, __builtin_neon_vld3_lanev8bf, - __builtin_neon_vld4_lanev4bf, __builtin_neon_vld4_lanev8bf. - * config/arm/iterators.md (VQ_HS): Add V8BF to the iterator. - -2020-11-03 Andrea Corallo - - * config/arm/arm_neon.h (vst1_bf16, vst1q_bf16): Add intrinsics. - * config/arm/arm_neon_builtins.def : Touch for: - __builtin_neon_vst1v4bf, __builtin_neon_vst1v8bf. - -2020-11-03 Andrea Corallo - - * config/arm/arm-builtins.c (VAR14): Define macro. - * config/arm/arm_neon_builtins.def: Touch for: - __builtin_neon_vld1v4bf, __builtin_neon_vld1v8bf. - * config/arm/arm_neon.h (vld1_bf16, vld1q_bf16): Add intrinsics. - -2020-11-03 Andrea Corallo - - * config/arm/arm_neon.h (vst1_lane_bf16, vst1q_lane_bf16): Add - intrinsics. - * config/arm/arm_neon_builtins.def (STORE1LANE): Add v4bf, v8bf. - -2020-11-03 Andrea Corallo - - * config/arm/arm_neon_builtins.def: Add to LOAD1LANE v4bf, v8bf. - * config/arm/arm_neon.h (vld1_lane_bf16, vld1q_lane_bf16): Add - intrinsics. - -2020-11-03 Richard Biener - - PR bootstrap/97666 - * tree-vect-slp.c (vect_build_slp_tree_2): Scale - allocation of skip_args by sizeof (bool). - -2020-11-03 Richard Biener - - PR tree-optimization/80928 - * tree-vect-loop.c (vectorizable_induction): SLP vectorize - nested inductions. - -2020-11-03 Jan Hubicka - - PR ipa/97578 - * ipa-inline-transform.c (maybe_materialize_called_clones): New - function. - (inline_transform): Use it. - -2020-11-03 Richard Biener - - PR tree-optimization/97678 - * tree-vect-slp.c (vect_build_slp_tree_2): Do not track - the initial values of inductions when not nested. - * tree-vect-loop.c (vectorizable_induction): Look at - PHI node initial values again for SLP and not nested - inductions. Handle LOOP_VINFO_MASK_SKIP_NITERS and cost - invariants. - -2020-11-03 Uroš Bizjak - - * config/i386/sse.md (aesu8): - Do not use xmm_regs array. Fix whitespace. - -2020-11-03 Uroš Bizjak - - * config/i386/i386-expand.c (ix86_expand_builtin): Fix comment. - -2020-11-03 Thomas Schwinge - - * omp-low.c (scan_omp_for) : Move earlier inconsistent - nested 'reduction' clauses checking. - -2020-11-03 Thomas Schwinge - - * omp-low.c (scan_omp_for) : More precise diagnostics for - 'gang', 'worker', 'vector' clauses with arguments only allowed in - 'kernels' regions. - -2020-11-03 Kewen Lin - - PR tree-optimization/96789 - * function.h (struct function): New member unsigned pending_TODOs. - * passes.c (class pass_pre_slp_scalar_cleanup): New class. - (make_pass_pre_slp_scalar_cleanup): New function. - (pass_data_pre_slp_scalar_cleanup): New pass data. - * passes.def: (pass_pre_slp_scalar_cleanup): New pass, add - pass_fre and pass_dse as its children. - * timevar.def (TV_SCALAR_CLEANUP): New timevar. - * tree-pass.h (PENDING_TODO_force_next_scalar_cleanup): New - pending TODO flag. - (make_pass_pre_slp_scalar_cleanup): New declare. - * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely_1): - Once any outermost loop gets unrolled, flag cfun pending_TODOs - PENDING_TODO_force_next_scalar_cleanup on. - -2020-11-02 Alan Modra - - PR middle-end/97267 - * calls.h (maybe_complain_about_tail_call): Declare. - * calls.c (maybe_complain_about_tail_call): Make global. - (can_implement_as_sibling_call_p): Delete reg_parm_stack_space - param. Adjust caller. Move REG_PARM_STACK_SPACE check to.. - * config/i386/i386.c (ix86_function_ok_for_sibcall): ..here. - -2020-11-02 Vladimir N. Makarov - - * ira.c (ira_remove_scratches): Rename to remove_scratches. Make - it static and returning flag of any change. - (ira.c): Call ira_expand_reg_equiv in case of removing scratches. - -2020-11-02 H.J. Lu - - PR target/97140 - * config/i386/i386-expand.c (ix86_expand_builtin): Require MMX - for __builtin_ia32_maskmovq. - -2020-11-02 Martin Sebor - - * doc/invoke.texi (-Wstringop-overflow): Correct default setting. - (-Wstringop-overread): Move past -Wstringop-overflow. - -2020-11-02 François-Xavier Coudert - - PR bootstrap/57076 - * Makefile.in (gcc-vers.texi): Quote @, { and }. - -2020-11-02 Carl Love - - PR target/93449 - * config/rs6000/altivec.h (__builtin_bcdadd, __builtin_bcdadd_lt, - __builtin_bcdadd_eq, __builtin_bcdadd_gt, __builtin_bcdadd_ofl, - __builtin_bcdadd_ov, __builtin_bcdsub, __builtin_bcdsub_lt, - __builtin_bcdsub_eq, __builtin_bcdsub_gt, __builtin_bcdsub_ofl, - __builtin_bcdsub_ov, __builtin_bcdinvalid, __builtin_bcdmul10, - __builtin_bcddiv10, __builtin_bcd2dfp, __builtin_bcdcmpeq, - __builtin_bcdcmpgt, __builtin_bcdcmplt, __builtin_bcdcmpge, - __builtin_bcdcmple): Add defines. - * config/rs6000/altivec.md: Add UNSPEC_BCDSHIFT. - (BCD_TEST): Add le, ge to code iterator. - Add VBCD mode iterator. - (bcd_test, *bcd_test2, - bcd_, bcd_): Add mode to name. - Change iterator from V1TI to VBCD. - (*bcdinvalid_, bcdshift_v16qi): New define_insn. - (bcdinvalid_, bcdmul10_v16qi, bcddiv10_v16qi): New define. - * config/rs6000/dfp.md (dfp_denbcd_v16qi_inst): New define_insn. - (dfp_denbcd_v16qi): New define_expand. - * config/rs6000/rs6000-builtin.def (BU_P8V_MISC_1): New define. - (BCDADD): Replaced with BCDADD_V1TI and BCDADD_V16QI. - (BCDADD_LT): Replaced with BCDADD_LT_V1TI and BCDADD_LT_V16QI. - (BCDADD_EQ): Replaced with BCDADD_EQ_V1TI and BCDADD_EQ_V16QI. - (BCDADD_GT): Replaced with BCDADD_GT_V1TI and BCDADD_GT_V16QI. - (BCDADD_OV): Replaced with BCDADD_OV_V1TI and BCDADD_OV_V16QI. - (BCDSUB_V1TI, BCDSUB_V16QI, BCDSUB_LT_V1TI, BCDSUB_LT_V16QI, - BCDSUB_LE_V1TI, BCDSUB_LE_V16QI, BCDSUB_EQ_V1TI, BCDSUB_EQ_V16QI, - BCDSUB_GT_V1TI, BCDSUB_GT_V16QI, BCDSUB_GE_V1TI, BCDSUB_GE_V16QI, - BCDSUB_OV_V1TI, BCDSUB_OV_V16QI, BCDINVALID_V1TI, BCDINVALID_V16QI, - BCDMUL10_V16QI, BCDDIV10_V16QI, DENBCD_V16QI): New builtin definitions. - (BCDADD, BCDADD_LT, BCDADD_EQ, BCDADD_GT, BCDADD_OV, BCDSUB, BCDSUB_LT, - BCDSUB_LE, BCDSUB_EQ, BCDSUB_GT, BCDSUB_GE, BCDSUB_OV, BCDINVALID, - BCDMUL10, BCDDIV10, DENBCD): New overload definitions. - * config/rs6000/rs6000-call.c (P8V_BUILTIN_VEC_BCDADD, P8V_BUILTIN_VEC_BCDADD_LT, - P8V_BUILTIN_VEC_BCDADD_EQ, P8V_BUILTIN_VEC_BCDADD_GT, P8V_BUILTIN_VEC_BCDADD_OV, - P8V_BUILTIN_VEC_BCDINVALID, P9V_BUILTIN_VEC_BCDMUL10, P8V_BUILTIN_VEC_DENBCD. - P8V_BUILTIN_VEC_BCDSUB, P8V_BUILTIN_VEC_BCDSUB_LT, P8V_BUILTIN_VEC_BCDSUB_LE, - P8V_BUILTIN_VEC_BCDSUB_EQ, P8V_BUILTIN_VEC_BCDSUB_GT, P8V_BUILTIN_VEC_BCDSUB_GE, - P8V_BUILTIN_VEC_BCDSUB_OV): New overloaded specifications. - (CODE_FOR_bcdadd): Replaced with CODE_FOR_bcdadd_v16qi and CODE_FOR_bcdadd_v1ti. - (CODE_FOR_bcdadd_lt): Replaced with CODE_FOR_bcdadd_lt_v16qi and CODE_FOR_bcdadd_lt_v1ti. - (CODE_FOR_bcdadd_eq): Replaced with CODE_FOR_bcdadd_eq_v16qi and CODE_FOR_bcdadd_eq_v1ti. - (CODE_FOR_bcdadd_gt): Replaced with CODE_FOR_bcdadd_gt_v16qi and CODE_FOR_bcdadd_gt_v1ti. - (CODE_FOR_bcdsub): Replaced with CODE_FOR_bcdsub_v16qi and CODE_FOR_bcdsub_v1ti. - (CODE_FOR_bcdsub_lt): Replaced with CODE_FOR_bcdsub_lt_v16qi and CODE_FOR_bcdsub_lt_v1ti. - (CODE_FOR_bcdsub_eq): Replaced with CODE_FOR_bcdsub_eq_v16qi and CODE_FOR_bcdsub_eq_v1ti. - (CODE_FOR_bcdsub_gt): Replaced with CODE_FOR_bcdsub_gt_v16qi and CODE_FOR_bcdsub_gt_v1ti. - (rs6000_expand_ternop_builtin): Add CODE_FOR_dfp_denbcd_v16qi to else if. - * doc/extend.texi: Add documentation for new builtins. - -2020-11-02 Nathan Sidwell - - * tree.c (cache_integer_cst): Fixup pointer caching to match - wide_int_to_type_1's expectations. Add comment. - -2020-11-02 Nathan Sidwell - - * tree.h (id_equal): Call the symetric predicate with swapped - arguments. - -2020-11-02 Nathan Sidwell - - * print-tree.c (print_node): Display all the operands of a call - expr. - -2020-11-02 Vladimir N. Makarov - - * config/rs6000/vsx.md (*vsx_extract__store_p9): Add hint * - to 2nd alternative of the 1st scratch. - -2020-11-02 Sudakshina Das - - PR target/97638 - * config/aarch64/aarch64-bti-insert.c (aarch64_pac_insn_p): Update - return value on INSN_P check. - -2020-11-02 Richard Biener - - * tree.h (build_real_from_wide): Declare. - * tree.c (build_real_from_wide): New function. - * tree-vect-slp.c (vect_build_slp_tree_2): Remove - restriction on induction vectorization, represent - the initial value. - * tree-vect-loop.c (vect_model_induction_cost): Inline ... - (vectorizable_induction): ... here. Rewrite SLP - code generation. - -2020-11-02 Martin Jambor - - * dbgcnt.def (ipa_cp_values): New counter. - (ipa_cp_vr): Likewise. - * ipa-cp.c (decide_about_value): Check and bump ipa_cp_values debug - counter. - (decide_whether_version_node): Likewise. - (ipcp_store_vr_results):Check and bump ipa_cp_vr debug counter. - -2020-11-02 Christophe Lyon - - * config/arm/arm.c (arm_thumb1_mi_thunk): Build mi_delta in r3 and - do not emit function address and delta when -mpure-code is used. - -2020-11-02 Christophe Lyon - - * config/arm/thumb1.md (thumb1_movsi_insn): Call - thumb1_gen_const_int_print. - * config/arm/arm-protos.h (thumb1_gen_const_int_print): Add - prototype. - * config/arm/arm.c (thumb1_gen_const_int_print): New. - -2020-11-02 Christophe Lyon - - * config/arm/arm.c (thumb1_const_rtl, thumb1_const_print): New - classes. - (thumb1_gen_const_int): Rename to ... - (thumb1_gen_const_int_1): ... New helper function. Add capability - to emit either RTL or asm, improve generated code. - (thumb1_gen_const_int_rtl): New function. - * config/arm/arm-protos.h (thumb1_gen_const_int): Rename to - thumb1_gen_const_int_rtl. - * config/arm/thumb1.md: Call thumb1_gen_const_int_rtl instead - of thumb1_gen_const_int. - -2020-11-02 Richard Biener - - PR tree-optimization/97558 - * tree-vect-loop.c (vectorizable_reduction): For nested SLP - cycles compute invariant operands vector type. - -2020-11-02 Richard Biener - - PR tree-optimization/97558 - * tree-vect-loop.c (vect_fixup_scalar_cycles_with_patterns): - Check for any mismatch in pattern vs. non-pattern and dissolve - the group if there is one. - * tree-vect-slp.c (vect_analyze_slp_instance): Avoid - analyzing not relevant reductions. - (vect_analyze_slp): Avoid analyzing not relevant reduction - groups. - -2020-11-02 Richard Biener - - PR tree-optimization/97650 - * tree-vect-slp.c (vect_get_and_check_slp_defs): Check - for SSA_NAME before checking SSA_NAME_IS_DEFAULT_DEF. - -2020-11-02 Kito Cheng - - * common/config/riscv/riscv-common.c - (riscv_subset_list::parse_multiletter_ext): Checking multiletter - extension has more than 1 letter. - -2020-11-02 Kito Cheng - - * config.gcc (riscv*-*-*): Handle --with-multilib-generator. - * configure: Regen. - * configure.ac: Add --with-multilib-generator. - * config/riscv/multilib-generator: Exit when parsing arch string error. - * config/riscv/t-withmultilib-generator: New. - * doc/install.texi: Document --with-multilib-generator. - -2020-11-02 Christophe Lyon - - PR target/96770 - * config/arm/arm.c (thumb_legitimate_constant_p): Accept - (symbol_ref + addend) when literal pool is disabled. - (arm_valid_symbolic_address_p): Add support for thumb-1 without - MOVT/MOVW. - * config/arm/thumb1.md (*thumb1_movsi_insn): Accept (symbol_ref + - addend) in the pure-code alternative. - -2020-11-02 Christophe Lyon - - PR target/96967 - * config/arm/arm.c (thumb_legitimate_constant_p): Add support for - disabled literal pool in thumb-1. - * config/arm/thumb1.md (thumb1_movsi_symbol_ref): Remove. - (*thumb1_movsi_insn): Add support for SYMBOL_REF with -mpure-code. - -2020-11-01 Iain Sandoe - - * config/host-darwin.c: Align pch_address_space to 16384. - -2020-11-01 Pat Bernardi - - * config/i386/i386.c (ix86_expand_prologue): Set the stack usage to 0 - for naked functions. - -2020-11-01 Iain Buclaw - - PR ipa/97660 - * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Don't call - clone_info::get when cgraph_node::get returns NULL. - -2020-10-31 Jan Hubicka - - * Makefile.in: (OBJS): Add symtab-clones.o - (GTFILES): Add symtab-clones.h - * cgraph.c: Include symtab-clones.h. - (cgraph_edge::resolve_speculation): Fix formating - (cgraph_edge::redirect_call_stmt_to_callee): Update. - (cgraph_update_edges_for_call_stmt): Update - (release_function_body): Fix formating. - (cgraph_node::remove): Fix formating. - (cgraph_node::dump): Fix formating. - (cgraph_node::get_availability): Fix formating. - (cgraph_node::call_for_symbol_thunks_and_aliases): Fix formating. - (set_const_flag_1): Fix formating. - (set_pure_flag_1): Fix formating. - (cgraph_node::can_remove_if_no_direct_calls_p): Fix formating. - (collect_callers_of_node_1): Fix formating. - (clone_of_p): Update. - (cgraph_node::verify_node): Update. - (cgraph_c_finalize): Call clone_info::release (). - * cgraph.h (struct cgraph_clone_info): Move to symtab-clones.h. - (cgraph_node): Remove clone_info. - (symbol_table): Add m_clones. - * cgraphclones.c: Include symtab-clone.h. - (duplicate_thunk_for_node): Update. - (cgraph_node::create_clone): Update. - (cgraph_node::create_virtual_clone): Update. - (cgraph_node::find_replacement): Update. - (cgraph_node::materialize_clone): Update. - * gengtype.c (open_base_files): Include symtab-clones.h. - * ipa-cp.c: Include symtab-clones.h. - (initialize_node_lattices): Update. - (want_remove_some_param_p): Update. - (create_specialized_node): Update. - * ipa-fnsummary.c: Include symtab-clones.h. - (ipa_fn_summary_t::duplicate): Update. - * ipa-modref.c: Include symtab-clones.h. - (update_signature): Update. - * ipa-param-manipulation.c: Include symtab-clones.h. - (ipa_param_body_adjustments::common_initialization): Update. - * ipa-prop.c: Include symtab-clones.h. - (adjust_agg_replacement_values): Update. - (ipcp_get_parm_bits): Update. - (ipcp_update_bits): Update. - (ipcp_update_vr): Update. - * ipa-sra.c: Include symtab-clones.h. - (process_isra_node_results): Update. - (disable_unavailable_parameters): Update. - * lto-cgraph.c: Include symtab-clone.h. - (output_cgraph_opt_summary_p): Update. - (output_node_opt_summary): Update. - (input_node_opt_summary): Update. - * symtab-clones.cc: New file. - * symtab-clones.h: New file. - * tree-inline.c (expand_call_inline): Update. - (update_clone_info): Update. - (tree_function_versioning): Update. - -2020-10-31 Jan Hubicka - - * ipa-modref.c (modref_summary::dump): Dump writes_errno. - (parm_map_for_arg): Break out from ... - (merge_call_side_effects): ... here. - (get_access_for_fnspec): New function. - (process_fnspec): New function. - (analyze_call): Use it. - (analyze_stmt): Update. - (analyze_function): Initialize writes_errno. - (modref_summaries::duplicate): Duplicate writes_errno. - * ipa-modref.h (struct modref_summary): Add writes_errno. - * tree-ssa-alias.c (call_may_clobber_ref_p_1): Check errno. - -2020-10-30 Michael Meissner - - * config/rs6000/rs6000.c (glibc_supports_ieee_128bit): New helper - function. - (rs6000_option_override_internal): Call it. - -2020-10-30 Qing Zhao - H.J.Lu - - * common.opt: Add new option -fzero-call-used-regs - * config/i386/i386.c (zero_call_used_regno_p): New function. - (zero_call_used_regno_mode): Likewise. - (zero_all_vector_registers): Likewise. - (zero_all_st_registers): Likewise. - (zero_all_mm_registers): Likewise. - (ix86_zero_call_used_regs): Likewise. - (TARGET_ZERO_CALL_USED_REGS): Define. - * df-scan.c (df_epilogue_uses_p): New function. - (df_get_exit_block_use_set): Replace EPILOGUE_USES with - df_epilogue_uses_p. - * df.h (df_epilogue_uses_p): Declare. - * doc/extend.texi: Document the new zero_call_used_regs attribute. - * doc/invoke.texi: Document the new -fzero-call-used-regs option. - * doc/tm.texi: Regenerate. - * doc/tm.texi.in (TARGET_ZERO_CALL_USED_REGS): New hook. - * emit-rtl.h (struct rtl_data): New field must_be_zero_on_return. - * flag-types.h (namespace zero_regs_flags): New namespace. - * function.c (gen_call_used_regs_seq): New function. - (class pass_zero_call_used_regs): New class. - (pass_zero_call_used_regs::execute): New function. - (make_pass_zero_call_used_regs): New function. - * optabs.c (expand_asm_reg_clobber_mem_blockage): New function. - * optabs.h (expand_asm_reg_clobber_mem_blockage): Declare. - * opts.c (zero_call_used_regs_opts): New structure array - initialization. - (parse_zero_call_used_regs_options): New function. - (common_handle_option): Handle -fzero-call-used-regs. - * opts.h (zero_call_used_regs_opts): New structure array. - * passes.def: Add new pass pass_zero_call_used_regs. - * recog.c (valid_insn_p): New function. - * recog.h (valid_insn_p): Declare. - * resource.c (init_resource_info): Replace EPILOGUE_USES with - df_epilogue_uses_p. - * target.def (zero_call_used_regs): New hook. - * targhooks.c (default_zero_call_used_regs): New function. - * targhooks.h (default_zero_call_used_regs): Declare. - * tree-pass.h (make_pass_zero_call_used_regs): Declare. - -2020-10-30 Vladimir N. Makarov - - * lra.c (get_scratch_reg): New function. - (remove_scratches_1): Rename remove_insn_scratches. Use - ira_remove_insn_scratches and get_scratch_reg. - (remove_scratches): Do not - initialize scratches, scratch_bitmap, and scratch_operand_bitmap. - (lra): Call ira_restore_scratches instead of restore_scratches. - (struct sloc, sloc_t, scratches, scratch_bitmap) - (scratch_operand_bitmap, lra_former_scratch_p) - (lra_former_scratch_operand_p, lra_register_new_scratch_op) - (restore_scratches): Move them to ... - * ira.c: ... here. - (former_scratch_p, former_scratch_operand_p): Rename to - ira_former_scratch_p and ira_former_scratch_operand_p. - (contains_X_constraint_p): New function. - (register_new_scratch_op): Rename to ira_register_new_scratch_op. - Change it to work for IRA and LRA. - (restore_scratches): Rename to ira_restore_scratches. - (get_scratch_reg, ira_remove_insn_scratches): New functions. - (ira): Call ira_remove_scratches if we use LRA. - * ira.h (ira_former_scratch_p, ira_former_scratch_operand_p): New - prototypes. - (ira_register_new_scratch_op, ira_restore_scratches): New prototypes. - (ira_remove_insn_scratches): New prototype. - * lra-int.h (lra_former_scratch_p, lra_former_scratch_operand_p): - Remove prototypes. - (lra_register_new_scratch_op): Ditto. - * lra-constraints.c: Rename lra_former_scratch_p and - lra_former_scratch_p to ira_former_scratch_p and to - ira_former_scratch_p. - * lra-remat.c: Ditto. - * lra-spills.c: Rename lra_former_scratch_p to ira_former_scratch_p. - -2020-10-30 Martin Sebor - - PR middle-end/97556 - * builtins.c (access_ref::add_offset): Cap offset lower bound - to at most the the upper bound. - -2020-10-30 Jan Hubicka - - PR pch/97593 - * cgraph.c (cgraph_node::create_thunk): Register thunk as early during - parsing. - * cgraphunit.c (analyze_functions): Call - thunk_info::process_early_thunks. - * symtab-thunks.cc (struct unprocessed_thunk): New struct. - (thunks): New static variable. - (thunk_info::register_early): New member function. - (thunk_info::process_early_thunks): New member function. - * symtab-thunks.h (thunk_info::register_early): Declare. - (thunk_info::process_early_thunks): Declare. - -2020-10-30 Richard Biener - - PR tree-optimization/97623 - * tree-ssa-pre.c (insert): First do hoist insertion in - a backward walk. - -2020-10-30 Richard Biener - - PR tree-optimization/97626 - * tree-vect-slp.c (vect_slp_analyze_node_operations): - Exchange the lvisited hash-set for a vector, roll back - recursive adds to visited when analysis failed. - (vect_slp_analyze_operations): Likewise. - -2020-10-30 Zhiheng Xie - Nannan Zheng - - * config/aarch64/aarch64-simd-builtins.def: Add proper FLAG - for conversion intrinsics. - -2020-10-30 Richard Biener - - PR tree-optimization/97633 - * tree-vect-slp.c (): Update backedges in single-node cycles. - Optimize processing of externals. - -2020-10-30 Alex Coplan - - PR target/96998 - * combine.c (make_extraction): Also handle shifts written as - (mult x 2^n), avoid creating an extract rtx for these. - * config/aarch64/aarch64.c (aarch64_is_extend_from_extract): Delete. - (aarch64_classify_index): Remove extract-based address handling. - (aarch64_strip_extend): Likewise. - (aarch64_rtx_arith_op_extract_p): Likewise, remove now-unused parameter. - Update callers... - (aarch64_rtx_costs): ... here. - -2020-10-30 Olivier Hainque - - * config/rs6000/vxworks.h (TARGET_OS_CPP_BUILTINS): Also - builtin_define __ppc and __ppc__ for VxWorks 7. - -2020-10-30 Olivier Hainque - Douglas Rupp - Pat Bernardi - - * config.gcc: Adjust the ix86/x86_64-wrs-vxworks filters - to apply to VxWorks 7 as well. - * config/i386/t-vxworks (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): - Remove the fPIC multilib and add one for the large code model - on x86_64. - * config/i386/vxworks.h: Separate sections for TARGET_VXWORKS7, - other variants and common bits. - (TARGET_OS_CPP_BUILTINS): Augment to support a range of CPU - families. Leverage VX_CPU_PREFIX. - (CC1_SPEC): Add definition. - (STACK_CHECK_PROTECT): Use conditional expression instead of - heavier to read conditioned macro definitions. - -2020-10-30 Jakub Jelinek - - * gimplify.c (gimplify_scan_omp_clauses): Force - OMP_CLAUSE_ALLOCATE_ALLOCATOR into a temporary if it is non-NULL and - non-constant. - (gimplify_omp_for): Only put allocate on inner taskloop if lastprivate - for the same variable is going to be put there, and in that case - if the OMP_CLAUSE_ALLOCATE_ALLOCATOR is non-NULL non-constant, make - the allocator firstprivate on task. - -2020-10-30 Michael Meissner - - * config/rs6000/rs6000.c (rs6000_option_override_internal): Allow - long double type to be changed for C/C++ if glibc 2.32 or newer. - (rs6000_invalid_binary_op): Update error messages about mixing IBM - long double and IEEE 128-bit. - -2020-10-29 Richard Biener - - * tree-ssa-pre.c (compute_avail): Free operands consistently. - * tree-vect-loop.c (vectorizable_phi): Make sure all operand - defs vectors are released. - -2020-10-29 Jan Hubicka - - * vec.h (vec::copy): Pass mem stat info. - -2020-10-29 Jan Hubicka - - * wide-int.h (trailing_wide_ints ): Turn len to array of structures - so it does not imply typeless storage. - (trailing_wide_ints ::operator): update - (trailing_wide_ints ::operator []): Update. - -2020-10-29 Joseph Myers - - * ginclude/stdbool.h [__STDC_VERSION__ > 201710L] (true, false): - Define with type _Bool. - -2020-10-29 Aldy Hernandez - - PR tree-optimization/97505 - * vr-values.c (vr_values::extract_range_basic): Enable - trap again for everything except UBSAN builtins. - -2020-10-29 Richard Sandiford - - * tree-vectorizer.h (vect_transform_slp_perm_load): Take an - optional extra parameter. - * tree-vect-slp.c (vect_transform_slp_perm_load): Calculate - the number of loads as well as the number of permutes, taking - the counting loop from... - * tree-vect-stmts.c (vect_model_load_cost): ...here. Use the - value computed by vect_transform_slp_perm_load for ncopies. - -2020-10-29 Martin Liska - - PR lto/97508 - * langhooks.c (lhd_begin_section): Call get_section with - not_existing = true. - * output.h (get_section): Add new argument. - * varasm.c (get_section): Fail when NOT_EXISTING is true - and a section already exists. - * ipa-cp.c (ipcp_write_summary): Remove. - (ipcp_read_summary): Likewise. - * ipa-fnsummary.c (ipa_fn_summary_read): Always read jump - functions summary. - (ipa_fn_summary_write): Always stream it. - -2020-10-29 Richard Biener - - * tree-vect-slp.c (vect_bb_slp_scalar_cost): Pass - SLP_TREE_VECTYPE to record_stmt_cost. - -2020-10-29 Martin Liska - - * optc-gen.awk: Check that params start with -param=. - * params.opt: Fix ipa-jump-function-lookups. - -2020-10-29 Alexandre Oliva - - * tree-ssa-math-opts.c (sincos_stats): Add conv_removed. - (execute_cse_conv_1): New. - (execute_cse_sincos_1): Call it. Fix return within - FOR_EACH_IMM_USE_STMT. - (pass_cse_sincos::execute): Report conv_inserted. - -2020-10-29 Xuepeng Guo - Hongyu Wang - Hongtao Liu - - * common/config/i386/cpuinfo.h (get_available_features): - Detect KL, AESKLE and WIDEKL features. - * common/config/i386/i386-common.c - (OPTION_MASK_ISA_KL_SET): New. - (OPTION_MASK_ISA_WIDEKL_SET): Likewise. - (OPTION_MASK_ISA_KL_UNSET): Likewise. - (OPTION_MASK_ISA_WIDEKL_UNSET): Likewise. - (OPTION_MASK_ISA2_AVX2_UNSET): Likewise. - (OPTION_MASK_ISA2_AVX_UNSET): Likewise. - (OPTION_MASK_ISA2_SSE4_2_UNSET): Likewise. - (OPTION_MASK_ISA2_SSE4_1_UNSET): Likewise. - (OPTION_MASK_ISA2_SSE4_UNSET): Likewise. - (OPTION_MASK_ISA2_SSSE3_UNSET): Likewise. - (OPTION_MASK_ISA2_SSE3_UNSET): Likewise. - (OPTION_MASK_ISA2_SSE2_UNSET): Likewise. - (OPTION_MASK_ISA2_SSE_UNSET): Likewise. - (ix86_handle_option): Handle kl and widekl, add dependency chain - for KL and SSE2. - * common/config/i386/i386-cpuinfo.h (enum processor_features): - (FEATURE_KL, FEATURE_AESKLE, FEATURE_WIDEKL): New. - * common/config/i386/i386-isas.h: Add ISA_NAMES_TABLE_ENTRY - for KL, AESKLE and WIDEKL. - * config.gcc: Add keylockerintrin.h. - * doc/invoke.texi: Document new option -mkl and -mwidekl. - * doc/extend.texi: Document kl and widekl. - * config/i386/cpuid.h (bit_KL, bit_AESKLE, bit_WIDEKL): New. - * config/i386/i386-builtin-types.def ((UINT, UINT, V2DI, V2DI, PVOID), - (UINT, UINT, V2DI, PVOID), (VOID, V2DI, V2DI, V2DI, UINT), - (UINT8, PV2DI, V2DI, PCVOID), (UINT8, PV2DI, PCV2DI, PCVOID)): New - function types. - * config/i386/i386-builtin.def: Add - __builtin_ia32_loadiwkey, - __builtin_ia32_aesdec128kl_u8, - __builtin_ia32_aesdec256kl_u8, - __builtin_ia32_aesenc128kl_u8, - __builtin_ia32_aesenc256kl_u8, - __builtin_ia32_aesdecwide128kl_u8, - __builtin_ia32_aesdecwide256kl_u8, - __builtin_ia32_aesencwide128kl_u8, - __builtin_ia32_aesencwide256kl_u8, - __builtin_ia32_encodekey128_u32, - __builtin_ia32_encodekey256_u32. - * config/i386/i386-c.c (ix86_target_macros_internal): Handle - kl and widekl. - * config/i386/i386-options.c (isa2_opts): Add -mkl and -mwidekl. - (ix86_option_override_internal): Handle KL and WIDEKL. - (ix86_valid_target_attribute_inner_p): Add attribute for kl and widekl. - * config/i386/i386-expand.c - (ix86_expand_builtin): Expand Keylocker Builtins. - * config/i386/i386.h (TARGET_KL): New. - (TARGET_KL_P): Likewise. - (TARGET_WIDEKL): Likewise. - (TARGET_WIDEKL_P): Likewise. - (PTA_KL): Likewise. - (PTA_WIDEKL): Likewise. - (PTA_TIGERLAKE): Add PTA_KL, PTA_WIDEKL. - (PTA_ALDERLAKE): Likewise. - * config/i386/i386.opt: Add new option mkl and mwidekl. - * config/i386/keylockerintrin.h: New header file for Keylocker. - * config/i386/immintrin.h: Include keylockerintrin.h. - * config/i386/predicates.md (encodekey128_operation): New - predicate. - (encodekey256_operation): Likewise. - (aeswidekl_operation): Likewise. - * config/i386/sse.md (UNSPECV_LOADIWKEY): New. - (UNSPECV_AESDEC128KLU8): Likewise. - (UNSPECV_AESENC128KLU8): Likewise. - (UNSPECV_AESDEC256KLU8): Likewise. - (UNSPECV_AESENC256KLU8): Likewise. - (UNSPECV_AESDECWIDE128KLU8): Likewise. - (UNSPECV_AESENCWIDE128KLU8): Likewise. - (UNSPECV_AESDECWIDE256KLU8): Likewise. - (UNSPECV_AESENCWIDE256KLU8): Likewise. - (UNSPECV_ENCODEKEY128U32): Likewise. - (UNSPECV_ENCODEKEY256U32): Likewise. - (encodekey128u32): New expander. - (encodekey256u32): Likewise. - (aesu8): Likewise. - (loadiwkey): New insn pattern. - (*encodekey128u32): Likewise. - (*encodekey256u32): Likewise. - (aesu8): Likewise. - (*aesu8): Likewise. - -2020-10-29 Richard Biener - - * tree-vect-slp.c (vect_build_slp_tree_2): Allow splatting - not vectorizable loads. - (vect_build_slp_instance): Amend dumping with address. - (vect_slp_convert_to_external): Likewise. - -2020-10-29 Andrew MacLeod - - PR tree-optimization/97609 - * gimple-range-cache.cc (non_null_ref::process_name): Call - infer_nonnull_range directly instead of infer_value_range. - -2020-10-29 David Malcolm - - * Makefile.in (ANALYZER_OBJS): Add analyzer/complexity.o. - -2020-10-28 Marek Polacek - - PR c++/97573 - * doc/invoke.texi: Document -Wdeprecated-enum-enum-conversion - and -Wdeprecated-enum-float-conversion. -Wenum-conversion is - no longer C/ObjC only. - -2020-10-28 Richard Sandiford - - PR tree-optimization/97457 - * value-range.cc (irange::set): Don't decay POLY_INT_CST ranges - to integer ranges. - -2020-10-28 Carl Love - - * config/rs6000/vsx.md(xxgenpcvm__internal): Remove TARGET_64BIT. - -2020-10-28 Richard Biener - - * tree-vect-slp.c (vect_slp_analyze_node_operations_1): Dump - when shared vectype update fails. - -2020-10-28 Richard Biener - - * tree-vect-slp.c (vect_get_and_check_slp_defs): For skipped - args just push NULLs and vect_uninitialized_def. - (vect_build_slp_tree_2): Allocate skip_args for all ops - and pass it down to vect_get_and_check_slp_defs. - -2020-10-28 Richard Biener - - PR tree-optimization/97615 - * tree-vect-slp.c (vect_build_slp_tree_2): Do not build - an external from pattern defs. - -2020-10-28 Richard Biener - - * tree-vect-slp.c (vect_optimize_slp): Fix iteration over - all loads. - -2020-10-28 Richard Biener - - * tree-vect-slp.c (vect_build_slp_instance): Split the store - group at the failure boundary and also re-analyze a large enough - matching rest. - -2020-10-28 Richard Biener - - * tree-vect-data-refs.c (vect_slp_analyze_node_alignment): - Dump when vect_update_shared_vectype fails. - -2020-10-28 Andrea Corallo - - * config/aarch64/arm_neon.h (__ST2_LANE_FUNC, __ST3_LANE_FUNC) - (__ST4_LANE_FUNC): Rename the macro generating the 'q' variants - into __ST2Q_LANE_FUNC, __ST2Q_LANE_FUNC, __ST2Q_LANE_FUNC so they - all can be undefed at the and of the file. - (vst2_lane_bf16, vst2q_lane_bf16, vst3_lane_bf16, vst3q_lane_bf16) - (vst4_lane_bf16, vst4q_lane_bf16): Add new intrinsics. - -2020-10-28 Andrea Corallo - - * config/aarch64/arm_neon.h (__LD2_LANE_FUNC, __LD3_LANE_FUNC) - (__LD4_LANE_FUNC): Rename the macro generating the 'q' variants - into __LD2Q_LANE_FUNC, __LD2Q_LANE_FUNC, __LD2Q_LANE_FUNC so they - all can be undefed at the and of the file. - (vld2_lane_bf16, vld2q_lane_bf16, vld3_lane_bf16, vld3q_lane_bf16) - (vld4_lane_bf16, vld4q_lane_bf16): Add new intrinsics. - -2020-10-28 Jakub Jelinek - - * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_ALLOCATE. - * tree.h (OMP_CLAUSE_ALLOCATE_ALLOCATOR, - OMP_CLAUSE_ALLOCATE_COMBINED): Define. - * tree.c (omp_clause_num_ops, omp_clause_code_name): Add allocate - clause. - (walk_tree_1): Handle OMP_CLAUSE_ALLOCATE. - * tree-pretty-print.c (dump_omp_clause): Likewise. - * gimplify.c (gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses, - gimplify_omp_for): Likewise. - * tree-nested.c (convert_nonlocal_omp_clauses, - convert_local_omp_clauses): Likewise. - * omp-low.c (scan_sharing_clauses): Likewise. - -2020-10-28 Jakub Jelinek - - * omp-offload.c (omp_declare_target_tgt_fn_r): Handle direct calls to - declare variant base functions. - -2020-10-28 Jakub Jelinek - - PR lto/96680 - * lto-streamer.h (omp_lto_output_declare_variant_alt, - omp_lto_input_declare_variant_alt): Declare variant. - * symtab.c (symtab_node::get_partitioning_class): Return - SYMBOL_DUPLICATE for declare_variant_alt nodes. - * passes.c (ipa_write_summaries): Add declare_variant_alt to - partition. - * lto-cgraph.c (output_refs): Call omp_lto_output_declare_variant_alt - on declare_variant_alt nodes. - (input_refs): Call omp_lto_input_declare_variant_alt on - declare_variant_alt nodes. - * lto-streamer-out.c (output_function): Don't call - collect_block_tree_leafs if DECL_INITIAL is error_mark_node. - (lto_output): Call output_function even for declare_variant_alt - nodes. - * omp-general.c (omp_lto_output_declare_variant_alt, - omp_lto_input_declare_variant_alt): New functions. - -2020-10-28 Jakub Jelinek - - * wide-int.cc (wi::set_bit_large): Call canonize unless setting - msb bit and clearing bits above it. - -2020-10-28 Andrew MacLeod - - * gimple-range-gori.cc (gori_compute_cache::cache_stmt): Accumulate - return values and only set cache when everything returned true. - * gimple-range.cc (get_tree_range): Set the return range to UNDEFINED - when the range isn't supported. - (gimple_ranger::calc_stmt): Return varying if the type is supported, - even if the stmt processing failed. False otherwise. - (range_of_builtin_ubsan_call): Don't use gcc_assert. - (range_of_builtin_call): Ditto. - (gimple_ranger::range_of_cond_expr): Ditto. - (gimple_ranger::range_of_expr): Ditto - (gimple_ranger::range_on_entry): Ditto. - (gimple_ranger::range_on_exit): Ditto. - (gimple_ranger::range_on_edge): DItto. - (gimple_ranger::range_of_stmt): Don't use gcc_assert, and initialize - return value to UNDEFINED. - -2020-10-27 Andreas Krebbel - - PR rtl-optimization/97497 - * config/s390/s390.c (s390_hard_regno_call_part_clobbered): Do not - return true for r12 when -fpic is used. - -2020-10-27 Tamar Christina - - PR target/97535 - * config/aarch64/aarch64.c (aarch64_expand_cpymem): Use unsigned - arithmetic in check. - -2020-10-27 Andrea Corallo - - * config/aarch64/arm_neon.h (vcopy_lane_bf16, vcopyq_lane_bf16) - (vcopyq_laneq_bf16, vcopy_laneq_bf16): New intrinsics. - -2020-10-27 Olivier Hainque - - * config/vxworks.h (VX_CPU_PREFIX): #define here. - * config/rs6000/vxworks.h: Remove #definition. - -2020-10-27 Olivier Hainque - - * config/rs6000/vxworks.h (CPP_SPEC): Fix macro definition - for -mcpu=e6500. - -2020-10-27 Richard Biener - - * tree-vect-slp.c (vect_build_slp_instance): Use ceil_log2 - to compute maximum group-size. - -2020-10-27 Jan Hubicka - - PR ipa/97586 - * ipa-modref-tree.h (modref_tree::remap_params): New member function. - * ipa-modref.c (modref_summaries_lto::duplicate): Check that - optimization summaries are not duplicated. - (remap_arguments): Remove. - (modref_transform): Rename to ... - (update_signature): ... this one; handle also lto summary. - (pass_ipa_modref::execute): Update signatures here rather - than in transform hook. - -2020-10-27 Richard Biener - - * tree-vect-slp.c (vect_slp_bbs): Remove no-op - slp-max-insns-in-bb check. - (vect_slp_function): Dump when splitting the function. - Adjust the split condition for control altering stmts. - * params.opt (-param=slp-max-insns-in-bb): Remove. - * doc/invoke.texi (-param=slp-max-insns-in-bb): Likewise. - -2020-10-27 Richard Biener - - * gimple.h (gimple_expr_type): For PHIs return the type - of the result. - * tree-vect-loop-manip.c (slpeel_tree_duplicate_loop_to_edge_cfg): - Make sure edge order into copied loop headers line up with the - originals. - * tree-vect-loop.c (vect_transform_cycle_phi): Handle nested - loops with SLP. - (vectorizable_phi): New function. - (vectorizable_live_operation): For BB vectorization compute insert - location here. - * tree-vect-slp.c (vect_free_slp_tree): Deal with NULL - SLP_TREE_CHILDREN entries. - (vect_create_new_slp_node): Add overloads with pre-existing node - argument. - (vect_print_slp_graph): Likewise. - (vect_mark_slp_stmts): Likewise. - (vect_mark_slp_stmts_relevant): Likewise. - (vect_gather_slp_loads): Likewise. - (vect_optimize_slp): Likewise. - (vect_slp_analyze_node_operations): Likewise. - (vect_bb_slp_scalar_cost): Likewise. - (vect_remove_slp_scalar_calls): Likewise. - (vect_get_and_check_slp_defs): Handle PHIs. - (vect_build_slp_tree_1): Handle PHIs. - (vect_build_slp_tree_2): Continue SLP build, following PHI - arguments. Fix memory leak. - (vect_build_slp_tree): Put stub node into the hash-map so - we can discover cycles directly. - (vect_build_slp_instance): Set the backedge SLP def for - reduction chains. - (vect_analyze_slp_backedges): Remove. - (vect_analyze_slp): Do not call it. - (vect_slp_convert_to_external): Release SLP_TREE_LOAD_PERMUTATION. - (vect_slp_analyze_node_operations): Handle stray failed - backedge defs by failing. - (vect_slp_build_vertices): Adjust leaf condition. - (vect_bb_slp_mark_live_stmts): Handle PHIs, use visited - hash-set to handle cycles. - (vect_slp_analyze_operations): Adjust. - (vect_bb_partition_graph_r): Likewise. - (vect_slp_function): Adjust split condition to allow CFG - merges. - (vect_schedule_slp_instance): Rename to ... - (vect_schedule_slp_node): ... this. Move DFS walk to ... - (vect_schedule_scc): ... this new function. - (vect_schedule_slp): Call it. Remove ad-hoc vectorized - backedge fill code. - * tree-vect-stmts.c (vect_analyze_stmt): Call - vectorizable_phi. - (vect_transform_stmt): Likewise. - (vect_is_simple_use): Handle vect_backedge_def. - * tree-vectorizer.c (vec_info::new_stmt_vec_info): Only - set loop header PHIs to vect_unknown_def_type for loop - vectorization. - * tree-vectorizer.h (enum vect_def_type): Add vect_backedge_def. - (enum stmt_vec_info_type): Add phi_info_type. - (vectorizable_phi): Declare. - -2020-10-27 Richard Biener - - * tree-vect-slp.c (vect_build_slp_tree_2): When vectorizing - BBs splat uniform operands and stop SLP discovery. - -2020-10-27 Iain Buclaw - - * config/aarch64/aarch64-linux.h (GNU_USER_TARGET_D_CRITSEC_SIZE): - Remove. - * config/glibc-d.c (glibc_d_critsec_size): Likewise. - (TARGET_D_CRITSEC_SIZE): Likewise. - * config/i386/linux-common.h (GNU_USER_TARGET_D_CRITSEC_SIZE): - Likewise. - * config/sol2-d.c (solaris_d_critsec_size): Likewise. - (TARGET_D_CRITSEC_SIZE): Likewise. - * doc/tm.texi.in (TARGET_D_CRITSEC_SIZE): Likewise. - * doc/tm.texi: Regenerate. - -2020-10-27 Martin Liska - - PR gcov-profile/97461 - * gcov-io.h (GCOV_PREALLOCATED_KVP): Pre-allocate 64 - static counters. - -2020-10-27 Jan Hubicka - - * tree-ssa-alias.c (attr_fnspec::verify): Re-enabl checking. - -2020-10-27 Jan Hubicka - - * builtin-attrs.def (STRERRNOC): New macro. - (STRERRNOP): New macro. - (ATTR_ERRNOCONST_NOTHROW_LEAF_LIST): New attr list. - (ATTR_ERRNOPURE_NOTHROW_LEAF_LIST): New attr list. - * builtins.def (ATTR_MATHFN_ERRNO): Use - ATTR_ERRNOCONST_NOTHROW_LEAF_LIST. - (ATTR_MATHFN_FPROUNDING_ERRNO): Use ATTR_ERRNOCONST_NOTHROW_LEAF_LIST - or ATTR_ERRNOPURE_NOTHROW_LEAF_LIST. - -2020-10-27 Kito Cheng - - * common/config/riscv/riscv-common.c (opt_var_ref_t): New. - (riscv_ext_flag_table_t): New. - (riscv_ext_flag_table): New. - (riscv_parse_arch_string): Pass gcc_options* instead of - &opts->x_target_flags only, and using riscv_arch_option_table to - setup flags. - (riscv_handle_option): Update argument for riscv_parse_arch_string. - (riscv_expand_arch): Ditto. - (riscv_expand_arch_from_cpu): Ditto. - -2020-10-27 Jan Hubicka - - * tree-ssa-ccp.c (evaluate_stmt): Use EAF_RETURN_ARG; do not handle - string buitings specially. - -2020-10-27 Jan Hubicka - - * tree.c (set_call_expr_flags): Fix string for ECF_RET1. - (build_common_builtin_nodes): Do not set ECF_RET1 for memcpy, memmove, - and memset. They are handled by builtin_fnspec. - -2020-10-27 Jan Hubicka - - * builtins.c (builtin_fnspec): Add bzero, memcmp, memcmp_eq, bcmp, - strncmp, strncmp_eq, strncasecmp, rindex, strlen, strlnen, strcasecmp, - strcspn, strspn, strcmp, strcmp_eq. - -2020-10-27 Richard Biener - - * tree-vectorizer.h (slp_tree_pool): Declare. - (_slp_tree::operator new): Likewise. - (_slp_tree::operator delete): Likewise. - * tree-vectorizer.c (vectorize_loops): Allocate and free the - slp_tree_pool. - (pass_slp_vectorize::execute): Likewise. - * tree-vect-slp.c (slp_tree_pool): Define. - (_slp_tree::operator new): Likewise. - (_slp_tree::operator delete): Likewise. - -2020-10-27 Martin Liska - - * lto-wrapper.c (run_gcc): Do not use sub-make when jobserver is - not detected properly. - -2020-10-27 Martin Liska - - * symbol-summary.h (call_summary_base): Pass symtab hooks to - base and register (or unregister) hooks directly. - -2020-10-27 Martin Liska - - * symbol-summary.h (function_summary_base::unregister_hooks): - Call disable_insertion_hook and disable_duplication_hook. - (function_summary_base::symtab_insertion): New field. - (function_summary_base::symtab_removal): Likewise. - (function_summary_base::symtab_duplication): Likewise. - Register hooks in function_summary_base and directly register - (or unregister) hooks. - -2020-10-26 Andrew MacLeod - - PR tree-optimization/97567 - * gimple-range-gori.cc (gori_compute::logical_combine): Union the - ranges of operand1 and operand2, not intersect. - -2020-10-26 Jan Hubicka - - * attr-fnspec.h: Update toplevel comment. - (attr_fnspec::attr_fnspec): New constructor. - (attr_fnspec::arg_read_p, - attr_fnspec::arg_written_p, - attr_fnspec::arg_access_size_given_by_arg_p, - attr_fnspec::arg_single_access_p - attr_fnspec::loads_known_p - attr_fnspec::stores_known_p, - attr_fnspec::clobbers_errno_p): New member functions. - (gimple_call_fnspec): Declare. - (builtin_fnspec): Declare. - * builtins.c: Include attr-fnspec.h - (builtin_fnspec): New function. - * builtins.def (BUILT_IN_MEMCPY): Do not specify RET1 fnspec. - (BUILT_IN_MEMMOVE): Do not specify RET1 fnspec. - (BUILT_IN_MEMSET): Do not specify RET1 fnspec. - (BUILT_IN_STRCAT): Do not specify RET1 fnspec. - (BUILT_IN_STRCPY): Do not specify RET1 fnspec. - (BUILT_IN_STRNCAT): Do not specify RET1 fnspec. - (BUILT_IN_STRNCPY): Do not specify RET1 fnspec. - (BUILT_IN_MEMCPY_CHK): Do not specify RET1 fnspec. - (BUILT_IN_MEMMOVE_CHK): Do not specify RET1 fnspec. - (BUILT_IN_MEMSET_CHK): Do not specify RET1 fnspec. - (BUILT_IN_STRCAT_CHK): Do not specify RET1 fnspec. - (BUILT_IN_STRCPY_CHK): Do not specify RET1 fnspec. - (BUILT_IN_STRNCAT_CHK): Do not specify RET1 fnspec. - (BUILT_IN_STRNCPY_CHK): Do not specify RET1 fnspec. - * gimple.c (gimple_call_fnspec): Return attr_fnspec. - (gimple_call_arg_flags): Update. - (gimple_call_return_flags): Update. - * tree-ssa-alias.c (check_fnspec): New function. - (ref_maybe_used_by_call_p_1): Use fnspec for builtin handling. - (call_may_clobber_ref_p_1): Likewise. - (attr_fnspec::verify): Update verifier. - * calls.c (decl_fnspec): New function. - (decl_return_flags): Use it. - -2020-10-26 Aldy Hernandez - - PR tree-optimization/97555 - * range-op.cc (range_tests): Test 1-bit signed invert. - * value-range.cc (subtract_one): Adjust comment. - (add_one): New. - (irange::invert): Call add_one. - -2020-10-26 Jan Hubicka - - * cgraph.h (cgraph_node::optimize_for_size_p): Return - optimize_size_level. - (cgraph_node::optimize_for_size_p): Update. - * coretypes.h (enum optimize_size_level): New enum. - * predict.c (unlikely_executed_edge_p): Microoptimize. - (optimize_function_for_size_p): Return optimize_size_level. - (optimize_bb_for_size_p): Likewise. - (optimize_edge_for_size_p): Likewise. - (optimize_insn_for_size_p): Likewise. - (optimize_loop_nest_for_size_p): Likewise. - * predict.h (optimize_function_for_size_p): Update declaration. - (optimize_bb_for_size_p): Update declaration. - (optimize_edge_for_size_p): Update declaration. - (optimize_insn_for_size_p): Update declaration. - (optimize_loop_for_size_p): Update declaration. - (optimize_loop_nest_for_size_p): Update declaration. - -2020-10-26 Richard Biener - - * tree-vect-slp.c (enum slp_instance_kind): New. - (vect_build_slp_instance): Split out from... - (vect_analyze_slp_instance): ... this. - -2020-10-26 Andrew MacLeod - - * gimple-range.cc (range_of_builtin_call): Initialize zerov to 0. - -2020-10-26 Jan Hubicka - - PR ipa/97576 - * cgraphclones.c (cgraph_node::materialize_clone): Clear stmt - references. - * cgraphunit.c (mark_functions_to_output): Do not clear them here. - * ipa-inline-transform.c (inline_transform): Clear stmt references. - * symtab.c (symtab_node::clear_stmts_in_references): Make recursive - for clones. - * tree-ssa-structalias.c (ipa_pta_execute): Do not clear references. - -2020-10-26 Zhiheng Xie - Nannan Zheng - - * config/aarch64/aarch64-builtins.c: Add FLAG STORE. - * config/aarch64/aarch64-simd-builtins.def: Add proper FLAG - for store intrinsics. - -2020-10-26 Kyrylo Tkachov - - PR tree-optimization/97546 - * gimple-ssa-store-merging.c (find_bswap_or_nop): Return NULL if - type is not INTEGER_CST. - -2020-10-26 Richard Biener - - PR middle-end/97521 - * expr.c (const_scalar_mask_from_tree): Remove. - (expand_expr_real_1): Always VIEW_CONVERT integer mode - vector constants to an integer type. - * tree.c (build_truth_vector_type_for_mode): Use a single-bit - boolean component type for non-vector-mode mask_mode. - -2020-10-26 H.J. Lu - - PR target/95458 - * config/i386/i386-expand.c (ix86_expand_cmpstrn_or_cmpmem): - Return false for -mno-inline-all-stringops. - -2020-10-26 H.J. Lu - - PR target/95151 - * config/i386/i386-expand.c (ix86_expand_cmpstrn_or_cmpmem): New - function. - * config/i386/i386-protos.h (ix86_expand_cmpstrn_or_cmpmem): New - prototype. - * config/i386/i386.md (cmpmemsi): New pattern. - -2020-10-26 Andreas Krebbel - - * config/s390/vector.md ("vcond_mask_"): New expander. - -2020-10-26 Richard Biener - - * sbitmap.c (sbitmap_vector_alloc): Use size_t for byte - quantities to avoid overflow. - -2020-10-26 Richard Biener - - PR tree-optimization/97539 - * tree-vect-loop-manip.c (vect_do_peeling): Reset out-of-loop - debug uses before peeling. - -2020-10-26 Jan Hubicka - - * cgraph.h (struct cgraph_node): Make ipa_transforms_to_apply vl_ptr. - * ipa-inline-analysis.c (initialize_growth_caches): Disable insertion - and duplication hooks. - * ipa-inline-transform.c (clone_inlined_nodes): Clear - ipa_transforms_to_apply. - (save_inline_function_body): Disable insertion hoook for - ipa_saved_clone_sources. - * ipa-prop.c (ipcp_transformation_initialize): Disable insertion hook. - * ipa-prop.h (ipa_node_params_t): Disable insertion hook. - * ipa-reference.c (propagate): Disable insertion hoook. - * ipa-sra.c (ipa_sra_summarize_function): Move out of anonymous - namespace. - (ipa_sra_function_summaries::insert): New virtual function. - * passes.c (execute_one_pass): Do not add transforms to inline clones. - * symbol-summary.h (function_summary_base): Make insert and duplicate - hooks fail instead of silently producing empty summaries; add way to - disable duplication hooks - (call_summary_base): Likewise. - * tree-nested.c (nested_function_info::get_create): Disable insertion - hooks - (maybe_record_nested_function): Likewise. - -2020-10-26 Xionghu Luo - - * cfg.c (debug_bb): New overloaded function. - (debug_bb_n): New overloaded function. - * cfg.h (debug_bb): New declaration. - (debug_bb_n): New declaration. - * print-rtl.c (debug_bb_slim): Call debug_bb with flags. - -2020-10-24 H.J. Lu - - PR bootstrap/97451 - * configure.ac (HAVE_AS_WORKING_DWARF_4_FLAG): Renamed to ... - (HAVE_AS_WORKING_DWARF_N_FLAG): This. Don't define if there is - an extra assembly input file in debug info. Replace success - with dwarf4_success in the 32-bit --gdwarf-4 check. - * dwarf2out.c (asm_outputs_debug_line_str): Check - HAVE_AS_WORKING_DWARF_N_FLAG instead of - HAVE_AS_WORKING_DWARF_4_FLAG. - * gcc.c (ASM_DEBUG_SPEC): Likewise. - (ASM_DEBUG_OPTION_SPEC): Likewise. - * config.in: Regenerated. - * configure: Likewise. - -2020-10-24 Aldy Hernandez - - PR tree-optimization/97538 - * calls.c (get_size_range): Handle undefined ranges. - -2020-10-24 Martin Liska - - * cgraph.c (cgraph_node::former_thunk_p): Move out of CHECKING_P - macro. - -2020-10-24 Alan Modra - - * config/rs6000/rs6000.c (rs6000_legitimate_address_p): Limit - AND addressing to just lvx/stvx style addresses. - -2020-10-24 Alan Modra - - * config/rs6000/rs6000.md (cstore4): Don't call - rs6000_emit_int_cmove for power10 when -mno-isel. - -2020-10-23 Jan Hubicka - - * Makefile.in: Add symtab-thunks.o - (GTFILES): Add symtab-thunks.h and symtab-thunks.cc; remove cgraphunit.c - * cgraph.c: Include symtab-thunks.h. - (cgraph_node::create_thunk): Update - (symbol_table::create_edge): Update - (cgraph_node::dump): Update - (cgraph_node::call_for_symbol_thunks_and_aliases): Update - (set_nothrow_flag_1): Update - (set_malloc_flag_1): Update - (set_const_flag_1): Update - (collect_callers_of_node_1): Update - (clone_of_p): Update - (cgraph_node::verify_node): Update - (cgraph_node::function_symbol): Update - (cgraph_c_finalize): Call thunk_info::release. - (cgraph_node::has_thunk_p): Update - (cgraph_node::former_thunk_p): Move here from cgraph.h; reimplement. - * cgraph.h (struct cgraph_thunk_info): Rename to symtab-thunks.h. - (cgraph_node): Remove thunk field; add thunk bitfield. - (cgraph_node::expand_thunk): Move to symtab-thunks.h - (symtab_thunks_cc_finalize): Declare. - (cgraph_node::has_gimple_body_p): Update. - (cgraph_node::former_thunk_p): Update. - * cgraphclones.c: Include symtab-thunks.h. - (duplicate_thunk_for_node): Update. - (cgraph_edge::redirect_callee_duplicating_thunks): Update. - (cgraph_node::expand_all_artificial_thunks): Update. - (cgraph_node::create_edge_including_clones): Update. - * cgraphunit.c: Include symtab-thunks.h. - (vtable_entry_type): Move to symtab-thunks.c. - (cgraph_node::analyze): Update. - (analyze_functions): Update. - (mark_functions_to_output): Update. - (thunk_adjust): Move to symtab-thunks.c - (cgraph_node::expand_thunk): Move to symtab-thunks.c - (cgraph_node::assemble_thunks_and_aliases): Update. - (output_in_order): Update. - (cgraphunit_c_finalize): Do not clear vtable_entry_type. - (cgraph_node::create_wrapper): Update. - * gengtype.c (open_base_files): Add symtab-thunks.h - * ipa-comdats.c (propagate_comdat_group): UPdate. - (ipa_comdats): Update. - * ipa-cp.c (determine_versionability): UPdate. - (gather_caller_stats): Update. - (count_callers): Update - (set_single_call_flag): Update - (initialize_node_lattices): Update - (call_passes_through_thunk_p): Update - (call_passes_through_thunk): Update - (propagate_constants_across_call): Update - (find_more_scalar_values_for_callers_subset): Update - (has_undead_caller_from_outside_scc_p): Update - * ipa-fnsummary.c (evaluate_properties_for_edge): Update. - (compute_fn_summary): Update. - (inline_analyze_function): Update. - * ipa-icf.c: Include symtab-thunks.h. - (sem_function::equals_wpa): Update. - (redirect_all_callers): Update. - (sem_function::init): Update. - (sem_function::parse): Update. - * ipa-inline-transform.c: Include symtab-thunks.h. - (inline_call): Update. - (save_inline_function_body): Update. - (preserve_function_body_p): Update. - * ipa-inline.c (inline_small_functions): Update. - * ipa-polymorphic-call.c: Include alloc-pool.h, symbol-summary.h, - symtab-thunks.h - (ipa_polymorphic_call_context::ipa_polymorphic_call_context): Update. - * ipa-pure-const.c: Include symtab-thunks.h. - (analyze_function): Update. - * ipa-sra.c (check_for_caller_issues): Update. - * ipa-utils.c (ipa_reverse_postorder): Update. - (ipa_merge_profiles): Update. - * ipa-visibility.c (non_local_p): Update. - (cgraph_node::local_p): Update. - (function_and_variable_visibility): Update. - * ipa.c (symbol_table::remove_unreachable_nodes): Update. - * lto-cgraph.c: Include alloc-pool.h, symbol-summary.h and - symtab-thunks.h - (lto_output_edge): Update. - (lto_output_node): Update. - (compute_ltrans_boundary): Update. - (output_symtab): Update. - (verify_node_partition): Update. - (input_overwrite_node): Update. - (input_node): Update. - * lto-streamer-in.c (fixup_call_stmt_edges): Update. - * symtab-thunks.cc: New file. - * symtab-thunks.h: New file. - * toplev.c (toplev::finalize): Call symtab_thunks_cc_finalize. - * trans-mem.c (ipa_tm_mayenterirr_function): Update. - (ipa_tm_execute): Update. - * tree-inline.c (expand_call_inline): Update. - * tree-nested.c (create_nesting_tree): Update. - (convert_all_function_calls): Update. - (gimplify_all_functions): Update. - * tree-profile.c (tree_profiling): Update. - * tree-ssa-structalias.c (associate_varinfo_to_alias): Update. - * tree.c (free_lang_data_in_decl): Update. - * value-prof.c (init_node_map): Update. - -2020-10-23 Marek Polacek - - PR c++/91741 - * doc/invoke.texi: Document -Wsizeof-array-div. - -2020-10-23 Martin Sebor - - PR middle-end/97552 - * attribs.c (init_attr_rdwr_indices): Handle static VLA parameters. - -2020-10-23 Douglas Rupp - - * config/vxworks.h (VXWORKS_NET_LIBS_RTP): Use -lrtnet if - rtnetStackLib.h is available,fallback to -lnet otherwise. - -2020-10-23 Douglas Rupp - - * gcc.c (if-exists-then-else): New built-in spec function. - * doc/invoke.texi: Document it. - -2020-10-23 Tulio Magno Quites Machado Filho - - * doc/extend.texi (PowerPC Built-in Functions): Replace - extraneous characters with whitespace. - -2020-10-23 Martin Liska - - * gcov.c (read_count_file): Never call gcov_sync with a negative - value. - -2020-10-23 Jakub Jelinek - - * Makefile.in (PLUGIN_HEADERS): Add gomp-constants.h and $(EXPR_H). - (s-header-vars): Accept not just spaces but also tabs between *_H name - and =. Handle common/config/ headers similarly to config. Don't - throw away everything from first ... to last / on the remaining - string, instead skip just ... to corresponding last / without - intervening spaces and tabs. - (install-plugin): Treat common/config headers like config headers. - * config/i386/t-i386 (TM_H): Add - $(srcdir)/common/config/i386/i386-cpuinfo.h. - -2020-10-23 Jakub Jelinek - - PR tree-optimization/97164 - * stor-layout.c (layout_type): Also reject arrays where element size - is constant, but not a multiple of element alignment. - -2020-10-23 Eric Botcazou - - * tree-ssa-loop-ivopts.c (analyze_and_mark_doloop_use): Bail out if - the loop is subject to a pragma Unroll with no specific count. - -2020-10-23 Dennis Zhang - - * config/arm/mve.md (mve_vsubq): New entry for vsub instruction - using expression 'minus'. - (mve_vsubq_f): Use minus instead of VSUBQ_F unspec. - * config/arm/neon.md (sub3, sub3_fp16): Removed. - (neon_vsub): Use gen_sub3 instead of gen_sub3_fp16. - * config/arm/vec-common.md (sub3): Use the new mode macros - ARM_HAVE__ARITH. Use iterator VDQ instead of VALL. - -2020-10-23 Martin Liska - - PR lto/97524 - * lto-wrapper.c (make_exists): New function. - (run_gcc): Use it to check that make is present and working - for parallel execution. - -2020-10-23 Richard Biener - - Revert: - 2020-10-22 Richard Biener - - PR middle-end/97521 - * expr.c (expand_expr_real_1): Be more careful when - expanding a VECTOR_BOOLEAN_TYPE_P VECTOR_CSTs. - -2020-10-23 Kewen Lin - - * tree-vect-loop.c (vect_transform_loop): Remove the redundant - LOOP_VINFO_FULLY_MASKED_P check. - -2020-10-23 Dennis Zhang - - * config/arm/mve.md (mve_vsubq): New entry for vsub instruction - using expression 'minus'. - (mve_vsubq_f): Use minus instead of VSUBQ_F unspec. - * config/arm/neon.md (sub3, sub3_fp16): Removed. - (neon_vsub): Use gen_sub3 instead of gen_sub3_fp16. - * config/arm/vec-common.md (sub3): Use the new mode macros - ARM_HAVE__ARITH. Use iterator VDQ instead of VALL. - -2020-10-22 Alan Modra - - * config/rs6000/rs6000.c (rs6000_emit_xxspltidp_v2df): Delete - debug printf. Remove trailing ".\n" from inform message. - Break long line. - -2020-10-22 Andrew MacLeod - - * gimple-range-gori.cc (is_gimple_logical_p): Use types_compatible_p - for logical compatibility. - (logical_stmt_cache::cacheable_p): Ditto. - -2020-10-22 Jan Hubicka - - * cgraph.c (cgraph_node::get_untransformed_body): Perform lazy - clone materialization. - * cgraph.h (cgraph_node::materialize_clone): Declare. - (symbol_table::materialize_all_clones): Remove. - * cgraphclones.c (cgraph_materialize_clone): Turn to ... - (cgraph_node::materialize_clone): .. this one; move here - dumping from symbol_table::materialize_all_clones. - (symbol_table::materialize_all_clones): Remove. - * cgraphunit.c (mark_functions_to_output): Clear stmt references. - (cgraph_node::expand): Initialize bitmaps early; - do not call execute_all_ipa_transforms if there are no transforms. - * ipa-inline-transform.c (save_inline_function_body): Fix formating. - (inline_transform): Materialize all clones before function is modified. - * ipa-param-manipulation.c (ipa_param_adjustments::modify_call): - Materialize clone if needed. - * ipa.c (class pass_materialize_all_clones): Remove. - (make_pass_materialize_all_clones): Remove. - * passes.c (execute_all_ipa_transforms): Materialize all clones. - * passes.def: Remove pass_materialize_all_clones. - * tree-pass.h (make_pass_materialize_all_clones): Remove. - * tree-ssa-structalias.c (ipa_pta_execute): Clear refs. - -2020-10-22 Will Schmidt - - * config/rs6000/altivec.h (vec_xl_zext, vec_xl_sext, vec_xst_trunc): - New defines. - * config/rs6000/rs6000-builtin.def (BU_P10V_OVERLOAD_X): New builtin - macro. - (BU_P10V_AV_X): New builtin macro. - (se_lxvrhbx, se_lxrbhx, se_lxvrwx, se_lxvrdx): Define internal names - for load and sign extend vector element. - (ze_lxvrbx, ze_lxvrhx, ze_lxvrwx, ze_lxvrdx): Define internal names - for load and zero extend vector element. - (tr_stxvrbx, tr_stxvrhx, tr_stxvrwx, tr_stxvrdx): Define internal names - for truncate and store vector element. - (se_lxvrx, ze_lxvrx, tr_stxvrx): Define internal names for overloaded - load/store rightmost element. - * config/rs6000/rs6000-call.c (altivec_builtin_types): Define the - internal monomorphs P10_BUILTIN_SE_LXVRBX, P10_BUILTIN_SE_LXVRHX, - P10_BUILTIN_SE_LXVRWX, P10_BUILTIN_SE_LXVRDX, - P10_BUILTIN_ZE_LXVRBX, P10_BUILTIN_ZE_LXVRHX, P10_BUILTIN_ZE_LXVRWX, - P10_BUILTIN_ZE_LXVRDX, - P10_BUILTIN_TR_STXVRBX, P10_BUILTIN_TR_STXVRHX, P10_BUILTIN_TR_STXVRWX, - P10_BUILTIN_TR_STXVRDX, - (altivec_expand_lxvr_builtin): New expansion for load element builtins. - (altivec_expand_stv_builtin): Update to for truncate and store builtins. - (altivec_expand_builtin): Add clases for load/store rightmost builtins. - (altivec_init_builtins): Add def_builtin entries for - __builtin_altivec_se_lxvrbx, __builtin_altivec_se_lxvrhx, - __builtin_altivec_se_lxvrwx, __builtin_altivec_se_lxvrdx, - __builtin_altivec_ze_lxvrbx, __builtin_altivec_ze_lxvrhx, - __builtin_altivec_ze_lxvrwx, __builtin_altivec_ze_lxvrdx, - __builtin_altivec_tr_stxvrbx, __builtin_altivec_tr_stxvrhx, - __builtin_altivec_tr_stxvrwx, __builtin_altivec_tr_stxvrdx, - __builtin_vec_se_lxvrx, __builtin_vec_ze_lxvrx, __builtin_vec_tr_stxvrx. - * config/rs6000/vsx.md (vsx_lxvrx, vsx_stxvrx, vsx_stxvrx): - New define_insn entries. - * doc/extend.texi: Add documentation for vsx_xl_sext, vsx_xl_zext, - and vec_xst_trunc. - -2020-10-22 Will Schmidt - - * config/rs6000/vsx.md (enum unspec): Add - UNSPEC_EXTENDDITI2 and UNSPEC_MTVSRD_DITI_W1 entries. - (mtvsrdd_diti_w1, extendditi2_vector): New define_insns. - (extendditi2): New define_expand. - -2020-10-22 Alexandre Oliva - - * config/i386/mingw-w64.h (TARGET_LIBC_HAS_FUNCTION): Enable - sincos optimization. - -2020-10-22 Alan Modra - - * config/rs6000/vsx.md (vec_cntmb_, vec_extract_), - (vec_expand_): Replace with . - -2020-10-22 Richard Biener - - * tree-vect-slp.c (vect_analyze_slp_instance): Refactor so - computing a vector type early is not needed, for store group - splitting compute a new vector type based on the desired - group size. - -2020-10-22 Richard Biener - - PR middle-end/97521 - * expr.c (expand_expr_real_1): Be more careful when - expanding a VECTOR_BOOLEAN_TYPE_P VECTOR_CSTs. - -2020-10-22 David Malcolm - - * ipa-modref-tree.c (selftest::test_insert_search_collapse): Fix - leak. - (selftest::test_merge): Fix leaks. - -2020-10-22 Andreas Krebbel - - PR target/97502 - * config/s390/vector.md ("vec_cmp") - ("vec_cmpu"): New expanders. - -2020-10-22 Andreas Krebbel - - PR rtl-optimization/97439 - * dfp.c (decimal_real_maxval): Set the sign flag in the - generated number. - -2020-10-22 Martin Liska - - PR c/94722 - * cfgexpand.c (stack_protect_decl_phase): - Guard with lookup_attribute("no_stack_protector") at - various places. - (expand_used_vars): Likewise here. - * doc/extend.texi: Document no_stack_protector attribute. - -2020-10-22 Martin Liska - - * cfgexpand.c: Move the enum to ... - * coretypes.h (enum stack_protector): ... here. - * function.c (assign_parm_adjust_stack_rtl): Use the stack_protector - enum. - -2020-10-22 Kito Cheng - - * config/riscv/multilib-generator: Add TODO, import itertools - and functools.reduce. - Handle expantion operator. - (LONG_EXT_PREFIXES): New. - (arch_canonicalize): Update comment and improve python3 - debuggability/compatibility. - (add_underline_prefix): New. - (_expand_combination): Ditto. - (unique): Ditto. - (expand_combination): Ditto. - -2020-10-22 Jakub Jelinek - - * tree-ssa-phiopt.c (cond_removal_in_popcount_clz_ctz_pattern): - For CLZ and CTZ tests, use type temporary instead of mode. - -2020-10-22 Jakub Jelinek - - * config.gcc (x86_archs): Add samuel-2, nehemiah, c7 and esther. - (x86_64_archs): Add eden-x2, nano, nano-1000, nano-2000, nano-3000, - nano-x2, eden-x4, nano-x4, x86-64-v2, x86-64-v3 and x86-64-v4. - (i[34567]86-*-* | x86_64-*-*): Only allow x86-64-v* as argument - to --with-arch_64=. - -2020-10-22 Jan Hubicka - - * ipa-pure-const.c (funct_state_summary_t::insert): Free stale - summaries. - -2020-10-22 Jan Hubicka - - * cgraph.c: Include tree-nested.h - (cgraph_node::create): Call maybe_record_nested_function. - (cgraph_node::remove): Do not remove function from nested function - infos. - (cgraph_node::dump): Update. - (cgraph_node::unnest): Move to tree-nested.c - (cgraph_node::verify_node): Update. - (cgraph_c_finalize): Call nested_function_info::release. - * cgraph.h (struct symtab_node): Remove nested function info. - * cgraphclones.c (cgraph_node::create_clone): Do not clone nested - function info. - * cgraphunit.c (cgraph_node::analyze): Update. - (cgraph_node::expand): Do not worry about nested functions; they are - lowered. - (symbol_table::finalize_compilation_unit): Call - nested_function_info::release. - * gimplify.c: Include tree-nested.h - (unshare_body): Update. - (unvisit_body): Update. - * omp-offload.c (omp_discover_implicit_declare_target): Update. - * tree-nested.c: Include alloc-pool.h, tree-nested.h, symbol-summary.h - (nested_function_sum): New static variable. - (nested_function_info::get): New member function. - (nested_function_info::get_create): New member function. - (unnest_function): New function. - (nested_function_info::~nested_function_info): New member function. - (nested_function_info::release): New function. - (maybe_record_nested_function): New function. - (lookup_element_for_decl): Update. - (check_for_nested_with_variably_modified): Update. - (create_nesting_tree): Update. - (unnest_nesting_tree_1): Update. - (gimplify_all_functions): Update. - (lower_nested_functions): Update. - * tree-nested.h (class nested_function_info): New class. - (maybe_record_nested_function): Declare. - (unnest_function): Declare. - (first_nested_function): New inline function. - (next_nested_function): New inline function. - (nested_function_origin): New inline function. - -2020-10-22 liuhongt - - PR rtl-optimization/97249 - * simplify-rtx.c (simplify_binary_operation_1): Simplify - vec_select of a subreg of X to a vec_select of X. - -2020-10-22 liuhongt - - PR target/87767 - * config/i386/constraints.md ("Br"): New special memory - constraint. - * config/i386/i386-expand.c (ix86_binary_operator_ok): Both - source operand cannot be in memory or bcst_memory_operand. - * config/i386/i386.c (ix86_print_operand): Print bcst_mem_operand. - * config/i386/i386.h (VALID_BCST_MODE_P): New. - * config/i386/predicates.md (bcst_mem_operand): New predicate - for AVX512 embedding broadcast memory operand. - (bcst_vector_operand): New predicate, vector_operand or - bcst_mem_operand. - * config/i386/sse.md - (*3): Extend - predicate and constraints to handle bcst_mem_operand. - (*mul3): Ditto. - (_div3): Ditto. - (fma_fmadd_): - Ditto. - (fma_fmsub_): - Ditto. - (fma_fnmadd_): - Ditto. - (fma_fnmsub_): - Ditto. - (*3): Ditto. - (avx512dq_mul3): Ditto. - (*_mul3): Ditto. - (*andnot3): Ditto. - (3): Ditto. - (*sub3_bcst): Removed. - (*add3_bcst): Ditto. - (*mul3_bcst): Ditto. - (*_div3_bcst): Ditto. - (*fma_fmadd__bcst_1): - Ditto. - (*fma_fmadd__bcst_2): - Ditto. - (*fma_fmadd__bcst_3): - Ditto. - (*fma_fmsub__bcst_1): - Ditto. - (*fma_fmsub__bcst_2): - Ditto. - (*fma_fmsub__bcst_3): - Ditto. - (*fma_fnmadd__bcst_1): - Ditto. - (*fma_fnmadd__bcst_2): - Ditto. - (*fma_fnmadd__bcst_3): - Ditto. - (*fma_fnmsub__bcst_1): - Ditto. - (*fma_fnmsub__bcst_2): - Ditto. - (*fma_fnmsub__bcst_3): - Ditto. - (*sub3_bcst): Ditto. - (*add3_bcst): Ditto. - (*avx512dq_mul3_bcst): Ditto. - (*avx512f_mul3_bcst): Ditto. - (*andnot3_bcst): Ditto. - (*3_bcst): Ditto. - * config/i386/subst.md (bcst_round_constraint): New subst - attribute. - (bcst_round_nimm_predicate): Ditto. - (bcst_mask_prefix3): Ditto. - (bcst_mask_prefix4): Ditto. - -2020-10-22 liuhongt - - PR target/87767 - * ira-costs.c (record_operand_costs): Extract memory operand - from recog_data.operand[i] for record_address_regs. - (record_reg_classes): Extract memory operand from OP for - conditional judgement MEM_P. - * ira.c (ira_setup_alts): Ditto. - * lra-constraints.c (extract_mem_from_operand): New function. - (satisfies_memory_constraint_p): Extract memory operand from - OP for decompose_mem_address, return false when there's no - memory operand inside OP. - (process_alt_operands): Remove MEM_P (op) since it would be - judged in satisfies_memory_constraint_p. - * recog.c (asm_operand_ok): Extract memory operand from OP for - judgement of memory_operand (OP, VOIDmode). - (constrain_operands): Don't unwrapper unary operator when - there's memory operand inside. - * rtl.h (extract_mem_from_operand): New decl. - -2020-10-22 Dennis Zhang - - * config/arm/mve.md (mve_vmaxq_): Replace with ... - (mve_vmaxq_s, mve_vmaxq_u): ... these new insns to - use smax/umax instead of VMAXQ. - (mve_vminq_): Replace with ... - (mve_vminq_s, mve_vminq_u): ... these new insns to - use smin/umin instead of VMINQ. - (mve_vmaxnmq_f): Use smax instead of VMAXNMQ_F. - (mve_vminnmq_f): Use smin instead of VMINNMQ_F. - * config/arm/vec-common.md (smin3): Use the new mode macros - ARM_HAVE__ARITH. - (umin3, smax3, umax3): Likewise. - -2020-10-22 Andrew MacLeod - - PR tree-optimization/97520 - * gimple-range.cc (range_of_non_trivial_assignment): Handle x = &a - by returning a non-zero range. - -2020-10-22 Dennis Zhang - - * config/arm/mve.md (mve_vmulq): New entry for vmul instruction - using expression 'mult'. - (mve_vmulq_f): Use mult instead of VMULQ_F. - * config/arm/neon.md (mul3): Removed. - * config/arm/vec-common.md (mul3): Use the new mode macros - ARM_HAVE__ARITH. Use mode iterator VDQWH instead of VALLW. - -2020-10-22 Andrew MacLeod - - PR tree-optimization/97515 - * value-query.cc (range_query::value_of_expr): If the result is - UNDEFINED, check to see if the global value is a constant. - (range_query::value_on_edge): Ditto. - -2020-10-21 Jan Hubicka - - PR ipa/97445 - * ipa-inline.c (inline_insns_single): Add hint2 parameter. - (inline_insns_auto): Add hint2 parameter. - (can_inline_edge_by_limits_p): Update. - (want_inline_small_function_p): Update. - (wrapper_heuristics_may_apply): Update. - -2020-10-21 Richard Biener - Andrew MacLeod - Martin Liska - - PR target/97360 - * config/rs6000/rs6000-call.c (rs6000_init_builtins): Remove call to - build_distinct_type_copy(). - -2020-10-21 Jan Hubicka - - PR ipa/97445 - * ipa-fnsummary.c (ipa_dump_hints): Add INLINE_HINT_builtin_constant_p. - (ipa_fn_summary::~ipa_fn_summary): Free builtin_constant_p_parms. - (ipa_fn_summary_t::duplicate): Duplicate builtin_constant_p_parms. - (ipa_dump_fn_summary): Dump builtin_constant_p_parms. - (add_builtin_constant_p_parm): New function - (set_cond_stmt_execution_predicate): Update builtin_constant_p_parms. - (ipa_call_context::estimate_size_and_time): Set - INLINE_HINT_builtin_constant_p.. - (ipa_merge_fn_summary_after_inlining): Merge builtin_constant_p_parms. - (inline_read_section): Read builtin_constant_p_parms. - (ipa_fn_summary_write): Write builtin_constant_p_parms. - * ipa-fnsummary.h (enum ipa_hints_vals): Add - INLINE_HINT_builtin_constant_p. - * ipa-inline.c (want_inline_small_function_p): Use - INLINE_HINT_builtin_constant_p. - (edge_badness): Use INLINE_HINT_builtin_constant_p. - -2020-10-21 Douglas Rupp - - * config/vx-common.h (LINK_SPEC, LIB_SPEC): Remove #undef. - -2020-10-21 Douglas Rupp - Olivier Hainque - - * config.gcc (powerpc*-wrs-vxworks7r*): New case. - * config/rs6000/vxworks.h: Rework to handle VxWorks7. - Refactor as common bits + vx6 vs vx7 ones. For the - latter, rely essentially on the Linux configuration - and adjust CPU to _VX_CPU in CPP_SPEC. Add a case - for e6500. Use SUB3TARGET_OVERRIDE_OPTIONS for specifics - to preserve the Linux SUBSUBTARGET_OVERRIDE_OPTIONS - for vx7. - -2020-10-21 Richard Biener - - PR tree-optimization/97500 - * tree-vect-slp.c (vect_analyze_slp_backedges): Do not - fill backedges for inductions. - -2020-10-21 liuhongt - - PR target/97506 - * config/i386/i386-expand.c (ix86_expand_sse_movcc): Move - op_true to dest directly when op_true equals op_false. - -2020-10-21 Jakub Jelinek - - PR tree-optimization/97503 - * tree-ssa-phiopt.c: Include internal-fn.h. - (cond_removal_in_popcount_pattern): Rename to ... - (cond_removal_in_popcount_clz_ctz_pattern): ... this. Handle not just - popcount, but also clz and ctz if it has C?Z_DEFINED_VALUE_AT_ZERO 2. - -2020-10-21 Richard Biener - - * cfg.c (htab_bb_copy_original_entry): Remove. - (bb_copy_hasher): Likewise. - (bb_original, bb_copy, loop_copy): Use - hash_map, int>. - (original_copy_bb_pool): Remove. - (initialize_original_copy_tables): Adjust. - (reset_original_copy_tables): Likewise. - (free_original_copy_tables): Likewise. - (original_copy_tables_initialized_p): Likewise. - (copy_original_table_clear): Simplify. - (copy_original_table_set): Likewise. - (get_bb_original): Likewise. - (get_bb_copy): Likewise. - (get_loop_copy): Likewise. - -2020-10-21 Richard Biener - - * cfghooks.c (copy_bbs): Split out loop computing new_edges. - -2020-10-21 Aldy Hernandez - - * gimple-range.cc (gimple_ranger::range_of_ssa_name_with_loop_info): - Remove TREE_OVERFLOW special case. - * vr-values.c (bounds_of_var_in_loop): Adjust overflow for - invariants. - -2020-10-21 Aldy Hernandez - - * vr-values.h: Remove simplify_cond_using_ranges_2. - (range_fits_type_p): New. - * vr-values.c (range_fits_type_p): Remove static qualifier. - (vrp_simplify_cond_using_ranges): Move... - * tree-vrp.c (vrp_simplify_cond_using_ranges): ...to here. - -2020-10-20 Andrew MacLeod - - PR tree-optimization/97505 - * vr-values.c (vr_values::extract_range_basic): Trap if - vr_values version disagrees with range_of_builtin_call. - -2020-10-20 David Edelsohn - - * config/rs6000/rs6000.c (rs6000_option_override_internal): - Don't implcitly enable Altivec ABI if set on the command line. - -2020-10-20 Aldy Hernandez - - * calls.c (get_size_range): Adjust to work with ranger. - * calls.h (get_size_range): Add ranger argument to prototype. - * gimple-ssa-warn-restrict.c (class wrestrict_dom_walker): Remove. - (check_call): Pull out of wrestrict_dom_walker into a - static function. - (wrestrict_dom_walker::before_dom_children): Rename to... - (wrestrict_walk): ...this. - (pass_wrestrict::execute): Instantiate ranger. - (class builtin_memref): Add stmt and query fields. - (builtin_access::builtin_access): Add range_query field. - (builtin_memref::builtin_memref): Same. - (builtin_memref::extend_offset_range): Same. - (builtin_access::builtin_access): Make work with ranger. - (wrestrict_dom_walker::check_call): Pull out into... - (check_call): ...here. - (check_bounds_or_overlap): Add range_query argument. - * gimple-ssa-warn-restrict.h (check_bounds_or_overlap): - Add range_query and gimple stmt arguments. - -2020-10-20 Aldy Hernandez - - * gimple-ssa-warn-alloca.c (enum alloca_type): Remove - ALLOCA_BOUND_UNKNOWN and ALLOCA_CAST_FROM_SIGNED. - (warn_limit_specified_p): New. - (alloca_call_type_by_arg): Remove. - (cast_from_signed_p): Remove. - (is_max): Remove. - (alloca_call_type): Remove heuristics and replace with call into - ranger. - (pass_walloca::execute): Instantiate ranger. - -2020-10-20 Tobias Burnus - - * lto-wrapper.c (run_gcc): Use proper variable for - %u.ltrans_args dump suffix. - -2020-10-20 Zhiheng Xie - Nannan Zheng - - * config/aarch64/aarch64-simd-builtins.def: Add proper FLAG - for get/set reg intrinsics. - -2020-10-20 Aldy Hernandez - - * gimple-range.cc (gimple_ranger::range_of_builtin_ubsan_call): - Make externally visble... - (range_of_builtin_ubsan_call): ...here. Add range_query argument. - (gimple_ranger::range_of_builtin_call): Make externally visible... - (range_of_builtin_call): ...here. Add range_query argument. - * gimple-range.h (range_of_builtin_call): Move out from class and - make externally visible. - * vr-values.c (vr_values::extract_range_basic): Abstract out - builtin handling to... - (vr_values::range_of_expr): Handle non SSAs. - (vr_values::extract_range_builtin): ...here. - * vr-values.h (class vr_values): Add extract_range_builtin. - (range_of_expr): Rename NAME to EXPR. - -2020-10-20 Aldy Hernandez - - PR tree-optimization/97501 - * gimple-range.cc (gimple_ranger::range_of_ssa_name_with_loop_info): - Saturate overflows returned from SCEV. - -2020-10-20 Aldy Hernandez - - * value-range.cc (irange::operator=): Split up call to - copy_legacy_range into... - (irange::copy_to_legacy): ...this. - (irange::copy_legacy_to_multi_range): ...and this. - (irange::copy_legacy_range): Remove. - * value-range.h: Remove copoy_legacy_range. - Add copy_legacy_to_multi_range and copy_to_legacy. - -2020-10-20 Tobias Burnus - - * doc/invoke.texi (NVPTX options): Use @item not @itemx. - -2020-10-20 Richard Biener - - * tree-cfg.c (reinstall_phi_args): Remove. - (gimple_split_edge): Remove PHIs around the edge redirection - to avoid touching them at all. - -2020-10-20 Richard Biener - - * tree-vect-loop.c (vectorizable_reduction): Use the correct - loops latch edge for the PHI arg lookup. - -2020-10-20 Jozef Lawrynowicz - - * config/msp430/msp430.md (andneghi3): Allow general operand for - op1 and update output assembler template. - -2020-10-20 Tobias Burnus - - * collect-utils.c (collect_execute, fork_execute): Add at-file suffix - argument. - * collect-utils.h (collect_execute, fork_execute): Update prototype. - * collect2.c (maybe_run_lto_and_relink, do_link, main, do_dsymutil): - Update calls by passing NULL. - * config/i386/intelmic-mkoffload.c (compile_for_target, - generate_host_descr_file, prepare_target_image, main): Likewise. - * config/gcn/mkoffload.c (compile_native, main): Pass at-file suffix. - * config/nvptx/mkoffload.c (compile_native, main): Likewise. - * lto-wrapper.c (compile_offload_image): Likewise. - -2020-10-20 Aldy Hernandez - - * range-op.cc (operator_rshift::op1_range): Special case - shifting by zero. - -2020-10-20 Richard Biener - - PR tree-optimization/97496 - * tree-vect-slp.c (vect_get_and_check_slp_defs): Guard extern - promotion with not in pattern. - -2020-10-20 Stefan Schulze Frielinghaus - - * config/s390/s390.c (s390_expand_vec_strlen): Add alignment - for memory access inside loop. - -2020-10-19 Andrew MacLeod - - PR tree-optimization/97360 - * gimple-range.h (range_compatible_p): New. - * gimple-range-gori.cc (is_gimple_logical_p): Use range_compatible_p. - (range_is_either_true_or_false): Ditto. - (gori_compute::outgoing_edge_range_p): Cast result to the correct - type if necessary. - (logical_stmt_cache::cacheable_p): Use range_compatible_p. - * gimple-range.cc (gimple_ranger::calc_stmt): Check range_compatible_p - before casting the range. - (gimple_ranger::range_on_exit): Use range_compatible_p. - (gimple_ranger::range_on_edge): Ditto. - -2020-10-19 Martin Jambor - - PR tree-optimization/97456 - * tree-complex.c (set_component_ssa_name): Do not replace ignored decl - default definitions with new component vars. Reorder if conditions. - -2020-10-19 David Edelsohn - - * config/rs6000/vsx.md (vextract_fp_from_shorth): Fix vals_be. - (vextract_fp_from_shortl) Same. - -2020-10-19 Aldy Hernandez - - PR tree-optimization/97488 - * range-op.cc (operator_lshift::op1_range): Handle large right shifts. - -2020-10-19 Martin Liska - - * ipa-modref.c (compute_parm_map): Clear vector. - -2020-10-19 Richard Biener - - PR tree-optimization/97486 - * tree-vect-slp.c (vect_slp_function): Split after stmts - ending a BB. - -2020-10-19 Jonathan Wakely - - * doc/invoke.texi (OPptimize Options): Add missing closing - parenthesis. - -2020-10-19 Aldy Hernandez - - PR tree-optimization/97467 - * range-op.cc (operator_lshift::op1_range): Handle shifts by 0. - -2020-10-19 Richard Biener - - PR tree-optimization/97466 - * tree-vect-slp.c (vect_get_and_check_slp_defs): Remove - spurious assert, re-indent. - -2020-10-19 Li Jia He - - PR tree-optimization/66552 - * match.pd (x << (n % C) -> x << (n & C-1)): New simplification. - -2020-10-19 Richard Biener - - * tree-cfg.c (verify_gimple_comparison): Drop special-case - for pointer comparison. - -2020-10-16 Andrew MacLeod - - * vr-values.c (dump_all_value_ranges): Only dump names which are - still active. - -2020-10-16 Andrew MacLeod - - * range-op.cc (pointer_plus_operator::wi_fold): Make pointer_plus - [0, 0] + const return a [const, const] range. - -2020-10-16 Andrew MacLeod - - * gimple-ssa-evrp.c (hybrid_folder::value_on_edge): Call - evrp_folder::value_of_expr directly. - (hybrid_folder::value_of_stmt): Ditto. - -2020-10-16 Andrew MacLeod - - PR tree-optimization/97462 - * range-op.cc (operator_lshift::op1_range): Don't trap on negative - shifts. - -2020-10-16 Olivier Hainque - - * config/vxworks.h (VX_CRTBEGIN_SPEC): Likewise. - -2020-10-16 Olivier Hainque - - * config/vxworks/_vxworks-versions.h: Only include - version.h if _WRS_VXWORKS_MAJOR is not defined. - Provide a default _WRS_VXWORKS_MINOR (0). - -2020-10-16 Srinath Parvathaneni - - PR target/97327 - * config/arm/arm.c (fp_bitlist): Add isa_bit_mve_float to FP bits array. - -2020-10-16 Richard Biener - - * tree-vect-slp.c (vect_get_and_check_slp_defs): For BB - vectorization swap operands only if it helps, demote mismatches to - external. - -2020-10-16 Srinath Parvathaneni - - PR target/97291 - * config/arm/arm-builtins.c (arm_strsbwbs_qualifiers): Modify array. - (arm_strsbwbu_qualifiers): Likewise. - (arm_strsbwbs_p_qualifiers): Likewise. - (arm_strsbwbu_p_qualifiers): Likewise. - * config/arm/arm_mve.h (__arm_vstrdq_scatter_base_wb_s64): Modify - function definition. - (__arm_vstrdq_scatter_base_wb_u64): Likewise. - (__arm_vstrdq_scatter_base_wb_p_s64): Likewise. - (__arm_vstrdq_scatter_base_wb_p_u64): Likewise. - (__arm_vstrwq_scatter_base_wb_p_s32): Likewise. - (__arm_vstrwq_scatter_base_wb_p_u32): Likewise. - (__arm_vstrwq_scatter_base_wb_s32): Likewise. - (__arm_vstrwq_scatter_base_wb_u32): Likewise. - (__arm_vstrwq_scatter_base_wb_f32): Likewise. - (__arm_vstrwq_scatter_base_wb_p_f32): Likewise. - * config/arm/arm_mve_builtins.def (vstrwq_scatter_base_wb_add_u): Remove - expansion for the builtin. - (vstrwq_scatter_base_wb_add_s): Likewise. - (vstrwq_scatter_base_wb_add_f): Likewise. - (vstrdq_scatter_base_wb_add_u): Likewise. - (vstrdq_scatter_base_wb_add_s): Likewise. - (vstrwq_scatter_base_wb_p_add_u): Likewise. - (vstrwq_scatter_base_wb_p_add_s): Likewise. - (vstrwq_scatter_base_wb_p_add_f): Likewise. - (vstrdq_scatter_base_wb_p_add_u): Likewise. - (vstrdq_scatter_base_wb_p_add_s): Likewise. - * config/arm/mve.md (mve_vstrwq_scatter_base_wb_v4si): Remove - expand. - (mve_vstrwq_scatter_base_wb_add_v4si): Likewise. - (mve_vstrwq_scatter_base_wb_v4si_insn): Rename pattern to ... - (mve_vstrwq_scatter_base_wb_v4si): This. - (mve_vstrwq_scatter_base_wb_p_v4si): Remove expand. - (mve_vstrwq_scatter_base_wb_p_add_v4si): Likewise. - (mve_vstrwq_scatter_base_wb_p_v4si_insn): Rename pattern to ... - (mve_vstrwq_scatter_base_wb_p_v4si): This. - (mve_vstrwq_scatter_base_wb_fv4sf): Remove expand. - (mve_vstrwq_scatter_base_wb_add_fv4sf): Likewise. - (mve_vstrwq_scatter_base_wb_fv4sf_insn): Rename pattern to ... - (mve_vstrwq_scatter_base_wb_fv4sf): This. - (mve_vstrwq_scatter_base_wb_p_fv4sf): Remove expand. - (mve_vstrwq_scatter_base_wb_p_add_fv4sf): Likewise. - (mve_vstrwq_scatter_base_wb_p_fv4sf_insn): Rename pattern to ... - (mve_vstrwq_scatter_base_wb_p_fv4sf): This. - (mve_vstrdq_scatter_base_wb_v2di): Remove expand. - (mve_vstrdq_scatter_base_wb_add_v2di): Likewise. - (mve_vstrdq_scatter_base_wb_v2di_insn): Rename pattern to ... - (mve_vstrdq_scatter_base_wb_v2di): This. - (mve_vstrdq_scatter_base_wb_p_v2di): Remove expand. - (mve_vstrdq_scatter_base_wb_p_add_v2di): Likewise. - (mve_vstrdq_scatter_base_wb_p_v2di_insn): Rename pattern to ... - (mve_vstrdq_scatter_base_wb_p_v2di): This. - -2020-10-16 Kito Cheng - - * config/riscv/multilib-generator (IMPLIED_EXT): New. - (arch_canonicalize): Update comment and handle implied extensions. - -2020-10-16 Richard Biener - - * tree-vect-slp.c (vect_get_and_check_slp_defs): First analyze - all operands and fill in the def_stmts and ops entries. - (vect_def_types_match): New helper. - -2020-10-16 Martin Liska - - PR ipa/97404 - * ipa-prop.c (struct ipa_vr_ggc_hash_traits): - Compare types of VRP as we can merge ranges of different types. - -2020-10-16 Richard Biener - - PR tree-optimization/97428 - * tree-vect-slp.c (vect_analyze_slp_instance): Split store - groups also for loop vectorization. - -2020-10-15 Tom de Vries - - PR target/97436 - * config/nvptx/nvptx.opt (m32): Comment out. - * doc/invoke.texi (NVPTX options): Remove -m32. - -2020-10-15 Jan Hubicka - Richard Biener - - * attr-fnspec.h: Fix toplevel comment. - -2020-10-15 Richard Biener - - * tree-pretty-print.c (dump_mem_ref): Print constant offset - also for TARGET_MEM_REF. - -2020-10-15 Jan Hubicka - - * symtab.c (symtab_node::binds_to_current_def_p): Also accept symbols - defined in other partition. - -2020-10-15 Richard Biener - - * tree-vect-loop.c (vectorizable_live_operation): Adjust - dominance query. - -2020-10-15 Richard Biener - - PR tree-optimization/97482 - * tree-data-ref.c (split_constant_offset_1): Handle - trivial conversions better. - * fold-const.c (convert_to_ptrofftype_loc): Elide conversion - if the offset is already ptrofftype_p. - -2020-10-15 Martin Liska - - PR ipa/97295 - * profile-count.c (profile_count::to_frequency): Move part of - gcc_assert to STATIC_ASSERT. - * regs.h (REG_FREQ_FROM_BB): Do not use count.to_frequency for - a function that does not have count_max initialized. - -2020-10-15 Jakub Jelinek - - * params.opt (-param-ipa-jump-function-lookups=): Add full stop at - the end of the parameter description. - -2020-10-15 Kito Cheng - - * common/config/riscv/riscv-common.c (riscv_cpu_tables): New. - (riscv_arch_str): Return empty string if current_subset_list - is NULL. - (riscv_find_cpu): New. - (riscv_handle_option): Verify option value of -mcpu. - (riscv_expand_arch): Using std::string. - (riscv_default_mtune): New. - (riscv_expand_arch_from_cpu): Ditto. - * config/riscv/riscv-cores.def: New. - * config/riscv/riscv-protos.h (riscv_find_cpu): New. - (riscv_cpu_info): New. - * config/riscv/riscv.c (riscv_tune_info): Rename ... - (riscv_tune_param): ... to this. - (riscv_cpu_info): Rename ... - (riscv_tune_info): ... to this. - (tune_info): Rename ... - (tune_param): ... to this. - (rocket_tune_info): Update data type name. - (sifive_7_tune_info): Ditto. - (optimize_size_tune_info): Ditto. - (riscv_cpu_info_table): Rename ... - (riscv_tune_info_table): ... to this. - (riscv_parse_cpu): Rename ... - (riscv_parse_tune): ... to this, and translate valid -mcpu option to - -mtune option. - (riscv_rtx_costs): Rename tune_info to tune_param. - (riscv_class_max_nregs): Ditto. - (riscv_memory_move_cost): Ditto. - (riscv_init_machine_status): Use value of -mcpu if -mtune is not - given, and rename tune_info to tune_param. - * config/riscv/riscv.h (riscv_expand_arch_from_cpu): New. - (riscv_default_mtune): Ditto. - (EXTRA_SPEC_FUNCTIONS): Add riscv_expand_arch_from_cpu and - riscv_default_mtune. - (OPTION_DEFAULT_SPECS): Handle default value of -march/-mabi. - (DRIVER_SELF_SPECS): Expand -march from -mcpu if -march is not - given. - * config/riscv/riscv.opt (-mcpu): New option. - * config/riscv/t-riscv ($(common_out_file)): Add - riscv-cores.def to dependency. - * doc/invoke.texi (RISC-V Option): Add -mcpu, and update the - description of default value for -mtune and -march. - -2020-10-15 Hongyu Wang - - * common/config/i386/cpuinfo.h (get_available_features): - Detect HRESET. - * common/config/i386/i386-common.c (OPTION_MASK_ISA2_HRESET_SET, - OPTION_MASK_ISA2_HRESET_UNSET): New macros. - (ix86_handle_option): Handle -mhreset. - * common/config/i386/i386-cpuinfo.h (enum processor_features): - Add FEATURE_HRESET. - * common/config/i386/i386-isas.h: Add ISA_NAMES_TABLE_ENTRY - for hreset. - * config.gcc: Add hresetintrin.h - * config/i386/hresetintrin.h: New header file. - * config/i386/x86gprintrin.h: Include hresetintrin.h. - * config/i386/cpuid.h (bit_HRESET): New. - * config/i386/i386-builtin.def: Add new builtin. - * config/i386/i386-expand.c (ix86_expand_builtin): - Handle new builtin. - * config/i386/i386-c.c (ix86_target_macros_internal): Define - __HRESET__. - * config/i386/i386-options.c (isa2_opts): Add -mhreset. - (ix86_valid_target_attribute_inner_p): Handle hreset. - * config/i386/i386.h (TARGET_HRESET, TARGET_HRESET_P, - PTA_HRESET): New. - (PTA_ALDERLAKE): Add PTA_HRESET. - * config/i386/i386.opt: Add option -mhreset. - * config/i386/i386.md (UNSPECV_HRESET): New unspec. - (hreset): New define_insn. - * doc/invoke.texi: Document -mhreset. - * doc/extend.texi: Document hreset. - -2020-10-15 Hongtao Liu - - * common/config/i386/cpuinfo.h (get_available_features): - Detect UINTR. - * common/config/i386/i386-common.c (OPTION_MASK_ISA2_UINTR_SET - OPTION_MASK_ISA2_UINTR_UNSET): New. - (ix86_handle_option): Handle -muintr. - * common/config/i386/i386-cpuinfo.h (enum processor_features): - Add FEATURE_UINTR. - * common/config/i386/i386-isas.h: Add ISA_NAMES_TABLE_ENTRY - for uintr. - * config.gcc: Add uintrintrin.h to extra_headers. - * config/i386/uintrintrin.h: New. - * config/i386/cpuid.h (bit_UINTR): New. - * config/i386/i386-builtin-types.def: Add new types. - * config/i386/i386-builtin.def: Add new builtins. - * config/i386/i386-builtins.c (ix86_init_mmx_sse_builtins): Add - __builtin_ia32_testui. - * config/i386/i386-builtins.h (ix86_builtins): Add - IX86_BUILTIN_TESTUI. - * config/i386/i386-c.c (ix86_target_macros_internal): Define - __UINTR__. - * config/i386/i386-expand.c (ix86_expand_special_args_builtin): - Handle UINT8_FTYPE_VOID. - (ix86_expand_builtin): Handle IX86_BUILTIN_TESTUI. - * config/i386/i386-options.c (isa2_opts): Add -muintr. - (ix86_valid_target_attribute_inner_p): Handle UINTR. - (ix86_option_override_internal): Add TARGET_64BIT check for UINTR. - * config/i386/i386.h (TARGET_UINTR, TARGET_UINTR_P, PTA_UINTR): New. - (PTA_SAPPHIRRAPIDS): Add PTA_UINTR. - * config/i386/i386.opt: Add -muintr. - * config/i386/i386.md - (define_int_iterator UINTR_UNSPECV): New. - (define_int_attr uintr_unspecv): New. - (uintr_, uintr_senduipi, testui): - New define_insn patterns. - * config/i386/x86gprintrin.h: Include uintrintrin.h - * doc/invoke.texi: Document -muintr. - * doc/extend.texi: Document uintr. - -2020-10-14 Martin Sebor - - PR middle-end/97391 - * builtins.c (gimple_parm_array_size): Peel off one less layer - of array types. - -2020-10-14 Martin Sebor - - PR c/97413 - * attribs.c (init_attr_rdwr_indices): Unwrap extra list layer. - -2020-10-14 Sunil K Pandey - - PR target/95483 - * config/i386/avx2intrin.h (_mm_broadcastsi128_si256): New intrinsics. - (_mm_broadcastsd_pd): Ditto. - * config/i386/avx512bwintrin.h (_mm512_loadu_epi16): New intrinsics. - (_mm512_storeu_epi16): Ditto. - (_mm512_loadu_epi8): Ditto. - (_mm512_storeu_epi8): Ditto. - * config/i386/avx512dqintrin.h (_mm_reduce_round_sd): New intrinsics. - (_mm_mask_reduce_round_sd): Ditto. - (_mm_maskz_reduce_round_sd): Ditto. - (_mm_reduce_round_ss): Ditto. - (_mm_mask_reduce_round_ss): Ditto. - (_mm_maskz_reduce_round_ss): Ditto. - (_mm512_reduce_round_pd): Ditto. - (_mm512_mask_reduce_round_pd): Ditto. - (_mm512_maskz_reduce_round_pd): Ditto. - (_mm512_reduce_round_ps): Ditto. - (_mm512_mask_reduce_round_ps): Ditto. - (_mm512_maskz_reduce_round_ps): Ditto. - * config/i386/avx512erintrin.h - (_mm_mask_rcp28_round_sd): New intrinsics. - (_mm_maskz_rcp28_round_sd): Ditto. - (_mm_mask_rcp28_round_ss): Ditto. - (_mm_maskz_rcp28_round_ss): Ditto. - (_mm_mask_rsqrt28_round_sd): Ditto. - (_mm_maskz_rsqrt28_round_sd): Ditto. - (_mm_mask_rsqrt28_round_ss): Ditto. - (_mm_maskz_rsqrt28_round_ss): Ditto. - (_mm_mask_rcp28_sd): Ditto. - (_mm_maskz_rcp28_sd): Ditto. - (_mm_mask_rcp28_ss): Ditto. - (_mm_maskz_rcp28_ss): Ditto. - (_mm_mask_rsqrt28_sd): Ditto. - (_mm_maskz_rsqrt28_sd): Ditto. - (_mm_mask_rsqrt28_ss): Ditto. - (_mm_maskz_rsqrt28_ss): Ditto. - * config/i386/avx512fintrin.h (_mm_mask_sqrt_sd): New intrinsics. - (_mm_maskz_sqrt_sd): Ditto. - (_mm_mask_sqrt_ss): Ditto. - (_mm_maskz_sqrt_ss): Ditto. - (_mm_mask_scalef_sd): Ditto. - (_mm_maskz_scalef_sd): Ditto. - (_mm_mask_scalef_ss): Ditto. - (_mm_maskz_scalef_ss): Ditto. - (_mm_mask_cvt_roundsd_ss): Ditto. - (_mm_maskz_cvt_roundsd_ss): Ditto. - (_mm_mask_cvt_roundss_sd): Ditto. - (_mm_maskz_cvt_roundss_sd): Ditto. - (_mm_mask_cvtss_sd): Ditto. - (_mm_maskz_cvtss_sd): Ditto. - (_mm_mask_cvtsd_ss): Ditto. - (_mm_maskz_cvtsd_ss): Ditto. - (_mm512_cvtsi512_si32): Ditto. - (_mm_cvtsd_i32): Ditto. - (_mm_cvtss_i32): Ditto. - (_mm_cvti32_sd): Ditto. - (_mm_cvti32_ss): Ditto. - (_mm_cvtsd_i64): Ditto. - (_mm_cvtss_i64): Ditto. - (_mm_cvti64_sd): Ditto. - (_mm_cvti64_ss): Ditto. - * config/i386/avx512vlbwintrin.h (_mm256_storeu_epi8): New intrinsics. - (_mm_storeu_epi8): Ditto. - (_mm256_loadu_epi16): Ditto. - (_mm_loadu_epi16): Ditto. - (_mm256_loadu_epi8): Ditto. - (_mm_loadu_epi8): Ditto. - (_mm256_storeu_epi16): Ditto. - (_mm_storeu_epi16): Ditto. - * config/i386/avx512vlintrin.h (_mm256_load_epi64): New intrinsics. - (_mm_load_epi64): Ditto. - (_mm256_load_epi32): Ditto. - (_mm_load_epi32): Ditto. - (_mm256_store_epi32): Ditto. - (_mm_store_epi32): Ditto. - (_mm256_loadu_epi64): Ditto. - (_mm_loadu_epi64): Ditto. - (_mm256_loadu_epi32): Ditto. - (_mm_loadu_epi32): Ditto. - (_mm256_mask_cvt_roundps_ph): Ditto. - (_mm256_maskz_cvt_roundps_ph): Ditto. - (_mm_mask_cvt_roundps_ph): Ditto. - (_mm_maskz_cvt_roundps_ph): Ditto. - * config/i386/avxintrin.h (_mm256_cvtsi256_si32): New intrinsics. - * config/i386/emmintrin.h (_mm_loadu_si32): New intrinsics. - (_mm_loadu_si16): Ditto. - (_mm_storeu_si32): Ditto. - (_mm_storeu_si16): Ditto. - * config/i386/i386-builtin-types.def - (V8DF_FTYPE_V8DF_INT_V8DF_UQI_INT): Add new type. - (V16SF_FTYPE_V16SF_INT_V16SF_UHI_INT): Ditto. - (V4SF_FTYPE_V4SF_V2DF_V4SF_UQI_INT): Ditto. - (V2DF_FTYPE_V2DF_V4SF_V2DF_UQI_INT): Ditto. - * config/i386/i386-builtin.def - (__builtin_ia32_cvtsd2ss_mask_round): New builtin. - (__builtin_ia32_cvtss2sd_mask_round): Ditto. - (__builtin_ia32_rcp28sd_mask_round): Ditto. - (__builtin_ia32_rcp28ss_mask_round): Ditto. - (__builtin_ia32_rsqrt28sd_mask_round): Ditto. - (__builtin_ia32_rsqrt28ss_mask_round): Ditto. - (__builtin_ia32_reducepd512_mask_round): Ditto. - (__builtin_ia32_reduceps512_mask_round): Ditto. - (__builtin_ia32_reducesd_mask_round): Ditto. - (__builtin_ia32_reducess_mask_round): Ditto. - * config/i386/i386-expand.c - (ix86_expand_round_builtin): Expand round builtin for new type. - (V8DF_FTYPE_V8DF_INT_V8DF_UQI_INT) - (V16SF_FTYPE_V16SF_INT_V16SF_UHI_INT) - (V4SF_FTYPE_V4SF_V2DF_V4SF_UQI_INT) - (V2DF_FTYPE_V2DF_V4SF_V2DF_UQI_INT) - * config/i386/mmintrin.h () - Define datatype __m32 and __m16. - Define datatype __m32_u and __m16_u. - * config/i386/sse.md: Adjust pattern. - (reducep): Adjust. - (reduces): Ditto. - (sse2_cvtsd2ss): Ditto. - (sse2_cvtss2sd): Ditto. - (avx512er_vmrcp28): Ditto. - (avx512er_vmrsqrt28): Ditto. - -2020-10-14 Olivier Hainque - - * config/arm/vxworks.h (TARGET_OS_CPP_BUILTINS): Fix - the VX_CPU selection for -mcpu=xscale on arm-vxworks. - -2020-10-14 Olivier Hainque - - * config/rs6000/vxworks.h (TARGET_OS_CPP_BUILTINS): Accommodate - expectations from different versions of VxWorks, for 32 or 64bit - configurations. - -2020-10-14 Olivier Hainque - - * config/vxworks.h: #undef CPLUSPLUS_CPP_SPEC. - -2020-10-14 Olivier Hainque - - * config/t-vxworks: Adjust the VxWorks alternative LIMITS_H guard - for glimits.h, make it both closer to the previous one and easier to - search for. - -2020-10-14 Jakub Jelinek - - PR target/97387 - * config/i386/i386.md (CC_CCC): New mode iterator. - (*setcc_qi_addqi3_cconly_overflow_1_): New - define_insn_and_split. - * config/i386/i386.c (ix86_cc_mode): Return CCCmode - for *setcc_qi_addqi3_cconly_overflow_1_ pattern operands. - (ix86_rtx_costs): Return true and *total = 0; - for *setcc_qi_addqi3_cconly_overflow_1_ pattern. Use op0 and - op1 temporaries to simplify COMPARE checks. - -2020-10-14 Aldy Hernandez - - PR tree-optimization/97396 - * gimple-range.cc (gimple_ranger::range_of_phi): Do not call - range_of_ssa_name_with_loop_info with the loop tree root. - -2020-10-14 Richard Biener - - * tree-vect-slp.c (vect_get_and_check_slp_defs): Split out - test for compatible operand types. - -2020-10-14 Olivier Hainque - - * config/vxworks.c (vxworks_override_options): Guard pic checks with - flag_pic > 0 instead of just flag_pic. - -2020-10-14 Jan Hubicka - - * ipa-fnsummary.c (remap_edge_summaries): Make offset_map HOST_WIDE_INT. - (remap_freqcounting_predicate): Likewise. - (ipa_merge_fn_summary_after_inlining): Likewise. - * ipa-predicate.c (predicate::remap_after_inlining): Likewise - * ipa-predicate.h (remap_after_inlining): Update. - -2020-10-14 Jan Hubicka - - * ipa-modref.c (compute_parm_map): Handle POINTER_PLUS_EXPR in - PASSTHROUGH. - -2020-10-14 Richard Biener - - * tree-vect-slp.c (vect_get_and_check_slp_defs): Move - check for duplicate/interleave of variable size constants - to a place done once and early. - (vect_build_slp_tree_2): Adjust heuristics when to build - a BB SLP node from scalars. - -2020-10-14 Tom de Vries - - * tracer.c (cached_can_duplicate_bb_p, analyze_bb): Use - can_duplicate_block_p. - (can_duplicate_insn_p, can_duplicate_bb_no_insn_iter_p) - (can_duplicate_bb_p): Move and merge ... - * tree-cfg.c (gimple_can_duplicate_bb_p): ... here. - -2020-10-14 Jan Hubicka - - * doc/invoke.texi: (ipa-jump-function-lookups): Document param. - * ipa-modref.c (merge_call_side_effects): Use - unadjusted_ptr_and_unit_offset. - * ipa-prop.c (unadjusted_ptr_and_unit_offset): New function. - * ipa-prop.h (unadjusted_ptr_and_unit_offset): Declare. - * params.opt: (-param-ipa-jump-function-lookups): New. - -2020-10-14 Jan Hubicka - - PR bootstrap/97350 - * ipa-modref.c (ignore_edge): Do not ignore inlined edes. - (ipa_merge_modref_summary_after_inlining): Improve debug output and - fix parameter of ignore_stores_p. - -2020-10-14 Kito Cheng - - PR target/96759 - * expr.c (expand_assignment): Handle misaligned stores with PARALLEL - value. - -2020-10-13 Jakub Jelinek - - PR rtl-optimization/97386 - * combine.c (simplify_shift_const_1): Don't optimize nested ROTATEs if - they have different modes. - -2020-10-13 Aldy Hernandez - - PR tree-optimization/97379 - * gimple-range-edge.cc (outgoing_range::calc_switch_ranges): Do - not save hash slot across calls to hash_table<>::get_or_insert. - -2020-10-13 Tobias Burnus - - * lto-wrapper.c (find_crtoffloadtable): Fix last commit - by adding NULL as last argument to concat. - -2020-10-13 Kyrylo Tkachov - - * config/aarch64/aarch64.c (neoversen2_tunings): Define. - * config/aarch64/aarch64-cores.def (neoverse-n2): Use it. - -2020-10-13 Tobias Burnus - - * lto-wrapper.c (find_crtoffloadtable): With -save-temps, - use non-temp file name utilizing the dump prefix. - (run_gcc): Update call. - -2020-10-13 Richard Biener - - PR tree-optimization/97382 - * tree-vectorizer.h (_stmt_vec_info::same_align_refs): Remove. - (STMT_VINFO_SAME_ALIGN_REFS): Likewise. - * tree-vectorizer.c (vec_info::new_stmt_vec_info): Do not - allocate STMT_VINFO_SAME_ALIGN_REFS. - (vec_info::free_stmt_vec_info): Do not release - STMT_VINFO_SAME_ALIGN_REFS. - * tree-vect-data-refs.c (vect_analyze_data_ref_dependences): - Do not compute self and read-read dependences. - (vect_dr_aligned_if_related_peeled_dr_is): New helper. - (vect_dr_aligned_if_peeled_dr_is): Likewise. - (vect_update_misalignment_for_peel): Use it instead of - iterating over STMT_VINFO_SAME_ALIGN_REFS. - (dr_align_group_sort_cmp): New function. - (vect_enhance_data_refs_alignment): Count the number of - same aligned refs here and elide uses of STMT_VINFO_SAME_ALIGN_REFS. - (vect_find_same_alignment_drs): Remove. - (vect_analyze_data_refs_alignment): Do not call it. - * vec.h (auto_vec::auto_vec): Adjust CTOR to take - a vec<>&&, assert it isn't using auto storage. - (auto_vec& operator=): Apply a similar change. - -2020-10-13 Tobias Burnus - - * config/nvptx/mkoffload.c (main): Add missing fclose (in). - -2020-10-13 Zhiheng Xie - Nannan Zheng - - * config/aarch64/aarch64-simd-builtins.def: Add proper FLAG - for mul/mla/mls intrinsics. - -2020-10-13 Jakub Jelinek - - * omp-low.c (add_taskreg_looptemp_clauses): For triangular loops - with non-constant number of iterations add another 4 _looptemp_ - clauses before the (optional) one for lastprivate. - (lower_omp_for_lastprivate): Skip those clauses when looking for - the lastprivate clause. - (lower_omp_for): For triangular loops with non-constant number of - iterations add another 4 _looptemp_ clauses. - * omp-expand.c (expand_omp_for_init_counts): For triangular loops - with non-constant number of iterations set counts[0], - fd->first_inner_iterations, fd->factor and fd->adjn1 from the newly - added _looptemp_ clauses. - (expand_omp_for_init_vars): Initialize the newly added _looptemp_ - clauses. - (find_lastprivate_looptemp): New function. - (expand_omp_for_static_nochunk, expand_omp_for_static_chunk, - expand_omp_taskloop_for_outer): Use it instead of manually skipping - _looptemp_ clauses. - -2020-10-13 Jan Hubicka - - PR ipa/97389 - * ipa-modref.c (dump_lto_records): Fix formating of dump file. - (modref_summary::dump): Do not check loads to be non-null. - (modref_summary_lto::dump): Do not check loads to be non-null. - (merge_call_side_effects): Improve debug output. - (analyze_call): Crash when cur_summary->loads is NULL. - (analyze_function): Update. - (modref_summaries::insert): Insert only into summaries, not - optimization_summaries. - (modref_summaries::duplicate): Likewise; crash when load or sotres - are NULL. - (modref_summaries_lto::duplicate): Crash when loads or stores are NULL. - (write_modref_records): param_index is signed. - (read_modref_records): param_index is signed. - (modref_write): Crash when loads or stores are NULL. - (read_section): Compensate previous change. - (pass_modref::execute): Do not check optimization_summaries t be - non-NULL. - (ignore_edge): Fix. - (compute_parm_map): Fix formating. - (modref_propagate_in_scc): Do not expect loads/stores to be NULL. - -2020-10-12 Alexandre Oliva - - * builtins.c (mathfn_built_in_type): Use CFN_ enumerators. - -2020-10-12 Andrew MacLeod - - PR tree-optimization/97381 - * gimple-range-gori.cc (gori_compute::compute_operand2_range): If a range cannot be - calculated through operand 2, return false. - -2020-10-12 Aldy Hernandez - - PR tree-optimization/97378 - * range-op.cc (operator_trunc_mod::wi_fold): Return VARYING for mod by zero. - -2020-10-12 David Malcolm - - * doc/invoke.texi: Document -Wanalyzer-write-to-const and - -Wanalyzer-write-to-string-literal. - -2020-10-12 Martin Sebor - - PR middle-end/97342 - PR middle-end/97023 - PR middle-end/96384 - * builtins.c (access_ref::access_ref): Initialize new member. Use - new enum. - (access_ref::size_remaining): Define new member function. - (inform_access): Handle expressions referencing objects. - (gimple_call_alloc_size): Call get_size_range instead of get_range. - (gimple_call_return_array): New function. - (get_range): Rename... - (get_offset_range): ...to this. Improve detection of ranges from - types of expressions. - (gimple_call_return_array): Adjust calls to get_range per above. - (compute_objsize): Same. Set maximum size or offset instead of - failing for unknown objects and handle more kinds of expressions. - (compute_objsize): Call access_ref::size_remaining. - (compute_objsize): Have transitional wrapper fail for pointers - into unknown objects. - (expand_builtin_strncmp): Call access_ref::size_remaining and - handle new cases. - * builtins.h (access_ref::size_remaining): Declare new member function. - (access_ref::set_max_size_range): Define new member function. - (access_ref::add_ofset, access_ref::add_max_ofset): Same. - (access_ref::add_base0): New data member. - * calls.c (get_size_range): Change argument type. Handle new - condition. - * calls.h (get_size_range): Adjust signature. - (enum size_range_flags): Define new type. - * gimple-ssa-warn-restrict.c (builtin_memref::builtin_memref): Correct - argument to get_size_range. - * tree-ssa-strlen.c (get_range): Handle anti-ranges. - (maybe_warn_overflow): Check DECL_P before assuming it's one. - -2020-10-12 Martin Sebor - - PR c++/96511 - PR middle-end/96384 - * builtins.c (get_range): Return full range of type when neither - value nor its range is available. Fail for ranges inverted due - to the signedness of offsets. - (compute_objsize): Handle more special array members. Handle - POINTER_PLUS_EXPR and VIEW_CONVERT_EXPR that come up in front end - code. - (access_ref::offset_bounded): Define new member function. - * builtins.h (access_ref::eval): New data member. - (access_ref::offset_bounded): New member function. - (access_ref::offset_zero): New member function. - (compute_objsize): Declare a new overload. - * gimple-array-bounds.cc (array_bounds_checker::check_array_ref): Use - enum special_array_member. - * tree.c (component_ref_size): Use special_array_member. - * tree.h (special_array_member): Define a new type. - (component_ref_size): Change signature. - -2020-10-12 Jan Hubicka - - * ipa-modref.c (modref_summaries): Remove field IPA. - (class modref_summary_lto): New global variable. - (class modref_summaries_lto): New. - (modref_summary::modref_summary): Remove loads_lto and stores_lto. - (modref_summary::~modref_summary): Remove loads_lto and stores_lto. - (modref_summary::useful_p): Do not use lto_useful. - (modref_records_lto): New typedef. - (struct modref_summary_lto): New type. - (modref_summary_lto::modref_summary_lto): New member function. - (modref_summary_lto::~modref_summary_lto): New member function. - (modref_summary_lto::useful_p): New member function. - (modref_summary::dump): Do not handle lto. - (modref_summary_lto::dump): New member function. - (get_modref_function_summary): Use optimization_summary. - (merge_call_side_effects): Use optimization_summary. - (analyze_call): Use optimization_summary. - (struct summary_ptrs): New struture. - (analyze_load): Update to handle separate lto and non-lto summaries. - (analyze_store): Likewise. - (analyze_stmt): Likewise. - (remove_summary): Break out from ... - (analyze_function): ... here; update to handle seprated summaries. - (modref_summaries::insert): Do not handle lto summary. - (modref_summaries_lto::insert): New member function. - (modref_summaries::duplicate): Do not handle lto summary. - (modref_summaries_lto::duplicate): New member function. - (read_modref_records): Expect nolto_ret or lto_ret to be NULL> - (modref_write): Write lto summary. - (read_section): Handle separated summaries. - (modref_read): Initialize separated summaries. - (modref_transform): Handle separated summaries. - (pass_modref::execute): Turn summary to optimization_summary; handle - separate summaries. - (ignore_edge): Handle separate summaries. - (ipa_merge_modref_summary_after_inlining): Likewise. - (collapse_loads): Likewise. - (modref_propagate_in_scc): Likewise. - (pass_ipa_modref::execute): Likewise. - (ipa_modref_c_finalize): Likewise. - * ipa-modref.h (modref_records_lto): Remove typedef. - (struct modref_summary): Remove stores_lto, loads_lto and finished - fields; remove lto_useful_p member function. - -2020-10-12 Richard Biener - - * tree-vect-data-refs.c (vect_slp_analyze_instance_dependence): - Use SLP_TREE_REPRESENTATIVE. - * tree-vectorizer.h (_slp_tree::vertex): New member used - for graphds interfacing. - * tree-vect-slp.c (vect_build_slp_tree_2): Allocate space - for PHI SLP children. - (vect_analyze_slp_backedges): New function filling in SLP - node children for PHIs that correspond to backedge values. - (vect_analyze_slp): Call vect_analyze_slp_backedges for the - graph. - (vect_slp_analyze_node_operations): Deal with a cyclic graph. - (vect_schedule_slp_instance): Likewise. - (vect_schedule_slp): Likewise. - (slp_copy_subtree): Remove. - (vect_slp_rearrange_stmts): Likewise. - (vect_attempt_slp_rearrange_stmts): Likewise. - (vect_slp_build_vertices): New functions. - (vect_slp_permute): Likewise. - (vect_slp_perms_eq): Likewise. - (vect_optimize_slp): Remove special code to elide - permutations with SLP reductions. Implement generic - permute optimization. - -2020-10-12 Christophe Lyon - - * config/arm/arm.c (arm_preferred_simd_mode): Use E_FOOmode - instead of FOOmode. - -2020-10-12 Martin Liska - - PR tree-optimization/97079 - * internal-fn.c (internal_fn_stored_value_index): Handle also - .MASK_STORE_LANES. - * tree-vect-patterns.c (vect_recog_over_widening_pattern): Bail - out for unsupported TREE_TYPE. - -2020-10-12 Richard Biener - - * tree-vect-slp.c (vect_bb_partition_graph_r): Use visited - hash-map. - (vect_bb_partition_graph): Likewise. - -2020-10-12 Duan bo - - PR target/96757 - * tree-vect-patterns.c (vect_recog_mask_conversion_pattern): Add - the identification and handling of the dropped situation in the - cond expression processing phase. - -2020-10-12 Tobias Burnus - - * doc/invoke.texi (nvptx's -misa): Update default to sm_35. - -2020-10-12 Kyrylo Tkachov - - PR target/97349 - * config/aarch64/arm_neon.h (vdupq_n_p8, vdupq_n_p16, - vdupq_n_p64, vdupq_n_s8, vdupq_n_s16, vdupq_n_u8, vdupq_n_u16): - Fix argument type. - -2020-10-12 Ilya Leoshkevich - - * config/s390/s390-protos.h (s390_build_signbit_mask): New - function. - * config/s390/s390.c (s390_contiguous_bitmask_vector_p): - Bitcast the argument to an integral mode. - (s390_expand_vec_init): Do not call - s390_contiguous_bitmask_vector_p with a scalar argument. - (s390_build_signbit_mask): New function. - * config/s390/vector.md (copysign3): Use bitwise - operations. - -2020-10-12 Aldy Hernandez - - PR tree-optimization/97371 - * range-op.cc (operator_rshift::op1_range): Ignore shifts larger than - or equal to type precision. - -2020-10-12 Martin Liska - - * ipa-modref.c (merge_call_side_effects): Clear modref_parm_map - fields in the vector. - -2020-10-12 Richard Biener - - * tree-vect-slp.c (vect_analyze_slp_instance): Set matches to true - after successful discovery but forced split. - -2020-10-12 Tom de Vries - - * config/nvptx/nvptx.opt (-msoft-stack-reserve-local): Rename to ... - (-msoft-stack-reserve-local=): ... this. - -2020-10-12 Richard Biener - - PR tree-optimization/97357 - * tree-ssa-loop-split.c (ssa_semi_invariant_p): Abnormal - SSA names are not semi invariant. - -2020-10-11 Iain Sandoe - - * config/darwin.c (darwin_globalize_label): Make a subset of - metadate symbols global. - (darwin_label_is_anonymous_local_objc_name): Make a subset of - metadata symbols linker-visible. - (darwin_override_options): Track more target OS versions, make - the next_runtime version track this (unless it's set to 0 for - GNU runtime). - -2020-10-11 Iain Sandoe - - * config/darwin.c (darwin_globalize_label): Add protocol - meta-data labels to the set that are global. - (darwin_label_is_anonymous_local_objc_name): Arrange for meta- - data start labels to be linker-visible. - -2020-10-11 Iain Sandoe - - * config/darwin.c (darwin_objc2_section): Allow for - values > 1 to represent the next runtime. - (darwin_objc1_section): Likewise. - * config/darwin.h (NEXT_OBJC_RUNTIME): Set the default - next runtime value to be 10.5.8. - -2020-10-10 Jan Hubicka - - * ipa-modref.c (modref_transform): Fix parameter map computation. - -2020-10-10 Tom de Vries - - PR target/97318 - * config/nvptx/nvptx.c (nvptx_replace_dot): New function. - (write_fn_proto, write_fn_proto_from_insn, nvptx_output_call_insn): - Use nvptx_replace_dot. - -2020-10-10 Tom de Vries - - * config/nvptx/nvptx.c (write_fn_proto_1): New function, factored out - of ... - (write_fn_proto): ... here. Return void. - -2020-10-10 Jan Hubicka - - * ipa-modref.c (remap_arguments): Check range in map access. - -2020-10-10 Jan Hubicka - - * ipa-modref.c (modref_transform): Use reserve instead of safe_grow. - -2020-10-10 Jan Hubicka - - * ipa-modref.c (modref_transform): Check that summaries are allocated. - -2020-10-10 Jan Hubicka - - * ipa-modref-tree.h (struct modref_tree): Revert prevoius change. - * ipa-modref.c (analyze_function): Dump original summary. - (modref_read): Only set IPA if streaming summary (not optimization - summary). - (remap_arguments): New function. - (modref_transform): New function. - (compute_parm_map): Fix offset calculation. - (ipa_merge_modref_summary_after_inlining): Do not merge stores when - they can be ignored. - -2020-10-10 Jan Hubicka - - * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Improve debug dumps. - (call_may_clobber_ref_p_1): Improve debug dumps. - -2020-10-10 Iain Sandoe - - * config/darwin.c (output_objc_section_asm_op): Avoid extra - objective-c section switches unless the linker needs them. - -2020-10-10 Iain Sandoe - - * config/darwin-sections.def (objc2_data_section): New. - (objc2_ivar_section): New. - * config/darwin.c (darwin_objc2_section): Act on Protocol and - ivar refs. - -2020-10-10 Iain Sandoe - - * config/darwin-sections.def (objc2_class_names_section, - objc2_method_names_section, objc2_method_types_section): New - * config/darwin.c (output_objc_section_asm_op): Output new - sections. (darwin_objc2_section): Select new sections where - used. - -2020-10-10 Iain Sandoe - - * config/darwin.c (darwin_emit_local_bss): Amend section names to - match system tools. (darwin_output_aligned_bss): Likewise. - -2020-10-10 Aldy Hernandez - - PR tree-optimization/97359 - * gimple-range-gori.cc (logical_stmt_cache::cacheable_p): Only - handle ANDs and ORs. - (gori_compute_cache::cache_stmt): Adjust comment. - -2020-10-09 Vladimir Makarov - - PR rtl-optimization/97313 - * lra-constraints.c (match_reload): Don't keep strict_low_part in - reloads for non-registers. - -2020-10-09 H.J. Lu - - PR target/97148 - * config.gcc (extra_headers): Add x86gprintrin.h. - * config/i386/adxintrin.h: Check _X86GPRINTRIN_H_INCLUDED for - . - * config/i386/bmi2intrin.h: Likewise. - * config/i386/bmiintrin.h: Likewise. - * config/i386/cetintrin.h: Likewise. - * config/i386/cldemoteintrin.h: Likewise. - * config/i386/clflushoptintrin.h: Likewise. - * config/i386/clwbintrin.h: Likewise. - * config/i386/enqcmdintrin.h: Likewise. - * config/i386/fxsrintrin.h: Likewise. - * config/i386/ia32intrin.h: Likewise. - * config/i386/lwpintrin.h: Likewise. - * config/i386/lzcntintrin.h: Likewise. - * config/i386/movdirintrin.h: Likewise. - * config/i386/pconfigintrin.h: Likewise. - * config/i386/pkuintrin.h: Likewise. - * config/i386/rdseedintrin.h: Likewise. - * config/i386/rtmintrin.h: Likewise. - * config/i386/serializeintrin.h: Likewise. - * config/i386/tbmintrin.h: Likewise. - * config/i386/tsxldtrkintrin.h: Likewise. - * config/i386/waitpkgintrin.h: Likewise. - * config/i386/wbnoinvdintrin.h: Likewise. - * config/i386/xsavecintrin.h: Likewise. - * config/i386/xsaveintrin.h: Likewise. - * config/i386/xsaveoptintrin.h: Likewise. - * config/i386/xsavesintrin.h: Likewise. - * config/i386/xtestintrin.h: Likewise. - * config/i386/immintrin.h: Include instead of - , , , - , , , - , , , , - , , - , , , - , , , - , , and - . - (_wbinvd): Moved to config/i386/x86gprintrin.h. - (_rdrand16_step): Likewise. - (_rdrand32_step): Likewise. - (_rdpid_u32): Likewise. - (_readfsbase_u32): Likewise. - (_readfsbase_u64): Likewise. - (_readgsbase_u32): Likewise. - (_readgsbase_u64): Likewise. - (_writefsbase_u32): Likewise. - (_writefsbase_u64): Likewise. - (_writegsbase_u32): Likewise. - (_writegsbase_u64): Likewise. - (_rdrand64_step): Likewise. - (_ptwrite64): Likewise. - (_ptwrite32): Likewise. - * config/i386/x86gprintrin.h: New file. - * config/i386/x86intrin.h: Include . Don't - include , , , - , and . - -2020-10-09 Tom de Vries - - PR target/97348 - * config/nvptx/nvptx.h (ASM_SPEC): Also pass -m to nvptx-as if - default is used. - * config/nvptx/nvptx.opt (misa): Init with PTX_ISA_SM35. - -2020-10-09 Richard Biener - - * doc/sourcebuild.texi (vect_masked_load): Document. - -2020-10-09 Richard Biener - - PR tree-optimization/97334 - * tree-vect-slp.c (vect_build_slp_tree_1): Do not fatally - fail lanes other than zero when BB vectorizing. - -2020-10-09 Jan Hubicka - - PR ipa/97292 - PR ipa/97335 - * ipa-modref-tree.h (copy_from): Drop summary in a - clone. - -2020-10-09 Richard Biener - - PR tree-optimization/97347 - * tree-vect-slp.c (vect_create_constant_vectors): Use - edge insertion when inserting on the fallthru edge, - appropriately insert at the start of BBs when inserting - after PHIs. - -2020-10-09 Andrew MacLeod - - PR tree-optimization/97317 - * range-op.cc (operator_cast::op1_range): Handle casts where the precision - of the RHS is only 1 greater than the precision of the LHS. - -2020-10-09 Richard Biener - - * cgraphunit.c (expand_all_functions): Free tp_first_run_order. - * ipa-modref.c (pass_ipa_modref::execute): Free order. - * tree-ssa-loop-niter.c (estimate_numbers_of_iterations): Free - loop body. - * tree-vect-data-refs.c (vect_find_stmt_data_reference): Free - data references upon failure. - * tree-vect-loop.c (update_epilogue_loop_vinfo): Free BBs - array of the original loop. - * tree-vect-slp.c (vect_slp_bbs): Use an auto_vec for - dataref_groups to release its memory. - -2020-10-09 Jakub Jelinek - - PR tree-optimization/94801 - PR target/97312 - * vr-values.c (vr_values::extract_range_basic) : When stmt is not an internal-fn call or - C?Z_DEFINED_VALUE_AT_ZERO is not 2, assume argument is not zero - and thus use [0, prec-1] range unless it can be further improved. - For CTZ, don't update maxi from upper bound if it was previously prec. - * gimple-range.cc (gimple_ranger::range_of_builtin_call) : Likewise. - -2020-10-09 Jakub Jelinek - - PR tree-optimization/97325 - * match.pd (FFS(nonzero) -> CTZ(nonzero) + 1): Cast argument to - corresponding unsigned type. - -2020-10-09 Richard Biener - - * tree-vect-slp.c (vect_create_constant_vectors): Properly insert - after PHIs. - -2020-10-08 Alexandre Oliva - - * builtins.c (mathfn_built_in_type): New. - * builtins.h (mathfn_built_in_type): Declare. - * tree-ssa-math-opts.c (execute_cse_sincos_1): Use it to - obtain the type expected by the intrinsic. - -2020-10-08 Will Schmidt - - * config/rs6000/rs6000-builtin.def (BU_P10_MISC_2): Rename - to BU_P10_POWERPC64_MISC_2. - CFUGED, CNTLZDM, CNTTZDM, PDEPD, PEXTD): Call renamed macro. - -2020-10-08 Jan Hubicka - - * tree-nrv.c (dest_safe_for_nrv_p): Disable tbaa in - call_may_clobber_ref_p and ref_maybe_used_by_stmt_p. - * tree-tailcall.c (find_tail_calls): Likewise. - * tree-ssa-alias.c (call_may_clobber_ref_p): Add tbaa_p parameter. - * tree-ssa-alias.h (call_may_clobber_ref_p): Update prototype. - * tree-ssa-sccvn.c (vn_reference_lookup_3): Pass data->tbaa_p - to call_may_clobber_ref_p_1. - -2020-10-08 Mark Wielaard - - * dwarf2out.c (dwarf2out_finish): Emit .file 0 entry when - generating DWARF5 .debug_line table through gas. - -2020-10-08 John Henning - - PR other/97309 - * doc/invoke.texi: Improve documentation of - -fallow-store-data-races. - -2020-10-08 Christophe Lyon - - PR target/96914 - * config/arm/arm_mve.h (__arm_vcvtnq_u32_f32): New. - -2020-10-08 Martin Liska - Richard Biener - - * tree-vectorizer.h (_bb_vec_info::const_iterator): Remove. - (_bb_vec_info::const_reverse_iterator): Likewise. - (_bb_vec_info::region_stmts): Likewise. - (_bb_vec_info::reverse_region_stmts): Likewise. - (_bb_vec_info::_bb_vec_info): Adjust. - (_bb_vec_info::bb): Remove. - (_bb_vec_info::region_begin): Remove. - (_bb_vec_info::region_end): Remove. - (_bb_vec_info::bbs): New vector of BBs. - (vect_slp_function): Declare. - * tree-vect-patterns.c (vect_determine_precisions): Use - regular stmt iteration. - (vect_pattern_recog): Likewise. - * tree-vect-slp.c: Include cfganal.h, tree-eh.h and tree-cfg.h. - (vect_build_slp_tree_1): Properly refuse to vectorize - volatile and throwing stmts. - (vect_build_slp_tree_2): Pass group-size down to - get_vectype_for_scalar_type. - (_bb_vec_info::_bb_vec_info): Use regular stmt iteration, - adjust for changed region specification. - (_bb_vec_info::~_bb_vec_info): Likewise. - (vect_slp_check_for_constructors): Likewise. - (vect_slp_region): Likewise. - (vect_slp_bbs): New worker operating on a vector of BBs. - (vect_slp_bb): Wrap it. - (vect_slp_function): New function splitting the function - into multi-BB regions. - (vect_create_constant_vectors): Handle the case of inserting - after a throwing def. - (vect_schedule_slp_instance): Adjust. - * tree-vectorizer.c (vec_info::remove_stmt): Simplify again. - (vec_info::insert_seq_on_entry): Adjust. - (pass_slp_vectorize::execute): Also init PHIs. Call - vect_slp_function. - -2020-10-08 Richard Biener - - PR tree-optimization/97330 - * tree-ssa-sink.c (statement_sink_location): Avoid skipping - PHIs when they dominate the insert location. - -2020-10-08 Jan Hubicka - - * ipa-modref.c (get_access): Fix handling of offsets. - * tree-ssa-alias.c (modref_may_conflict): Watch for overflows. - -2020-10-08 Martin Liska - - * dbgcnt.def (DEBUG_COUNTER): Add ipa_mod_ref debug counter. - * tree-ssa-alias.c (modref_may_conflict): Handle the counter. - -2020-10-08 Richard Biener - - * tree-vectorizer.c (try_vectorize_loop_1): Do not dump - "basic block vectorized". - (pass_slp_vectorize::execute): Likewise. - * tree-vect-slp.c (vect_analyze_slp_instance): Avoid - re-analyzing split single stmts. - -2020-10-08 Christophe Lyon - - PR target/96914 - * config/arm/arm_mve.h (vqrdmlashq_n_u8, vqrdmlashq_n_u16) - (vqrdmlashq_n_u32, vqrdmlahq_n_u8, vqrdmlahq_n_u16) - (vqrdmlahq_n_u32, vqdmlahq_n_u8, vqdmlahq_n_u16, vqdmlahq_n_u32) - (vmlaldavaxq_p_u16, vmlaldavaxq_p_u32): Remove. - * config/arm/arm_mve_builtins.def (vqrdmlashq_n_u, vqrdmlahq_n_u) - (vqdmlahq_n_u, vmlaldavaxq_p_u): Remove. - * config/arm/unspecs.md (VQDMLAHQ_N_U, VQRDMLAHQ_N_U) - (VQRDMLASHQ_N_U) - (VMLALDAVAXQ_P_U): Remove unspecs. - * config/arm/iterators.md (VQDMLAHQ_N_U, VQRDMLAHQ_N_U) - (VQRDMLASHQ_N_U, VMLALDAVAXQ_P_U): Remove attributes. - (VQDMLAHQ_N, VQRDMLAHQ_N, VQRDMLASHQ_N, VMLALDAVAXQ_P): Remove - unsigned variants from iterators. - * config/arm/mve.md (mve_vqdmlahq_n_) - (mve_vqrdmlahq_n_) - (mve_vqrdmlashq_n_, mve_vmlaldavaxq_p_): - Update comment. - -2020-10-08 Christophe Lyon - - PR target/96914 - * config/arm/arm_mve.h (vqdmlashq, vqdmlashq_m): Define. - * config/arm/arm_mve_builtins.def (vqdmlashq_n_s) - (vqdmlashq_m_n_s,): New. - * config/arm/unspecs.md (VQDMLASHQ_N_S, VQDMLASHQ_M_N_S): New - unspecs. - * config/arm/iterators.md (VQDMLASHQ_N_S, VQDMLASHQ_M_N_S): New - attributes. - (VQDMLASHQ_N): New iterator. - * config/arm/mve.md (mve_vqdmlashq_n_, mve_vqdmlashq_m_n_s): New - patterns. - -2020-10-08 Jakub Jelinek - - PR target/97322 - * config/arm/arm.c (arm_expand_divmod_libfunc): Pass mode instead of - GET_MODE (op0) or GET_MODE (op1) to emit_library_call_value. - -2020-10-08 Aldy Hernandez - - PR tree-optimization/97325 - * gimple-range.cc (gimple_ranger::range_of_builtin_call): Handle - negative numbers in __builtin_ffs and __builtin_popcount. - -2020-10-08 Aldy Hernandez - - PR tree-optimization/97315 - * range-op.cc (value_range_with_overflow): Change any - non-overflow calculation in which both bounds are - overflow/underflow to be undefined. - -2020-10-08 Aldy Hernandez - - PR tree-optimization/97315 - * gimple-ssa-evrp.c (hybrid_folder::choose_value): Removes the - trap and instead annotates the listing. - -2020-10-08 Jakub Jelinek - - PR sanitizer/97294 - * tree-cfg.c (move_block_to_fn): Call notice_special_calls on - call stmts being moved into dest_cfun. - * omp-low.c (lower_rec_input_clauses): Set cfun->calls_alloca when - adding __builtin_alloca_with_align call without gimplification. - -2020-10-07 Aldy Hernandez - - * common.opt (-fevrp-mode): Rename and move... - * params.opt (--param=evrp-mode): ...here. - * gimple-range.h (DEBUG_RANGE_CACHE): Use param_evrp_mode instead - of flag_evrp_mode. - * gimple-ssa-evrp.c (rvrp_folder): Same. - (hybrid_folder): Same. - (execute_early_vrp): Same. - -2020-10-07 Richard Biener - - PR tree-optimization/97307 - * tree-ssa-sink.c (statement_sink_location): Change heuristic - for not skipping stores to look for virtual definitions - rather than uses. - -2020-10-07 Andrew MacLeod - - * value-range.h (irange_allocator::allocate): Allocate in two hunks - instead of using the variably-sized trailing array approach. - -2020-10-07 David Malcolm - - * doc/invoke.texi (-fdiagnostics-plain-output): Add - -fdiagnostics-path-format=separate-events to list of - options injected by -fdiagnostics-plain-output. - * opts-common.c (decode_cmdline_options_to_array): Likewise. - -2020-10-07 Martin Jambor - - PR ipa/96394 - * ipa-prop.c (update_indirect_edges_after_inlining): Do not add - resolved speculation edges to vector of new direct edges even in - presence of multiple speculative direct edges for a single call. - -2020-10-07 Andrew Stubbs - - * config/gcn/gcn.md (unspec): Add UNSPEC_ADDPTR. - (addptrdi3): Add SGPR alternative. - -2020-10-07 Mark Wielaard - - * dwarf2out.c (add_filepath_AT_string): New function. - (asm_outputs_debug_line_str): Likewise. - (add_filename_attribute): Likewise. - (add_comp_dir_attribute): Call add_filepath_AT_string. - (gen_compile_unit_die): Call add_filename_attribute for name. - (init_sections_and_labels): Init debug_line_str_section when - asm_outputs_debug_line_str return true. - (dwarf2out_early_finish): Remove DW_AT_name and DW_AT_comp_dir - hack and call add_filename_attribute for the remap_debug_filename. - -2020-10-07 Jakub Jelinek - - * configure.ac (HAVE_AS_GDWARF_5_DEBUG_FLAG, - HAVE_AS_WORKING_DWARF_4_FLAG): New tests. - * gcc.c (ASM_DEBUG_DWARF_OPTION): Define. - (ASM_DEBUG_SPEC): Use ASM_DEBUG_DWARF_OPTION instead of - "--gdwarf2". Use %{cond:opt1;:opt2} style. - (ASM_DEBUG_OPTION_DWARF_OPT): Define. - (ASM_DEBUG_OPTION_SPEC): Define. - (asm_debug_option): New variable. - (asm_options): Add "%(asm_debug_option)". - (static_specs): Add asm_debug_option entry. - (static_spec_functions): Add dwarf-version-gt. - (debug_level_greater_than_spec_func): New function. - * config/darwin.h (ASM_DEBUG_OPTION_SPEC): Define. - * config/darwin9.h (ASM_DEBUG_OPTION_SPEC): Redefine. - * config.in: Regenerated. - * configure: Regenerated. - -2020-10-07 Jakub Jelinek - - PR bootstrap/97305 - * optc-save-gen.awk: Don't declare mask variable if explicit_mask - array is not present. - -2020-10-07 Jakub Jelinek - - * omp-expand.c (expand_omp_simd): Don't emit MIN_EXPR and PLUS_EXPR - at the end of entry_bb and innermost init_bb, instead force arguments - for MIN_EXPR into temporaries in both cases and jump to a new bb that - performs MIN_EXPR and PLUS_EXPR. - -2020-10-07 Tom de Vries - - * tree-ssa-loop-ch.c (ch_base::copy_headers): Add missing NULL test - for dump_file. - -2020-10-06 Andrew MacLeod - - * flag-types.h (enum evrp_mode): New enumerated type EVRP_MODE_*. - * common.opt (fevrp-mode): New undocumented flag. - * gimple-ssa-evrp.c: Include gimple-range.h - (class rvrp_folder): EVRP folding using ranger exclusively. - (rvrp_folder::rvrp_folder): New. - (rvrp_folder::~rvrp_folder): New. - (rvrp_folder::value_of_expr): New. Use rangers value_of_expr. - (rvrp_folder::value_on_edge): New. Use rangers value_on_edge. - (rvrp_folder::value_of_Stmt): New. Use rangers value_of_stmt. - (rvrp_folder::fold_stmt): New. Call the simplifier. - (class hybrid_folder): EVRP folding using both engines. - (hybrid_folder::hybrid_folder): New. - (hybrid_folder::~hybrid_folder): New. - (hybrid_folder::fold_stmt): New. Simplify with one engne, then the - other. - (hybrid_folder::value_of_expr): New. Use both value routines. - (hybrid_folder::value_on_edge): New. Use both value routines. - (hybrid_folder::value_of_stmt): New. Use both value routines. - (hybrid_folder::choose_value): New. Choose between range_analzyer and - rangers values. - (execute_early_vrp): Choose a folder based on flag_evrp_mode. - * vr-values.c (simplify_using_ranges::fold_cond): Try range_of_stmt - first to see if it returns a value. - (simplify_using_ranges::simplify_switch_using_ranges): Return true if - any changes were made to the switch. - -2020-10-06 Andrew MacLeod - - * Makefile.in (OBJS): Add gimple-range*.o. - * gimple-range.h: New file. - * gimple-range.cc: New file. - * gimple-range-cache.h: New file. - * gimple-range-cache.cc: New file. - * gimple-range-edge.h: New file. - * gimple-range-edge.cc: New file. - * gimple-range-gori.h: New file. - * gimple-range-gori.cc: New file. - -2020-10-06 Dennis Zhang - - * config/arm/arm.c (arm_preferred_simd_mode): Enable MVE SIMD modes. - -2020-10-06 Tom de Vries - - PR middle-end/90861 - * gimplify.c (gimplify_bind_expr): Handle lookup in - oacc_declare_returns using key with decl-expr. - -2020-10-06 Srinath Parvathaneni - - * config/arm/iterators.md (MVE_types): Move mode iterator from mve.md to - iterators.md. - (MVE_VLD_ST): Likewise. - (MVE_0): Likewise. - (MVE_1): Likewise. - (MVE_3): Likewise. - (MVE_2): Likewise. - (MVE_5): Likewise. - (MVE_6): Likewise. - (MVE_CNVT): Move mode attribute iterator from mve.md to iterators.md. - (MVE_LANES): Likewise. - (MVE_constraint): Likewise. - (MVE_constraint1): Likewise. - (MVE_constraint2): Likewise. - (MVE_constraint3): Likewise. - (MVE_pred): Likewise. - (MVE_pred1): Likewise. - (MVE_pred2): Likewise. - (MVE_pred3): Likewise. - (MVE_B_ELEM): Likewise. - (MVE_H_ELEM): Likewise. - (V_sz_elem1): Likewise. - (V_extr_elem): Likewise. - (earlyclobber_32): Likewise. - (supf): Move int attribute from mve.md to iterators.md. - (mode1): Likewise. - (VCVTQ_TO_F): Move int iterator from mve.md to iterators.md. - (VMVNQ_N): Likewise. - (VREV64Q): Likewise. - (VCVTQ_FROM_F): Likewise. - (VREV16Q): Likewise. - (VCVTAQ): Likewise. - (VMVNQ): Likewise. - (VDUPQ_N): Likewise. - (VCLZQ): Likewise. - (VADDVQ): Likewise. - (VREV32Q): Likewise. - (VMOVLBQ): Likewise. - (VMOVLTQ): Likewise. - (VCVTPQ): Likewise. - (VCVTNQ): Likewise. - (VCVTMQ): Likewise. - (VADDLVQ): Likewise. - (VCTPQ): Likewise. - (VCTPQ_M): Likewise. - (VCVTQ_N_TO_F): Likewise. - (VCREATEQ): Likewise. - (VSHRQ_N): Likewise. - (VCVTQ_N_FROM_F): Likewise. - (VADDLVQ_P): Likewise. - (VCMPNEQ): Likewise. - (VSHLQ): Likewise. - (VABDQ): Likewise. - (VADDQ_N): Likewise. - (VADDVAQ): Likewise. - (VADDVQ_P): Likewise. - (VANDQ): Likewise. - (VBICQ): Likewise. - (VBRSRQ_N): Likewise. - (VCADDQ_ROT270): Likewise. - (VCADDQ_ROT90): Likewise. - (VCMPEQQ): Likewise. - (VCMPEQQ_N): Likewise. - (VCMPNEQ_N): Likewise. - (VEORQ): Likewise. - (VHADDQ): Likewise. - (VHADDQ_N): Likewise. - (VHSUBQ): Likewise. - (VHSUBQ_N): Likewise. - (VMAXQ): Likewise. - (VMAXVQ): Likewise. - (VMINQ): Likewise. - (VMINVQ): Likewise. - (VMLADAVQ): Likewise. - (VMULHQ): Likewise. - (VMULLBQ_INT): Likewise. - (VMULLTQ_INT): Likewise. - (VMULQ): Likewise. - (VMULQ_N): Likewise. - (VORNQ): Likewise. - (VORRQ): Likewise. - (VQADDQ): Likewise. - (VQADDQ_N): Likewise. - (VQRSHLQ): Likewise. - (VQRSHLQ_N): Likewise. - (VQSHLQ): Likewise. - (VQSHLQ_N): Likewise. - (VQSHLQ_R): Likewise. - (VQSUBQ): Likewise. - (VQSUBQ_N): Likewise. - (VRHADDQ): Likewise. - (VRMULHQ): Likewise. - (VRSHLQ): Likewise. - (VRSHLQ_N): Likewise. - (VRSHRQ_N): Likewise. - (VSHLQ_N): Likewise. - (VSHLQ_R): Likewise. - (VSUBQ): Likewise. - (VSUBQ_N): Likewise. - (VADDLVAQ): Likewise. - (VBICQ_N): Likewise. - (VMLALDAVQ): Likewise. - (VMLALDAVXQ): Likewise. - (VMOVNBQ): Likewise. - (VMOVNTQ): Likewise. - (VORRQ_N): Likewise. - (VQMOVNBQ): Likewise. - (VQMOVNTQ): Likewise. - (VSHLLBQ_N): Likewise. - (VSHLLTQ_N): Likewise. - (VRMLALDAVHQ): Likewise. - (VBICQ_M_N): Likewise. - (VCVTAQ_M): Likewise. - (VCVTQ_M_TO_F): Likewise. - (VQRSHRNBQ_N): Likewise. - (VABAVQ): Likewise. - (VSHLCQ): Likewise. - (VRMLALDAVHAQ): Likewise. - (VADDVAQ_P): Likewise. - (VCLZQ_M): Likewise. - (VCMPEQQ_M_N): Likewise. - (VCMPEQQ_M): Likewise. - (VCMPNEQ_M_N): Likewise. - (VCMPNEQ_M): Likewise. - (VDUPQ_M_N): Likewise. - (VMAXVQ_P): Likewise. - (VMINVQ_P): Likewise. - (VMLADAVAQ): Likewise. - (VMLADAVQ_P): Likewise. - (VMLAQ_N): Likewise. - (VMLASQ_N): Likewise. - (VMVNQ_M): Likewise. - (VPSELQ): Likewise. - (VQDMLAHQ_N): Likewise. - (VQRDMLAHQ_N): Likewise. - (VQRDMLASHQ_N): Likewise. - (VQRSHLQ_M_N): Likewise. - (VQSHLQ_M_R): Likewise. - (VREV64Q_M): Likewise. - (VRSHLQ_M_N): Likewise. - (VSHLQ_M_R): Likewise. - (VSLIQ_N): Likewise. - (VSRIQ_N): Likewise. - (VMLALDAVQ_P): Likewise. - (VQMOVNBQ_M): Likewise. - (VMOVLTQ_M): Likewise. - (VMOVNBQ_M): Likewise. - (VRSHRNTQ_N): Likewise. - (VORRQ_M_N): Likewise. - (VREV32Q_M): Likewise. - (VREV16Q_M): Likewise. - (VQRSHRNTQ_N): Likewise. - (VMOVNTQ_M): Likewise. - (VMOVLBQ_M): Likewise. - (VMLALDAVAQ): Likewise. - (VQSHRNBQ_N): Likewise. - (VSHRNBQ_N): Likewise. - (VRSHRNBQ_N): Likewise. - (VMLALDAVXQ_P): Likewise. - (VQMOVNTQ_M): Likewise. - (VMVNQ_M_N): Likewise. - (VQSHRNTQ_N): Likewise. - (VMLALDAVAXQ): Likewise. - (VSHRNTQ_N): Likewise. - (VCVTMQ_M): Likewise. - (VCVTNQ_M): Likewise. - (VCVTPQ_M): Likewise. - (VCVTQ_M_N_FROM_F): Likewise. - (VCVTQ_M_FROM_F): Likewise. - (VRMLALDAVHQ_P): Likewise. - (VADDLVAQ_P): Likewise. - (VABAVQ_P): Likewise. - (VSHLQ_M): Likewise. - (VSRIQ_M_N): Likewise. - (VSUBQ_M): Likewise. - (VCVTQ_M_N_TO_F): Likewise. - (VHSUBQ_M): Likewise. - (VSLIQ_M_N): Likewise. - (VRSHLQ_M): Likewise. - (VMINQ_M): Likewise. - (VMULLBQ_INT_M): Likewise. - (VMULHQ_M): Likewise. - (VMULQ_M): Likewise. - (VHSUBQ_M_N): Likewise. - (VHADDQ_M_N): Likewise. - (VORRQ_M): Likewise. - (VRMULHQ_M): Likewise. - (VQADDQ_M): Likewise. - (VRSHRQ_M_N): Likewise. - (VQSUBQ_M_N): Likewise. - (VADDQ_M): Likewise. - (VORNQ_M): Likewise. - (VRHADDQ_M): Likewise. - (VQSHLQ_M): Likewise. - (VANDQ_M): Likewise. - (VBICQ_M): Likewise. - (VSHLQ_M_N): Likewise. - (VCADDQ_ROT270_M): Likewise. - (VQRSHLQ_M): Likewise. - (VQADDQ_M_N): Likewise. - (VADDQ_M_N): Likewise. - (VMAXQ_M): Likewise. - (VQSUBQ_M): Likewise. - (VMLASQ_M_N): Likewise. - (VMLADAVAQ_P): Likewise. - (VBRSRQ_M_N): Likewise. - (VMULQ_M_N): Likewise. - (VCADDQ_ROT90_M): Likewise. - (VMULLTQ_INT_M): Likewise. - (VEORQ_M): Likewise. - (VSHRQ_M_N): Likewise. - (VSUBQ_M_N): Likewise. - (VHADDQ_M): Likewise. - (VABDQ_M): Likewise. - (VMLAQ_M_N): Likewise. - (VQSHLQ_M_N): Likewise. - (VMLALDAVAQ_P): Likewise. - (VMLALDAVAXQ_P): Likewise. - (VQRSHRNBQ_M_N): Likewise. - (VQRSHRNTQ_M_N): Likewise. - (VQSHRNBQ_M_N): Likewise. - (VQSHRNTQ_M_N): Likewise. - (VRSHRNBQ_M_N): Likewise. - (VRSHRNTQ_M_N): Likewise. - (VSHLLBQ_M_N): Likewise. - (VSHLLTQ_M_N): Likewise. - (VSHRNBQ_M_N): Likewise. - (VSHRNTQ_M_N): Likewise. - (VSTRWSBQ): Likewise. - (VSTRBSOQ): Likewise. - (VSTRBQ): Likewise. - (VLDRBGOQ): Likewise. - (VLDRBQ): Likewise. - (VLDRWGBQ): Likewise. - (VLD1Q): Likewise. - (VLDRHGOQ): Likewise. - (VLDRHGSOQ): Likewise. - (VLDRHQ): Likewise. - (VLDRWQ): Likewise. - (VLDRDGBQ): Likewise. - (VLDRDGOQ): Likewise. - (VLDRDGSOQ): Likewise. - (VLDRWGOQ): Likewise. - (VLDRWGSOQ): Likewise. - (VST1Q): Likewise. - (VSTRHSOQ): Likewise. - (VSTRHSSOQ): Likewise. - (VSTRHQ): Likewise. - (VSTRWQ): Likewise. - (VSTRDSBQ): Likewise. - (VSTRDSOQ): Likewise. - (VSTRDSSOQ): Likewise. - (VSTRWSOQ): Likewise. - (VSTRWSSOQ): Likewise. - (VSTRWSBWBQ): Likewise. - (VLDRWGBWBQ): Likewise. - (VSTRDSBWBQ): Likewise. - (VLDRDGBWBQ): Likewise. - (VADCIQ): Likewise. - (VADCIQ_M): Likewise. - (VSBCQ): Likewise. - (VSBCQ_M): Likewise. - (VSBCIQ): Likewise. - (VSBCIQ_M): Likewise. - (VADCQ): Likewise. - (VADCQ_M): Likewise. - (UQRSHLLQ): Likewise. - (SQRSHRLQ): Likewise. - (VSHLCQ_M): Likewise. - * config/arm/mve.md (MVE_types): Move mode iterator to iterators.md from mve.md. - (MVE_VLD_ST): Likewise. - (MVE_0): Likewise. - (MVE_1): Likewise. - (MVE_3): Likewise. - (MVE_2): Likewise. - (MVE_5): Likewise. - (MVE_6): Likewise. - (MVE_CNVT): Move mode attribute iterator to iterators.md from mve.md. - (MVE_LANES): Likewise. - (MVE_constraint): Likewise. - (MVE_constraint1): Likewise. - (MVE_constraint2): Likewise. - (MVE_constraint3): Likewise. - (MVE_pred): Likewise. - (MVE_pred1): Likewise. - (MVE_pred2): Likewise. - (MVE_pred3): Likewise. - (MVE_B_ELEM): Likewise. - (MVE_H_ELEM): Likewise. - (V_sz_elem1): Likewise. - (V_extr_elem): Likewise. - (earlyclobber_32): Likewise. - (supf): Move int attribute to iterators.md from mve.md. - (mode1): Likewise. - (VCVTQ_TO_F): Move int iterator to iterators.md from mve.md. - (VMVNQ_N): Likewise. - (VREV64Q): Likewise. - (VCVTQ_FROM_F): Likewise. - (VREV16Q): Likewise. - (VCVTAQ): Likewise. - (VMVNQ): Likewise. - (VDUPQ_N): Likewise. - (VCLZQ): Likewise. - (VADDVQ): Likewise. - (VREV32Q): Likewise. - (VMOVLBQ): Likewise. - (VMOVLTQ): Likewise. - (VCVTPQ): Likewise. - (VCVTNQ): Likewise. - (VCVTMQ): Likewise. - (VADDLVQ): Likewise. - (VCTPQ): Likewise. - (VCTPQ_M): Likewise. - (VCVTQ_N_TO_F): Likewise. - (VCREATEQ): Likewise. - (VSHRQ_N): Likewise. - (VCVTQ_N_FROM_F): Likewise. - (VADDLVQ_P): Likewise. - (VCMPNEQ): Likewise. - (VSHLQ): Likewise. - (VABDQ): Likewise. - (VADDQ_N): Likewise. - (VADDVAQ): Likewise. - (VADDVQ_P): Likewise. - (VANDQ): Likewise. - (VBICQ): Likewise. - (VBRSRQ_N): Likewise. - (VCADDQ_ROT270): Likewise. - (VCADDQ_ROT90): Likewise. - (VCMPEQQ): Likewise. - (VCMPEQQ_N): Likewise. - (VCMPNEQ_N): Likewise. - (VEORQ): Likewise. - (VHADDQ): Likewise. - (VHADDQ_N): Likewise. - (VHSUBQ): Likewise. - (VHSUBQ_N): Likewise. - (VMAXQ): Likewise. - (VMAXVQ): Likewise. - (VMINQ): Likewise. - (VMINVQ): Likewise. - (VMLADAVQ): Likewise. - (VMULHQ): Likewise. - (VMULLBQ_INT): Likewise. - (VMULLTQ_INT): Likewise. - (VMULQ): Likewise. - (VMULQ_N): Likewise. - (VORNQ): Likewise. - (VORRQ): Likewise. - (VQADDQ): Likewise. - (VQADDQ_N): Likewise. - (VQRSHLQ): Likewise. - (VQRSHLQ_N): Likewise. - (VQSHLQ): Likewise. - (VQSHLQ_N): Likewise. - (VQSHLQ_R): Likewise. - (VQSUBQ): Likewise. - (VQSUBQ_N): Likewise. - (VRHADDQ): Likewise. - (VRMULHQ): Likewise. - (VRSHLQ): Likewise. - (VRSHLQ_N): Likewise. - (VRSHRQ_N): Likewise. - (VSHLQ_N): Likewise. - (VSHLQ_R): Likewise. - (VSUBQ): Likewise. - (VSUBQ_N): Likewise. - (VADDLVAQ): Likewise. - (VBICQ_N): Likewise. - (VMLALDAVQ): Likewise. - (VMLALDAVXQ): Likewise. - (VMOVNBQ): Likewise. - (VMOVNTQ): Likewise. - (VORRQ_N): Likewise. - (VQMOVNBQ): Likewise. - (VQMOVNTQ): Likewise. - (VSHLLBQ_N): Likewise. - (VSHLLTQ_N): Likewise. - (VRMLALDAVHQ): Likewise. - (VBICQ_M_N): Likewise. - (VCVTAQ_M): Likewise. - (VCVTQ_M_TO_F): Likewise. - (VQRSHRNBQ_N): Likewise. - (VABAVQ): Likewise. - (VSHLCQ): Likewise. - (VRMLALDAVHAQ): Likewise. - (VADDVAQ_P): Likewise. - (VCLZQ_M): Likewise. - (VCMPEQQ_M_N): Likewise. - (VCMPEQQ_M): Likewise. - (VCMPNEQ_M_N): Likewise. - (VCMPNEQ_M): Likewise. - (VDUPQ_M_N): Likewise. - (VMAXVQ_P): Likewise. - (VMINVQ_P): Likewise. - (VMLADAVAQ): Likewise. - (VMLADAVQ_P): Likewise. - (VMLAQ_N): Likewise. - (VMLASQ_N): Likewise. - (VMVNQ_M): Likewise. - (VPSELQ): Likewise. - (VQDMLAHQ_N): Likewise. - (VQRDMLAHQ_N): Likewise. - (VQRDMLASHQ_N): Likewise. - (VQRSHLQ_M_N): Likewise. - (VQSHLQ_M_R): Likewise. - (VREV64Q_M): Likewise. - (VRSHLQ_M_N): Likewise. - (VSHLQ_M_R): Likewise. - (VSLIQ_N): Likewise. - (VSRIQ_N): Likewise. - (VMLALDAVQ_P): Likewise. - (VQMOVNBQ_M): Likewise. - (VMOVLTQ_M): Likewise. - (VMOVNBQ_M): Likewise. - (VRSHRNTQ_N): Likewise. - (VORRQ_M_N): Likewise. - (VREV32Q_M): Likewise. - (VREV16Q_M): Likewise. - (VQRSHRNTQ_N): Likewise. - (VMOVNTQ_M): Likewise. - (VMOVLBQ_M): Likewise. - (VMLALDAVAQ): Likewise. - (VQSHRNBQ_N): Likewise. - (VSHRNBQ_N): Likewise. - (VRSHRNBQ_N): Likewise. - (VMLALDAVXQ_P): Likewise. - (VQMOVNTQ_M): Likewise. - (VMVNQ_M_N): Likewise. - (VQSHRNTQ_N): Likewise. - (VMLALDAVAXQ): Likewise. - (VSHRNTQ_N): Likewise. - (VCVTMQ_M): Likewise. - (VCVTNQ_M): Likewise. - (VCVTPQ_M): Likewise. - (VCVTQ_M_N_FROM_F): Likewise. - (VCVTQ_M_FROM_F): Likewise. - (VRMLALDAVHQ_P): Likewise. - (VADDLVAQ_P): Likewise. - (VABAVQ_P): Likewise. - (VSHLQ_M): Likewise. - (VSRIQ_M_N): Likewise. - (VSUBQ_M): Likewise. - (VCVTQ_M_N_TO_F): Likewise. - (VHSUBQ_M): Likewise. - (VSLIQ_M_N): Likewise. - (VRSHLQ_M): Likewise. - (VMINQ_M): Likewise. - (VMULLBQ_INT_M): Likewise. - (VMULHQ_M): Likewise. - (VMULQ_M): Likewise. - (VHSUBQ_M_N): Likewise. - (VHADDQ_M_N): Likewise. - (VORRQ_M): Likewise. - (VRMULHQ_M): Likewise. - (VQADDQ_M): Likewise. - (VRSHRQ_M_N): Likewise. - (VQSUBQ_M_N): Likewise. - (VADDQ_M): Likewise. - (VORNQ_M): Likewise. - (VRHADDQ_M): Likewise. - (VQSHLQ_M): Likewise. - (VANDQ_M): Likewise. - (VBICQ_M): Likewise. - (VSHLQ_M_N): Likewise. - (VCADDQ_ROT270_M): Likewise. - (VQRSHLQ_M): Likewise. - (VQADDQ_M_N): Likewise. - (VADDQ_M_N): Likewise. - (VMAXQ_M): Likewise. - (VQSUBQ_M): Likewise. - (VMLASQ_M_N): Likewise. - (VMLADAVAQ_P): Likewise. - (VBRSRQ_M_N): Likewise. - (VMULQ_M_N): Likewise. - (VCADDQ_ROT90_M): Likewise. - (VMULLTQ_INT_M): Likewise. - (VEORQ_M): Likewise. - (VSHRQ_M_N): Likewise. - (VSUBQ_M_N): Likewise. - (VHADDQ_M): Likewise. - (VABDQ_M): Likewise. - (VMLAQ_M_N): Likewise. - (VQSHLQ_M_N): Likewise. - (VMLALDAVAQ_P): Likewise. - (VMLALDAVAXQ_P): Likewise. - (VQRSHRNBQ_M_N): Likewise. - (VQRSHRNTQ_M_N): Likewise. - (VQSHRNBQ_M_N): Likewise. - (VQSHRNTQ_M_N): Likewise. - (VRSHRNBQ_M_N): Likewise. - (VRSHRNTQ_M_N): Likewise. - (VSHLLBQ_M_N): Likewise. - (VSHLLTQ_M_N): Likewise. - (VSHRNBQ_M_N): Likewise. - (VSHRNTQ_M_N): Likewise. - (VSTRWSBQ): Likewise. - (VSTRBSOQ): Likewise. - (VSTRBQ): Likewise. - (VLDRBGOQ): Likewise. - (VLDRBQ): Likewise. - (VLDRWGBQ): Likewise. - (VLD1Q): Likewise. - (VLDRHGOQ): Likewise. - (VLDRHGSOQ): Likewise. - (VLDRHQ): Likewise. - (VLDRWQ): Likewise. - (VLDRDGBQ): Likewise. - (VLDRDGOQ): Likewise. - (VLDRDGSOQ): Likewise. - (VLDRWGOQ): Likewise. - (VLDRWGSOQ): Likewise. - (VST1Q): Likewise. - (VSTRHSOQ): Likewise. - (VSTRHSSOQ): Likewise. - (VSTRHQ): Likewise. - (VSTRWQ): Likewise. - (VSTRDSBQ): Likewise. - (VSTRDSOQ): Likewise. - (VSTRDSSOQ): Likewise. - (VSTRWSOQ): Likewise. - (VSTRWSSOQ): Likewise. - (VSTRWSBWBQ): Likewise. - (VLDRWGBWBQ): Likewise. - (VSTRDSBWBQ): Likewise. - (VLDRDGBWBQ): Likewise. - (VADCIQ): Likewise. - (VADCIQ_M): Likewise. - (VSBCQ): Likewise. - (VSBCQ_M): Likewise. - (VSBCIQ): Likewise. - (VSBCIQ_M): Likewise. - (VADCQ): Likewise. - (VADCQ_M): Likewise. - (UQRSHLLQ): Likewise. - (SQRSHRLQ): Likewise. - (VSHLCQ_M): Likewise. - (define_c_enum "unspec"): Move MVE enumerator to unspecs.md from mve.md. - * config/arm/unspecs.md (define_c_enum "unspec"): Move MVE enumerator from - mve.md to unspecs.md. - -2020-10-06 Martin Liska - - * common.opt: Remove -fdbg-cnt-list from deferred options. - * dbgcnt.c (dbg_cnt_set_limit_by_index): Make a copy - to original_limits. - (dbg_cnt_list_all_counters): Print also current counter value - and print to stderr. - * opts-global.c (handle_common_deferred_options): Do not handle - -fdbg-cnt-list. - * opts.c (common_handle_option): Likewise. - * toplev.c (finalize): Handle it after compilation here. - -2020-10-06 Martin Liska - - * dbgcnt.c (dbg_cnt): Report also upper limit. - -2020-10-06 Tom de Vries - - * tracer.c (count_insns): Rename to ... - (analyze_bb): ... this. - (cache_can_duplicate_bb_p, cached_can_duplicate_bb_p): New function. - (ignore_bb_p): Use cached_can_duplicate_bb_p. - (tail_duplicate): Call cache_can_duplicate_bb_p. - -2020-10-06 Tom de Vries - - * tracer.c (can_duplicate_insn_p, can_duplicate_bb_no_insn_iter_p) - (can_duplicate_bb_p): New function, factored out of ... - (ignore_bb_p): ... here. - -2020-10-06 Jakub Jelinek - - PR rtl-optimization/97282 - * tree-ssa-math-opts.c (divmod_candidate_p): Don't return false for - constant op2 if it is not a power of two and the type has precision - larger than HOST_BITS_PER_WIDE_INT or BITS_PER_WORD. - * internal-fn.c (contains_call_div_mod): New function. - (expand_DIVMOD): If last argument is a constant, try to expand it as - TRUNC_DIV_EXPR followed by TRUNC_MOD_EXPR, but if the sequence - contains any calls or {,U}{DIV,MOD} rtxes, throw it away and use - divmod optab or divmod libfunc. - -2020-10-06 Aldy Hernandez - - * value-range.h (irange_allocator::allocate): Increase - newir storage by one. - -2020-10-06 Jakub Jelinek - - PR middle-end/97289 - * omp-offload.c (omp_discover_declare_target_tgt_fn_r): Only follow - node->alias_target if it is a FUNCTION_DECL. - -2020-10-06 Joe Ramsay - - * config/arm/arm-cpus.in: - (ALL_FPU_INTERNAL): Remove vfp_base. - (VFPv2): Remove vfp_base. - (MVE): Remove vfp_base. - (vfp_base): Redefine as implied bit dependent on MVE or FP - (cortex-m55): Add flags to disable MVE, MVE FP, FP and DSP extensions. - * config/arm/arm.c (arm_configure_build_target): Add implied bits to ISA. - * config/arm/parsecpu.awk: - (gen_isa): Print implied bits and their dependencies to ISA header. - (gen_data): Add parsing for implied feature bits. - -2020-10-06 Andreas Krebbel - - * doc/invoke.texi: Add z15/arch13 to the list of documented - -march/-mtune options. - -2020-10-05 Aldy Hernandez - - * value-range.cc (irange::legacy_intersect): Only handle - legacy ranges. - (irange::legacy_union): Same. - (irange::union_): When unioning legacy with non-legacy, - first convert to legacy and do everything in legacy mode. - (irange::intersect): Same, but for intersect. - * range-op.cc (range_tests): Adjust for above changes. - -2020-10-05 Aldy Hernandez - - * range-op.cc (operator_div::wi_fold): Return varying for - division by zero. - (class operator_rshift): Move class up. - (operator_abs::wi_fold): Return [-MIN,-MIN] for ABS([-MIN,-MIN]). - (operator_tests): Adjust tests. - -2020-10-05 Tom de Vries - - * tracer.c (ignore_bb_p): Ignore GOMP_SIMT_XCHG_*. - -2020-10-05 Alex Coplan - - * config/arm/arm-cpus.in (neoverse-v1): Add missing vendor and - part numbers. - -2020-10-05 Tom de Vries - - * tracer.c (ignore_bb_p): Remove incorrect suggestion. - -2020-10-05 Jakub Jelinek - - * opth-gen.awk: Don't emit explicit_mask array if n_target_explicit - is equal to n_target_explicit_mask. - * optc-save-gen.awk: Compute has_target_explicit_mask and if false, - don't emit code iterating over explicit_mask array elements. Stream - also explicit_mask_* target members. - -2020-10-05 Jakub Jelinek - - * gimple-ssa-store-merging.c - (imm_store_chain_info::output_merged_store): Use ~0U instead of ~0 in - unsigned int array initializer. - -2020-10-05 Tom de Vries - - PR fortran/95654 - * tracer.c (ignore_bb_p): Ignore GOMP_SIMT_ENTER_ALLOC, - GOMP_SIMT_VOTE_ANY and GOMP_SIMT_EXIT. - -2020-10-03 Jakub Jelinek - - * opth-gen.awk: For variables referenced in Mask and InverseMask, - don't use the explicit_mask bitmask array, but add separate - explicit_mask_* members with the same types as the variables. - * optc-save-gen.awk: Save, restore, compare and hash the separate - explicit_mask_* members. - -2020-10-03 Jan Hubicka - - * ipa-modref-tree.c (test_insert_search_collapse): Update andling - of accesses. - (test_merge): Likewise. - * ipa-modref-tree.h (struct modref_access_node): Add offset, size, - max_size, parm_offset and parm_offset_known. - (modref_access_node::useful_p): Constify. - (modref_access_node::range_info_useful_p): New predicate. - (modref_access_node::operator==): New. - (struct modref_parm_map): New structure. - (modref_tree::merge): Update for racking parameters) - * ipa-modref.c (dump_access): Dump new fields. - (get_access): Fill in new fields. - (merge_call_side_effects): Update handling of parm map. - (write_modref_records): Stream new fields. - (read_modref_records): Stream new fields. - (compute_parm_map): Update for new parm map. - (ipa_merge_modref_summary_after_inlining): Update. - (modref_propagate_in_scc): Update. - * tree-ssa-alias.c (modref_may_conflict): Handle known ranges. - -2020-10-03 H.J. Lu - - PR other/97280 - * doc/extend.texi: Replace roudnevenl with roundevenl - -2020-10-02 David Edelsohn - Andrew MacLeod - - * config/rs6000/rs6000.c: Include ssa.h. Reorder some headers. - * config/rs6000/rs6000-call.c: Same. - -2020-10-02 Martin Jambor - - * params.opt (ipa-cp-large-unit-insns): New parameter. - * ipa-cp.c (get_max_overall_size): Use the new parameter. - -2020-10-02 Martin Jambor - - * ipa-cp.c (estimate_local_effects): Add overeall_size to dumped - string. - (decide_about_value): Add dumping new overall_size. - -2020-10-02 Martin Jambor - - * ipa-fnsummary.h (ipa_freqcounting_predicate): New type. - (ipa_fn_summary): Change the type of loop_iterations and loop_strides - to vectors of ipa_freqcounting_predicate. - (ipa_fn_summary::ipa_fn_summary): Construct the new vectors. - (ipa_call_estimates): New fields loops_with_known_iterations and - loops_with_known_strides. - * ipa-cp.c (hint_time_bonus): Multiply param_ipa_cp_loop_hint_bonus - with the expected frequencies of loops with known iteration count or - stride. - * ipa-fnsummary.c (add_freqcounting_predicate): New function. - (ipa_fn_summary::~ipa_fn_summary): Release the new vectors instead of - just two predicates. - (remap_hint_predicate_after_duplication): Replace with function - remap_freqcounting_preds_after_dup. - (ipa_fn_summary_t::duplicate): Use it or duplicate new vectors. - (ipa_dump_fn_summary): Dump the new vectors. - (analyze_function_body): Compute the loop property vectors. - (ipa_call_context::estimate_size_and_time): Calculate also - loops_with_known_iterations and loops_with_known_strides. Adjusted - dumping accordinly. - (remap_hint_predicate): Replace with function - remap_freqcounting_predicate. - (ipa_merge_fn_summary_after_inlining): Use it. - (inline_read_section): Stream loopcounting vectors instead of two - simple predicates. - (ipa_fn_summary_write): Likewise. - * params.opt (ipa-max-loop-predicates): New parameter. - * doc/invoke.texi (ipa-max-loop-predicates): Document new param. - -2020-10-02 Martin Jambor - - * ipa-inline-analysis.c (do_estimate_edge_time): Adjusted to use - ipa_call_estimates. - (do_estimate_edge_size): Likewise. - (do_estimate_edge_hints): Likewise. - * ipa-fnsummary.h (struct ipa_call_estimates): New type. - (ipa_call_context::estimate_size_and_time): Adjusted declaration. - (estimate_ipcp_clone_size_and_time): Likewise. - * ipa-cp.c (hint_time_bonus): Changed the type of the second argument - to ipa_call_estimates. - (perform_estimation_of_a_value): Adjusted to use ipa_call_estimates. - (estimate_local_effects): Likewise. - * ipa-fnsummary.c (ipa_call_context::estimate_size_and_time): Adjusted - to return estimates in a single ipa_call_estimates parameter. - (estimate_ipcp_clone_size_and_time): Likewise. - -2020-10-02 Martin Jambor - - * ipa-fnsummary.h (ipa_cached_call_context): New forward declaration - and class. - (class ipa_call_context): Make friend ipa_cached_call_context. Moved - methods duplicate_from and release to it too. - * ipa-fnsummary.c (ipa_call_context::duplicate_from): Moved to class - ipa_cached_call_context. - (ipa_call_context::release): Likewise, removed the parameter. - * ipa-inline-analysis.c (node_context_cache_entry): Change the type of - ctx to ipa_cached_call_context. - (do_estimate_edge_time): Remove parameter from the call to - ipa_cached_call_context::release. - -2020-10-02 Martin Jambor - - * ipa-prop.h (ipa_auto_call_arg_values): New type. - (class ipa_call_arg_values): Likewise. - (ipa_get_indirect_edge_target): Replaced vector arguments with - ipa_call_arg_values in declaration. Added an overload for - ipa_auto_call_arg_values. - * ipa-fnsummary.h (ipa_call_context): Removed members m_known_vals, - m_known_contexts, m_known_aggs, duplicate_from, release and equal_to, - new members m_avals, store_to_cache and equivalent_to_p. Adjusted - construcotr arguments. - (estimate_ipcp_clone_size_and_time): Replaced vector arguments - with ipa_auto_call_arg_values in declaration. - (evaluate_properties_for_edge): Likewise. - * ipa-cp.c (ipa_get_indirect_edge_target): Adjusted to work on - ipa_call_arg_values rather than on separate vectors. Added an - overload for ipa_auto_call_arg_values. - (devirtualization_time_bonus): Adjusted to work on - ipa_auto_call_arg_values rather than on separate vectors. - (gather_context_independent_values): Adjusted to work on - ipa_auto_call_arg_values rather than on separate vectors. - (perform_estimation_of_a_value): Likewise. - (estimate_local_effects): Likewise. - (modify_known_vectors_with_val): Adjusted both variants to work on - ipa_auto_call_arg_values and rename them to - copy_known_vectors_add_val. - (decide_about_value): Adjusted to work on ipa_call_arg_values rather - than on separate vectors. - (decide_whether_version_node): Likewise. - * ipa-fnsummary.c (evaluate_conditions_for_known_args): Likewise. - (evaluate_properties_for_edge): Likewise. - (ipa_fn_summary_t::duplicate): Likewise. - (estimate_edge_devirt_benefit): Adjusted to work on - ipa_call_arg_values rather than on separate vectors. - (estimate_edge_size_and_time): Likewise. - (estimate_calls_size_and_time_1): Likewise. - (summarize_calls_size_and_time): Adjusted calls to - estimate_edge_size_and_time. - (estimate_calls_size_and_time): Adjusted to work on - ipa_call_arg_values rather than on separate vectors. - (ipa_call_context::ipa_call_context): Construct from a pointer to - ipa_auto_call_arg_values instead of inividual vectors. - (ipa_call_context::duplicate_from): Adjusted to access vectors within - m_avals. - (ipa_call_context::release): Likewise. - (ipa_call_context::equal_to): Likewise. - (ipa_call_context::estimate_size_and_time): Adjusted to work on - ipa_call_arg_values rather than on separate vectors. - (estimate_ipcp_clone_size_and_time): Adjusted to work with - ipa_auto_call_arg_values rather than on separate vectors. - (ipa_merge_fn_summary_after_inlining): Likewise. Adjusted call to - estimate_edge_size_and_time. - (ipa_update_overall_fn_summary): Adjusted call to - estimate_edge_size_and_time. - * ipa-inline-analysis.c (do_estimate_edge_time): Adjusted to work with - ipa_auto_call_arg_values rather than with separate vectors. - (do_estimate_edge_size): Likewise. - (do_estimate_edge_hints): Likewise. - * ipa-prop.c (ipa_auto_call_arg_values::~ipa_auto_call_arg_values): - New destructor. - -2020-10-02 Joe Ramsay - - * config/arm/arm_mve.h (__arm_vmaxnmavq): Remove coercion of scalar - argument. - (__arm_vmaxnmvq): Likewise. - (__arm_vminnmavq): Likewise. - (__arm_vminnmvq): Likewise. - (__arm_vmaxnmavq_p): Likewise. - (__arm_vmaxnmvq_p): Likewise (and delete duplicate definition). - (__arm_vminnmavq_p): Likewise. - (__arm_vminnmvq_p): Likewise. - (__arm_vmaxavq): Likewise. - (__arm_vmaxavq_p): Likewise. - (__arm_vmaxvq): Likewise. - (__arm_vmaxvq_p): Likewise. - (__arm_vminavq): Likewise. - (__arm_vminavq_p): Likewise. - (__arm_vminvq): Likewise. - (__arm_vminvq_p): Likewise. - -2020-10-02 Kyrylo Tkachov - - * config/aarch64/aarch64.c (neoversev1_tunings): Define. - * config/aarch64/aarch64-cores.def (zeus): Use it. - (neoverse-v1): Likewise. - -2020-10-02 Jan Hubicka - - * attr-fnspec.h: Update documentation. - (attr_fnsec::return_desc_size): Set to 2 - (attr_fnsec::arg_desc_size): Set to 2 - * builtin-attrs.def (STR1): Update fnspec. - * internal-fn.def (UBSAN_NULL): Update fnspec. - (UBSAN_VPTR): Update fnspec. - (UBSAN_PTR): Update fnspec. - (ASAN_CHECK): Update fnspec. - (GOACC_DIM_SIZE): Remove fnspec. - (GOACC_DIM_POS): Remove fnspec. - * tree-ssa-alias.c (attr_fnspec::verify): Update verification. - -2020-10-02 Jan Hubicka - - * attr-fnspec.h: New file. - * calls.c (decl_return_flags): Use attr_fnspec. - * gimple.c (gimple_call_arg_flags): Use attr_fnspec. - (gimple_call_return_flags): Use attr_fnspec. - * tree-into-ssa.c (pass_build_ssa::execute): Use attr_fnspec. - * tree-ssa-alias.c (attr_fnspec::verify): New member fuction. - -2020-10-02 Jan Hubicka - - * tree-ssa-alias.c (ao_ref_init_from_ptr_and_range): Break out from ... - (ao_ref_init_from_ptr_and_size): ... here. - -2020-10-02 Jan Hubicka - - * data-streamer-in.c (streamer_read_poly_int64): New function. - * data-streamer-out.c (streamer_write_poly_int64): New function. - * data-streamer.h (streamer_write_poly_int64): Declare. - (streamer_read_poly_int64): Declare. - -2020-10-02 Richard Sandiford - - * config/aarch64/aarch64-protos.h (aarch64_sve_pred_dominates_p): - Delete. - * config/aarch64/aarch64.c (aarch64_sve_pred_dominates_p): Likewise. - * config/aarch64/aarch64-sve.md: Add banner comment describing - how merging predicated FP operations are represented. - (*cond__2): Split into... - (*cond__2_relaxed): ...this and... - (*cond__2_strict): ...this. - (*cond__any): Split into... - (*cond__any_relaxed): ...this and... - (*cond__any_strict): ...this. - (*cond__2): Split into... - (*cond__2_relaxed): ...this and... - (*cond__2_strict): ...this. - (*cond__any): Split into... - (*cond__any_relaxed): ...this - and... - (*cond__any_strict): ...this. - (*cond__2): Split into... - (*cond__2_relaxed): ...this and... - (*cond__2_strict): ...this. - (*cond__2_const): Split into... - (*cond__2_const_relaxed): ...this - and... - (*cond__2_const_strict): ...this. - (*cond__3): Split into... - (*cond__3_relaxed): ...this and... - (*cond__3_strict): ...this. - (*cond__any): Split into... - (*cond__any_relaxed): ...this and... - (*cond__any_strict): ...this. - (*cond__any_const): Split into... - (*cond__any_const_relaxed): ...this - and... - (*cond__any_const_strict): ...this. - (*cond_add_2_const): Split into... - (*cond_add_2_const_relaxed): ...this and... - (*cond_add_2_const_strict): ...this. - (*cond_add_any_const): Split into... - (*cond_add_any_const_relaxed): ...this and... - (*cond_add_any_const_strict): ...this. - (*cond__2): Split into... - (*cond__2_relaxed): ...this and... - (*cond__2_strict): ...this. - (*cond__any): Split into... - (*cond__any_relaxed): ...this and... - (*cond__any_strict): ...this. - (*cond_sub_3_const): Split into... - (*cond_sub_3_const_relaxed): ...this and... - (*cond_sub_3_const_strict): ...this. - (*aarch64_pred_abd): Split into... - (*aarch64_pred_abd_relaxed): ...this and... - (*aarch64_pred_abd_strict): ...this. - (*aarch64_cond_abd_2): Split into... - (*aarch64_cond_abd_2_relaxed): ...this and... - (*aarch64_cond_abd_2_strict): ...this. - (*aarch64_cond_abd_3): Split into... - (*aarch64_cond_abd_3_relaxed): ...this and... - (*aarch64_cond_abd_3_strict): ...this. - (*aarch64_cond_abd_any): Split into... - (*aarch64_cond_abd_any_relaxed): ...this and... - (*aarch64_cond_abd_any_strict): ...this. - (*cond__2): Split into... - (*cond__2_relaxed): ...this and... - (*cond__2_strict): ...this. - (*cond__4): Split into... - (*cond__4_relaxed): ...this and... - (*cond__4_strict): ...this. - (*cond__any): Split into... - (*cond__any_relaxed): ...this and... - (*cond__any_strict): ...this. - (*cond__4): Split into... - (*cond__4_relaxed): ...this and... - (*cond__4_strict): ...this. - (*cond__any): Split into... - (*cond__any_relaxed): ...this and... - (*cond__any_strict): ...this. - (*aarch64_pred_fac): Split into... - (*aarch64_pred_fac_relaxed): ...this and... - (*aarch64_pred_fac_strict): ...this. - (*cond__nontrunc): Split - into... - (*cond__nontrunc_relaxed): - ...this and... - (*cond__nontrunc_strict): - ...this. - (*cond__nonextend): Split - into... - (*cond__nonextend_relaxed): - ...this and... - (*cond__nonextend_strict): - ...this. - * config/aarch64/aarch64-sve2.md - (*cond_): Split into... - (*cond__relaxed): ...this and... - (*cond__strict): ...this. - (*cond__any): Split into... - (*cond__any_relaxed): ...this - and... - (*cond__any_strict): ...this. - (*cond_): Split into... - (*cond__relaxed): ...this and... - (*cond__strict): ...this. - -2020-10-02 Richard Sandiford - - * config/arm/neon.md (*sub3_neon): Use the new mode macros - for the insn condition. - (sub3, *mul3_neon): Likewise. - (mul3add_neon): Likewise. - (mul3add_neon): Likewise. - (mul3negadd_neon): Likewise. - (fma4, fma4, *fmsub4): Likewise. - (quad_halves_v4sf, reduc_plus_scal_): Likewise. - (reduc_plus_scal_, reduc_smin_scal_): Likewise. - (reduc_smin_scal_, reduc_smax_scal_): Likewise. - (reduc_smax_scal_, mul3): Likewise. - (neon_vabd_2, neon_vabd_3): Likewise. - (fma4_intrinsic): Delete. - (neon_vadd): Use the new mode macros to decide which - form of instruction to generate. - (neon_vmla, neon_vmls): Likewise. - (neon_vsub): Likewise. - (neon_vfma): Generate the main fma4 form instead - of using fma4_intrinsic. - -2020-10-02 Martin Liska - - PR gcov-profile/97193 - * coverage.c (coverage_init): GCDA note files should not be - mangled and should end in output directory. - -2020-10-02 Jason Merril - - * gimple.h (gimple_call_operator_delete_p): Rename from - gimple_call_replaceable_operator_delete_p. - * gimple.c (gimple_call_operator_delete_p): Likewise. - * tree.h (DECL_IS_REPLACEABLE_OPERATOR_DELETE_P): Remove. - * tree-ssa-dce.c (mark_all_reaching_defs_necessary_1): Adjust. - (propagate_necessity): Likewise. - (eliminate_unnecessary_stmts): Likewise. - * tree-ssa-structalias.c (find_func_aliases_for_call): Likewise. - -2020-10-02 Richard Biener - - * gimple.h (GF_CALL_FROM_NEW_OR_DELETE): New call flag. - (gimple_call_set_from_new_or_delete): New. - (gimple_call_from_new_or_delete): Likewise. - * gimple.c (gimple_build_call_from_tree): Set - GF_CALL_FROM_NEW_OR_DELETE appropriately. - * ipa-icf-gimple.c (func_checker::compare_gimple_call): - Compare gimple_call_from_new_or_delete. - * tree-ssa-dce.c (mark_all_reaching_defs_necessary_1): Make - sure to only consider new/delete calls from new or delete - expressions. - (propagate_necessity): Likewise. - (eliminate_unnecessary_stmts): Likewise. - * tree-ssa-structalias.c (find_func_aliases_for_call): - Likewise. - -2020-10-02 Jason Merril - - * tree.h (CALL_FROM_NEW_OR_DELETE_P): Move from cp-tree.h. - * tree-core.h: Document new usage of protected_flag. - -2020-10-02 Aldy Hernandez - - * value-range.h (irange::fits_p): New. - -2020-10-01 Alan Modra - - * config/rs6000/rs6000.c (rs6000_legitimize_address): Use - gen_int_mode for high part of address constant. - -2020-10-01 Alan Modra - - * config/rs6000/rs6000.c (rs6000_linux64_override_options): - Formatting. Correct setting of TARGET_NO_FP_IN_TOC and - TARGET_NO_SUM_IN_TOC. - -2020-10-01 Alan Modra - - * config/rs6000/freebsd64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use - rs6000_linux64_override_options. - * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Break - out to.. - * config/rs6000/rs6000.c (rs6000_linux64_override_options): ..this, - new function. Tweak non-biarch test and clearing of - profile_kernel to work with freebsd64.h. - -2020-10-01 Martin Liska - - * config/rs6000/rs6000-call.c: Include value-range.h. - * config/rs6000/rs6000.c: Likewise. - -2020-10-01 Tom de Vries - - PR target/80845 - * config/nvptx/nvptx.md (define_insn "truncsi2"): Emit mov.u32 - instead of cvt.u32.u32. - -2020-10-01 Richard Sandiford - - PR target/96528 - PR target/97288 - * config/arm/arm-protos.h (arm_expand_vector_compare): Declare. - (arm_expand_vcond): Likewise. - * config/arm/arm.c (arm_expand_vector_compare): New function. - (arm_expand_vcond): Likewise. - * config/arm/neon.md (vec_cmp): New pattern. - (vec_cmpu): Likewise. - (vcond): Require operand 5 to be a register - or zero. Use arm_expand_vcond. - (vcond): New pattern. - (vcondu): Generalize to... - (vcondu): New pattern. - (neon_vc, neon_vc_insn): Add "@" marker. - (neon_vbsl): Likewise. - (neon_vcu): Reexpress as... - (@neon_vc): ...this. - -2020-10-01 Michael Davidsaver - - * config/i386/t-rtems: Change from mtune to march when building - multilibs. The mtune argument tunes or optimizes for a specific - CPU model but does not ensure the generated code is appropriate - for the CPU model. Prior to this patch, i386 compatible code - was always generated but tuned for later models. - -2020-10-01 Aldy Hernandez - - * builtins.c (compute_objsize): Replace vr_values with range_query. - (get_range): Same. - (gimple_call_alloc_size): Same. - * builtins.h (class vr_values): Remove. - (gimple_call_alloc_size): Replace vr_values with range_query. - * gimple-ssa-sprintf.c (get_int_range): Same. - (struct directive): Pass gimple context to fmtfunc callback. - (directive::set_width): Replace inline with out-of-line version. - (directive::set_precision): Same. - (format_none): New gimple argument. - (format_percent): New gimple argument. - (format_integer): New gimple argument. - (format_floating): New gimple argument. - (get_string_length): Use range_query API. - (format_character): New gimple argument. - (format_string): New gimple argument. - (format_plain): New gimple argument. - (format_directive): New gimple argument. - (parse_directive): Replace vr_values with range_query. - (compute_format_length): Same. - (handle_printf_call): Same. Adjust for range_query API. - * tree-ssa-strlen.c (get_range): Same. - (compare_nonzero_chars): Same. - (get_addr_stridx) Replace vr_values with range_query. - (get_stridx): Same. - (dump_strlen_info): Same. - (get_range_strlen_dynamic): Adjust for range_query API. - (set_strlen_range): Same - (maybe_warn_overflow): Replace vr_values with range_query. - (handle_builtin_strcpy): Same. - (maybe_diag_stxncpy_trunc): Add FIXME comment. - (handle_builtin_memcpy): Replace vr_values with range_query. - (handle_builtin_memset): Same. - (get_len_or_size): Same. - (strxcmp_eqz_result): Same. - (handle_builtin_string_cmp): Same. - (count_nonzero_bytes_addr): Same, plus adjust for range_query API. - (count_nonzero_bytes): Replace vr_values with range_query. - (handle_store): Same. - (strlen_check_and_optimize_call): Same. - (handle_integral_assign): Same. - (check_and_optimize_stmt): Same. - * tree-ssa-strlen.h (class vr_values): Remove. - (get_range): Replace vr_values with range_query. - (get_range_strlen_dynamic): Same. - (handle_printf_call): Same. - -2020-10-01 Aldy Hernandez - - * gimple-loop-versioning.cc (lv_dom_walker::before_dom_children): - Pass m_range_analyzer instead of get_vr_values. - (loop_versioning::name_prop::get_value): Rename to... - (loop_versioning::name_prop::value_of_expr): ...this. - * gimple-ssa-evrp-analyze.c (evrp_range_analyzer::evrp_range_analyzer): - Adjust for evrp_range_analyzer - inheriting from vr_values. - (evrp_range_analyzer::try_find_new_range): Same. - (evrp_range_analyzer::record_ranges_from_incoming_edge): Same. - (evrp_range_analyzer::record_ranges_from_phis): Same. - (evrp_range_analyzer::record_ranges_from_stmt): Same. - (evrp_range_analyzer::push_value_range): Same. - (evrp_range_analyzer::pop_value_range): Same. - * gimple-ssa-evrp-analyze.h (class evrp_range_analyzer): Inherit from - vr_values. Adjust accordingly. - * gimple-ssa-evrp.c: Adjust for evrp_range_analyzer inheriting from - vr_values. - (evrp_folder::value_of_evrp): Rename from get_value. - * tree-ssa-ccp.c (class ccp_folder): Rename get_value to - value_of_expr. - (ccp_folder::get_value): Rename to... - (ccp_folder::value_of_expr): ...this. - * tree-ssa-copy.c (class copy_folder): Rename get_value to - value_of_expr. - (copy_folder::get_value): Rename to... - (copy_folder::value_of_expr): ...this. - * tree-ssa-dom.c (dom_opt_dom_walker::after_dom_children): Adjust - for evrp_range_analyzer inheriting from vr_values. - (dom_opt_dom_walker::optimize_stmt): Same. - * tree-ssa-propagate.c (substitute_and_fold_engine::replace_uses_in): - Call value_of_* instead of get_value. - (substitute_and_fold_engine::replace_phi_args_in): Same. - (substitute_and_fold_engine::propagate_into_phi_args): Same. - (substitute_and_fold_dom_walker::before_dom_children): Same. - * tree-ssa-propagate.h: Include value-query.h. - (class substitute_and_fold_engine): Inherit from value_query. - * tree-ssa-strlen.c (strlen_dom_walker::before_dom_children): - Adjust for evrp_range_analyzer inheriting from vr_values. - * tree-ssa-threadedge.c (record_temporary_equivalences_from_phis): - Same. - * tree-vrp.c (class vrp_folder): Same. - (vrp_folder::get_value): Rename to value_of_expr. - * vr-values.c (vr_values::get_lattice_entry): Adjust for - vr_values inheriting from range_query. - (vr_values::range_of_expr): New. - (vr_values::value_of_expr): New. - (vr_values::value_on_edge): New. - (vr_values::value_of_stmt): New. - (simplify_using_ranges::op_with_boolean_value_range_p): Call - get_value_range through query. - (check_for_binary_op_overflow): Rename store to query. - (vr_values::vr_values): Remove vrp_value_range_pool. - (vr_values::~vr_values): Same. - (simplify_using_ranges::get_vr_for_comparison): Call get_value_range - through query. - (simplify_using_ranges::compare_names): Same. - (simplify_using_ranges::vrp_evaluate_conditional): Same. - (simplify_using_ranges::vrp_visit_cond_stmt): Same. - (simplify_using_ranges::simplify_abs_using_ranges): Same. - (simplify_using_ranges::simplify_cond_using_ranges_1): Same. - (simplify_cond_using_ranges_2): Same. - (simplify_using_ranges::simplify_switch_using_ranges): Same. - (simplify_using_ranges::two_valued_val_range_p): Same. - (simplify_using_ranges::simplify_using_ranges): Rename store to query. - (simplify_using_ranges::simplify): Assert that we have a query. - * vr-values.h (class range_query): Remove. - (class simplify_using_ranges): Remove inheritance of range_query. - (class vr_values): Add virtuals for range_of_expr, value_of_expr, - value_on_edge, value_of_stmt, and get_value_range. - Call range_query allocator instead of using vrp_value_range_pool. - Remove vrp_value_range_pool. - (simplify_using_ranges::get_value_range): Remove. - -2020-10-01 Richard Biener - - PR tree-optimization/97236 - * tree-vect-stmts.c (get_group_load_store_type): Keep - VMAT_ELEMENTWISE for single-element vectors. - -2020-10-01 Jan Hubicka - - * ipa-modref.c (compute_parm_map): Be ready for callee_pi to be NULL. - -2020-10-01 Jan Hubicka - - PR ipa/97244 - * ipa-fnsummary.c (pass_free_fnsummary::execute): Free - also indirect inlining datastructure. - * ipa-modref.c (pass_ipa_modref::execute): Do not free them here. - * ipa-prop.c (ipa_free_all_node_params): Do not crash when info does - not exist. - (ipa_unregister_cgraph_hooks): Likewise. - -2020-10-01 Jan Hubicka - - * internal-fn.c (DEF_INTERNAL_FN): Fix handling of fnspec - -2020-10-01 Aldy Hernandez - - * Makefile.in: Add value-query.o. - * value-query.cc: New file. - * value-query.h: New file. - -2020-10-01 Alex Coplan - - * config/arm/arm-cpus.in: Fix ordering, move Neoverse N2 down. - * config/arm/arm-tables.opt: Regenerate. - * config/arm/arm-tune.md: Regenerate. - -2020-10-01 Jakub Jelinek - - * config/s390/s390.c (s390_atomic_assign_expand_fenv): Use - TARGET_EXPR instead of MODIFY_EXPR for the first assignments to - fenv_var and old_fpc. Formatting fixes. - -2020-10-01 Richard Biener - - * tree-vect-patterns.c (vect_recog_bool_pattern): Also handle - VIEW_CONVERT_EXPR. - -2020-10-01 Florian Weimer - - PR target/97250 - * config/i386/i386.h (PTA_NO_TUNE, PTA_X86_64_BASELINE) - (PTA_X86_64_V2, PTA_X86_64_V3, PTA_X86_64_V4): New. - * common/config/i386/i386-common.c (processor_alias_table): - Add "x86-64-v2", "x86-64-v3", "x86-64-v4". - * config/i386/i386-options.c (ix86_option_override_internal): - Handle new PTA_NO_TUNE processor table entries. - * doc/invoke.texi (x86 Options): Document new -march values. - -2020-10-01 Alan Modra - - * config/rs6000/ppc-asm.h: Support __PCREL__ code. - -2020-10-01 Alan Modra - - * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Don't - set -mcmodel=small for -mno-minimal-toc when pcrel. - -2020-09-30 Martin Sebor - - PR middle-end/97189 - * attribs.c (attr_access::array_as_string): Avoid assuming a VLA - access specification string contains a closing bracket. - -2020-09-30 Martin Sebor - - PR c/97206 - * attribs.c (attr_access::array_as_string): Avoid modifying a shared - type in place and use build_type_attribute_qual_variant instead. - -2020-09-30 Przemyslaw Wirkus - - * config/arm/arm-cpus.in: Add Cortex-A78 and Cortex-A78AE cores. - * config/arm/arm-tables.opt: Regenerate. - * config/arm/arm-tune.md: Regenerate. - * doc/invoke.texi: Update docs. - -2020-09-30 Przemyslaw Wirkus - - * config/aarch64/aarch64-cores.def: Add Cortex-A78 and Cortex-A78AE cores. - * config/aarch64/aarch64-tune.md: Regenerate. - * doc/invoke.texi: Add -mtune=cortex-a78 and -mtune=cortex-a78ae. - -2020-09-30 Srinath Parvathaneni - - PR target/96795 - * config/arm/arm_mve.h (__ARM_mve_coerce2): Define. - (__arm_vaddq): Correct the scalar argument. - (__arm_vaddq_m): Likewise. - (__arm_vaddq_x): Likewise. - (__arm_vcmpeqq_m): Likewise. - (__arm_vcmpeqq): Likewise. - (__arm_vcmpgeq_m): Likewise. - (__arm_vcmpgeq): Likewise. - (__arm_vcmpgtq_m): Likewise. - (__arm_vcmpgtq): Likewise. - (__arm_vcmpleq_m): Likewise. - (__arm_vcmpleq): Likewise. - (__arm_vcmpltq_m): Likewise. - (__arm_vcmpltq): Likewise. - (__arm_vcmpneq_m): Likewise. - (__arm_vcmpneq): Likewise. - (__arm_vfmaq_m): Likewise. - (__arm_vfmaq): Likewise. - (__arm_vfmasq_m): Likewise. - (__arm_vfmasq): Likewise. - (__arm_vmaxnmavq): Likewise. - (__arm_vmaxnmavq_p): Likewise. - (__arm_vmaxnmvq): Likewise. - (__arm_vmaxnmvq_p): Likewise. - (__arm_vminnmavq): Likewise. - (__arm_vminnmavq_p): Likewise. - (__arm_vminnmvq): Likewise. - (__arm_vminnmvq_p): Likewise. - (__arm_vmulq_m): Likewise. - (__arm_vmulq): Likewise. - (__arm_vmulq_x): Likewise. - (__arm_vsetq_lane): Likewise. - (__arm_vsubq_m): Likewise. - (__arm_vsubq): Likewise. - (__arm_vsubq_x): Likewise. - -2020-09-30 Joel Hutton - - PR target/96837 - * tree-vect-slp.c (vect_analyze_slp): Do not call - vect_attempt_slp_rearrange_stmts for vector constructors. - -2020-09-30 Tamar Christina - - * tree-vectorizer.h (SLP_TREE_REF_COUNT): New. - * tree-vect-slp.c (_slp_tree::_slp_tree, _slp_tree::~_slp_tree, - vect_free_slp_tree, vect_build_slp_tree, vect_print_slp_tree, - slp_copy_subtree, vect_attempt_slp_rearrange_stmts): Use it. - -2020-09-30 Tobias Burnus - - * omp-offload.c (omp_discover_implicit_declare_target): Also - handled nested functions. - -2020-09-30 Tobias Burnus - Tom de Vries - - * builtins.c (expand_builtin_cexpi, fold_builtin_sincos): Update - targetm.libc_has_function call. - * builtins.def (DEF_C94_BUILTIN, DEF_C99_BUILTIN, DEF_C11_BUILTIN): - (DEF_C2X_BUILTIN, DEF_C99_COMPL_BUILTIN, DEF_C99_C90RES_BUILTIN): - Same. - * config/darwin-protos.h (darwin_libc_has_function): Update prototype. - * config/darwin.c (darwin_libc_has_function): Add arg. - * config/linux-protos.h (linux_libc_has_function): Update prototype. - * config/linux.c (linux_libc_has_function): Add arg. - * config/i386/i386.c (ix86_libc_has_function): Update - targetm.libc_has_function call. - * config/nvptx/nvptx.c (nvptx_libc_has_function): New function. - (TARGET_LIBC_HAS_FUNCTION): Redefine to nvptx_libc_has_function. - * convert.c (convert_to_integer_1): Update targetm.libc_has_function - call. - * match.pd: Same. - * target.def (libc_has_function): Add arg. - * doc/tm.texi: Regenerate. - * targhooks.c (default_libc_has_function, gnu_libc_has_function) - (no_c99_libc_has_function): Add arg. - * targhooks.h (default_libc_has_function, no_c99_libc_has_function) - (gnu_libc_has_function): Update prototype. - * tree-ssa-math-opts.c (pass_cse_sincos::execute): Update - targetm.libc_has_function call. - -2020-09-30 H.J. Lu - - PR target/97184 - * config/i386/i386.md (UNSPECV_MOVDIRI): Renamed to ... - (UNSPEC_MOVDIRI): This. - (UNSPECV_MOVDIR64B): Renamed to ... - (UNSPEC_MOVDIR64B): This. - (movdiri): Use SET operation. - (@movdir64b_): Likewise. - -2020-09-30 Florian Weimer - - * config/i386/i386-c.c (ix86_target_macros_internal): Define - __LAHF_SAHF__ and __MOVBE__ based on ISA flags. - -2020-09-30 Kyrylo Tkachov - - PR target/97150 - * config/aarch64/arm_neon.h (vqrshlb_u8): Make second argument - signed. - (vqrshlh_u16): Likewise. - (vqrshls_u32): Likewise. - (vqrshld_u64): Likewise. - (vqshlb_u8): Likewise. - (vqshlh_u16): Likewise. - (vqshls_u32): Likewise. - (vqshld_u64): Likewise. - (vshld_u64): Likewise. - -2020-09-30 Kyrylo Tkachov - - PR target/96313 - * config/aarch64/aarch64-simd-builtins.def (sqmovun): Use UNOPUS - qualifiers. - * config/aarch64/arm_neon.h (vqmovun_s16): Adjust builtin call. - Remove unnecessary result cast. - (vqmovun_s32): Likewise. - (vqmovun_s64): Likewise. - (vqmovunh_s16): Likewise. Fix return type. - (vqmovuns_s32): Likewise. - (vqmovund_s64): Likewise. - -2020-09-30 Richard Sandiford - - * config/aarch64/aarch64.c (aarch64_split_128bit_move_p): Add a - function comment. Tighten check for FP moves. - * config/aarch64/aarch64.md (*movti_aarch64): Add a w<-Z alternative. - (*movtf_aarch64): Handle r<-Y like r<-r. Remove unnecessary - earlyclobber. Change splitter predicate from aarch64_reg_or_imm - to nonmemory_operand. - -2020-09-30 Alex Coplan - - PR target/97251 - * config/arm/arm.md (movsf): Relax TARGET_HARD_FLOAT to - TARGET_VFP_BASE. - (movdf): Likewise. - * config/arm/vfp.md (no_literal_pool_df_immediate): Likewise. - (no_literal_pool_sf_immediate): Likewise. - -2020-09-30 Alan Modra - - * configure.ac (--with-long-double-format): Typo fix. - * configure: Regenerate. - -2020-09-30 Alan Modra - - * config/rs6000/rs6000.md (@tablejump_normal): Don't use - non-existent operands[]. - (@tablejump_nospec): Likewise. - -2020-09-30 Segher Boessenkool - - * config/rs6000/rs6000.md (tablejump): Simplify. - (tablejumpsi): Merge this ... - (tablejumpdi): ... and this ... - (@tablejump_normal): ... into this. - (tablejumpsi_nospec): Merge this ... - (tablejumpdi_nospec): ... and this ... - (@tablejump_nospec): ... into this. - (*tablejump_internal1): Delete, rename to ... - (@tablejump_insn_normal): ... this. - (*tablejump_internal1_nospec): Delete, rename to ... - (@tablejump_insn_nospec): ... this. - -2020-09-29 Martin Sebor - - PR middle-end/97188 - * calls.c (maybe_warn_rdwr_sizes): Simplify warning messages. - Correct handling of VLA argumments. - -2020-09-29 Marek Polacek - - PR c++/94695 - * doc/invoke.texi: Document -Wrange-loop-construct. - -2020-09-29 Jim Wilson - - PR bootstrap/97183 - * configure.ac (gcc_cv_header_zstd_h): Check ZSTD_VERISON_NUMBER. - * configure: Regenerated. - -2020-09-29 Przemyslaw Wirkus - - * config/arm/arm-cpus.in: Add Cortex-X1 core. - * config/arm/arm-tables.opt: Regenerate. - * config/arm/arm-tune.md: Regenerate. - * doc/invoke.texi: Update docs. - -2020-09-29 Przemyslaw Wirkus - - * config/aarch64/aarch64-cores.def: Add Cortex-X1 Arm core. - * config/aarch64/aarch64-tune.md: Regenerate. - * doc/invoke.texi: Add -mtune=cortex-x1 docs. - -2020-09-29 H.J. Lu - - PR target/97247 - * config/i386/enqcmdintrin.h: Replace with - . Replace _ENQCMDNTRIN_H_INCLUDED with - _ENQCMDINTRIN_H_INCLUDED. - -2020-09-29 Richard Biener - - PR tree-optimization/97241 - * tree-vect-loop.c (vectorizable_reduction): Move finding - the SLP node for the reduction stmt to a better place. - -2020-09-29 Richard Biener - - * tree-vect-slp.c (vect_analyze_slp): Move SLP reduction - re-arrangement and SLP graph load gathering... - (vect_optimize_slp): ... here. - * tree-vectorizer.h (vec_info::slp_loads): Remove. - -2020-09-29 Hongyu Wang - - PR target/97231 - * config/i386/amxbf16intrin.h: Add FSF copyright notes. - * config/i386/amxint8intrin.h: Ditto. - * config/i386/amxtileintrin.h: Ditto. - * config/i386/avx512vp2intersectintrin.h: Ditto. - * config/i386/avx512vp2intersectvlintrin.h: Ditto. - * config/i386/pconfigintrin.h: Ditto. - * config/i386/tsxldtrkintrin.h: Ditto. - * config/i386/wbnoinvdintrin.h: Ditto. - -2020-09-29 Richard Biener - - PR tree-optimization/97238 - * tree-ssa-reassoc.c (ovce_extract_ops): Fix typo. - -2020-09-29 Richard Sandiford - - * config/arm/arm.h (ARM_HAVE_NEON_V8QI_ARITH, ARM_HAVE_NEON_V4HI_ARITH) - (ARM_HAVE_NEON_V2SI_ARITH, ARM_HAVE_NEON_V16QI_ARITH): New macros. - (ARM_HAVE_NEON_V8HI_ARITH, ARM_HAVE_NEON_V4SI_ARITH): Likewise. - (ARM_HAVE_NEON_V2DI_ARITH, ARM_HAVE_NEON_V4HF_ARITH): Likewise. - (ARM_HAVE_NEON_V8HF_ARITH, ARM_HAVE_NEON_V2SF_ARITH): Likewise. - (ARM_HAVE_NEON_V4SF_ARITH, ARM_HAVE_V8QI_ARITH, ARM_HAVE_V4HI_ARITH) - (ARM_HAVE_V2SI_ARITH, ARM_HAVE_V16QI_ARITH, ARM_HAVE_V8HI_ARITH) - (ARM_HAVE_V4SI_ARITH, ARM_HAVE_V2DI_ARITH, ARM_HAVE_V4HF_ARITH) - (ARM_HAVE_V2SF_ARITH, ARM_HAVE_V8HF_ARITH, ARM_HAVE_V4SF_ARITH): - Likewise. - * config/arm/iterators.md (VNIM, VNINOTM): Delete. - * config/arm/vec-common.md (add3, addv8hf3) - (add3): Replace with... - (add3): ...this new expander. - * config/arm/neon.md (*add3_neon): Use the new - ARM_HAVE_NEON__ARITH macros as the C condition. - (addv8hf3_neon, addv4hf3, add3_fp16): Delete in - favor of the above. - (neon_vadd): Use gen_add3 instead of - gen_add3_fp16. - -2020-09-29 Kito Cheng - - * config/riscv/riscv-c.c (riscv_cpu_cpp_builtins): Define - __riscv_cmodel_medany when PIC mode. - -2020-09-29 Alex Coplan - - * config/aarch64/aarch64-cores.def: Move neoverse-n2 after saphira. - * config/aarch64/aarch64-tune.md: Regenerate. - -2020-09-29 Martin Liska - - PR tree-optimization/96979 - * tree-switch-conversion.c (jump_table_cluster::can_be_handled): - Make a fast bail out. - (bit_test_cluster::can_be_handled): Likewise here. - * tree-switch-conversion.h (get_range): Use wi::to_wide instead - of a folding. - -2020-09-29 Martin Liska - - Revert: - 2020-09-22 Martin Liska - - PR tree-optimization/96979 - * doc/invoke.texi: Document new param max-switch-clustering-attempts. - * params.opt: Add new parameter. - * tree-switch-conversion.c (jump_table_cluster::find_jump_tables): - Limit number of attempts. - (bit_test_cluster::find_bit_tests): Likewise. - -2020-09-28 Aldy Hernandez - - * value-range.h (class irange): Add irange_allocator friend. - (class irange_allocator): New. - -2020-09-28 Tobias Burnus - - PR middle-end/96390 - * omp-offload.c (omp_discover_declare_target_tgt_fn_r): Handle - alias nodes. - -2020-09-28 Paul A. Clarke - - * config/rs6000/smmintrin.h (_mm_insert_epi8): New. - (_mm_insert_epi32): New. - (_mm_insert_epi64): New. - -2020-09-28 liuhongt - - * common/config/i386/i386-common.c (OPTION_MASK_ISA2_AMX_TILE_SET, - OPTION_MASK_ISA2_AMX_INT8_SET, OPTION_MASK_ISA2_AMX_BF16_SET, - OPTION_MASK_ISA2_AMX_TILE_UNSET, OPTION_MASK_ISA2_AMX_INT8_UNSET, - OPTION_MASK_ISA2_AMX_BF16_UNSET, OPTION_MASK_ISA2_XSAVE_UNSET): - New marcos. - (ix86_handle_option): Hanlde -mamx-tile, -mamx-int8, -mamx-bf16. - * common/config/i386/i386-cpuinfo.h (processor_types): Add - FEATURE_AMX_TILE, FEATURE_AMX_INT8, FEATURE_AMX_BF16. - * common/config/i386/cpuinfo.h (XSTATE_TILECFG, - XSTATE_TILEDATA, XCR_AMX_ENABLED_MASK): New macro. - (get_available_features): Enable AMX features only if - their states are suoorited by OSXSAVE. - * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY - for amx-tile, amx-int8, amx-bf16. - * config.gcc: Add amxtileintrin.h, amxint8intrin.h, - amxbf16intrin.h to extra headers. - * config/i386/amxbf16intrin.h: New file. - * config/i386/amxint8intrin.h: Ditto. - * config/i386/amxtileintrin.h: Ditto. - * config/i386/cpuid.h (bit_AMX_BF16, bit_AMX_TILE, bit_AMX_INT8): - New macro. - * config/i386/i386-c.c (ix86_target_macros_internal): Define - __AMX_TILE__, __AMX_INT8__, AMX_BF16__. - * config/i386/i386-options.c (ix86_target_string): Add - -mamx-tile, -mamx-int8, -mamx-bf16. - (ix86_option_override_internal): Handle AMX-TILE, - AMX-INT8, AMX-BF16. - * config/i386/i386.h (TARGET_AMX_TILE, TARGET_AMX_TILE_P, - TARGET_AMX_INT8, TARGET_AMX_INT8_P, TARGET_AMX_BF16_P, - PTA_AMX_TILE, PTA_AMX_INT8, PTA_AMX_BF16): New macros. - * config/i386/i386.opt: Add -mamx-tile, -mamx-int8, -mamx-bf16. - * config/i386/immintrin.h: Include amxtileintrin.h, - amxint8intrin.h, amxbf16intrin.h. - * doc/invoke.texi: Document -mamx-tile, -mamx-int8, -mamx-bf16. - * doc/extend.texi: Document amx-tile, amx-int8, amx-bf16. - * doc/sourcebuild.texi ((Effective-Target Keywords, Other - hardware attributes): Document amx_int8, amx_tile, amx_bf16. - -2020-09-28 Andrea Corallo - - * config/aarch64/aarch64-builtins.c - (aarch64_general_expand_builtin): Do not alter value on a - force_reg returned rtx. - -2020-09-28 Eric Botcazou - - * tree-eh.c (lower_try_finally_dup_block): Revert latest change. - -2020-09-27 Jan Hubicka - - * ipa-modref.c (modref_summary::useful_p): Fix testing of stores. - -2020-09-27 Jakub Jelinek - - PR middle-end/97073 - * optabs.c (expand_binop, expand_absneg_bit, expand_unop, - expand_copysign_bit): Check reg_overlap_mentioned_p between target - and operand(s) and if it returns true, force a pseudo as target. - -2020-09-27 Xionghu Luo - - * gimple-isel.cc (gimple_expand_vec_set_expr): New function. - (gimple_expand_vec_cond_exprs): Rename to ... - (gimple_expand_vec_exprs): ... this and call - gimple_expand_vec_set_expr. - * internal-fn.c (vec_set_direct): New define. - (expand_vec_set_optab_fn): New function. - (direct_vec_set_optab_supported_p): New define. - * internal-fn.def (VEC_SET): New DEF_INTERNAL_OPTAB_FN. - * optabs.c (can_vec_set_var_idx_p): New function. - * optabs.h (can_vec_set_var_idx_p): New declaration. - -2020-09-26 Jan Hubicka - - * ipa-modref.c (analyze_stmt): Do not skip clobbers in early pass. - * ipa-pure-const.c (analyze_stmt): Update comment. - -2020-09-26 David Edelsohn - Clement Chigot - - * collect2.c (visibility_flag): New. - (main): Detect -fvisibility. - (write_c_file_stat): Push and pop default visibility. - -2020-09-26 Jan Hubicka - - * ipa-inline-transform.c: Include ipa-modref-tree.h and ipa-modref.h. - (inline_call): Call ipa_merge_modref_summary_after_inlining. - * ipa-inline.c (ipa_inline): Do not free summaries. - * ipa-modref.c (dump_records): Fix formating. - (merge_call_side_effects): Break out from ... - (analyze_call): ... here; record recursive calls. - (analyze_stmt): Add new parameter RECURSIVE_CALLS. - (analyze_function): Do iterative dataflow on recursive calls. - (compute_parm_map): New function. - (ipa_merge_modref_summary_after_inlining): New function. - (collapse_loads): New function. - (modref_propagate_in_scc): Break out from ... - (pass_ipa_modref::execute): ... here; Do iterative dataflow. - * ipa-modref.h (ipa_merge_modref_summary_after_inlining): Declare. - -2020-09-26 Jakub Jelinek - - * omp-expand.c (expand_omp_simd): Help vectorizer for the collapse == 1 - and non-composite collapse > 1 case with non-constant innermost loop - step by precomputing number of iterations before loop and using an - alternate IV from 0 to number of iterations - 1 with step of 1. - -2020-09-26 Jan Hubicka - - * ipa-fnsummary.c (dump_ipa_call_summary): Dump - points_to_local_or_readonly_memory flag. - (analyze_function_body): Compute points_to_local_or_readonly_memory - flag. - (remap_edge_change_prob): Rename to ... - (remap_edge_params): ... this one; update - points_to_local_or_readonly_memory. - (remap_edge_summaries): Update. - (read_ipa_call_summary): Stream the new flag. - (write_ipa_call_summary): Likewise. - * ipa-predicate.h (struct inline_param_summary): Add - points_to_local_or_readonly_memory. - (inline_param_summary::equal_to): Update. - (inline_param_summary::useless_p): Update. - -2020-09-26 Jan Hubicka - - * ipa-modref-tree.h (modref_ref_node::insert_access): Track if something - changed. - (modref_base_node::insert_ref): Likewise (and add a new optional - argument) - (modref_tree::insert): Likewise. - (modref_tree::merge): Rewrite - -2020-09-25 Jan Hubicka - - * doc/invoke.texi: Add -fno-ipa-modref to flags disabled by - -flive-patching. - * opts.c (control_options_for_live_patching): Disable ipa-modref. - -2020-09-25 Jan Hubicka - - * ipa-modref.c (analyze_stmt): Fix return value for gimple_clobber. - -2020-09-25 Kyrylo Tkachov - - * config/aarch64/aarch64-option-extensions.def (rng): Add - cpuinfo string. - -2020-09-25 Alex Coplan - - * config/arm/arm-cpus.in (neoverse-v1): Add FP16. - -2020-09-25 Martin Liska - - PR gcov-profile/64636 - * value-prof.c (stream_out_histogram_value): Allow negative - values for HIST_TYPE_IOR. - -2020-09-25 Tom de Vries - - * config/nvptx/nvptx.c (nvptx_assemble_integer, nvptx_print_operand): - Use gcc_fallthrough (). - -2020-09-25 Richard Biener - - PR middle-end/96814 - * expr.c (store_constructor): Handle VECTOR_BOOLEAN_TYPE_P - CTORs correctly. - -2020-09-25 Richard Biener - - PR middle-end/97207 - * vec.h (auto_vec::operator=(auto_vec&&)): Implement. - -2020-09-25 Richard Sandiford - - * config/arm/arm-protos.h (arm_mve_mode_and_operands_type_check): - Delete. - * config/arm/arm.c (arm_coproc_mem_operand_wb): Use a scale factor - of 2 rather than 4 for 16-bit modes. - (arm_mve_mode_and_operands_type_check): Delete. - * config/arm/constraints.md (Uj): Allow writeback for Neon, - but continue to disallow it for MVE. - * config/arm/arm.md (*arm32_mov): Add !TARGET_HAVE_MVE. - * config/arm/vfp.md (*mov_load_vfp_hf16, *mov_store_vfp_hf16): Fold - back into... - (*mov_vfp_16): ...here but use Uj for the FPR memory - constraints. Use for base MVE too. - -2020-09-25 Richard Biener - - PR tree-optimization/97199 - * tree-if-conv.c (combine_blocks): Remove edges only - after looking at virtual PHI args. - -2020-09-25 Jakub Jelinek - - * omp-low.c (scan_omp_1_stmt): Don't call scan_omp_simd for - collapse > 1 loops as simt doesn't support collapsed loops yet. - * omp-expand.c (expand_omp_for_init_counts, expand_omp_for_init_vars): - Small tweaks to function comment. - (expand_omp_simd): Rewritten collapse > 1 support to only attempt - to vectorize the innermost loop and emit set of outer loops around it. - For non-composite simd with collapse > 1 without broken loop don't - even try to compute number of iterations first. Add support for - non-rectangular simd loops. - (expand_omp_for): Don't sorry_at on non-rectangular simd loops. - -2020-09-25 Martin Liska - - * cgraph.c (cgraph_edge::debug): New. - * cgraph.h (cgraph_edge::debug): New. - -2020-09-25 Martin Liska - - * cgraph.c (cgraph_node::dump): Always print space at the end - of a message. Remove one extra space. - -2020-09-24 Alex Coplan - - * config/arm/arm-cpus.in (neoverse-n2): New. - * config/arm/arm-tables.opt: Regenerate. - * config/arm/arm-tune.md: Regenerate. - * doc/invoke.texi: Document support for Neoverse N2. - -2020-09-24 Alex Coplan - - * config/aarch64/aarch64-cores.def: Add Neoverse N2. - * config/aarch64/aarch64-tune.md: Regenerate. - * doc/invoke.texi: Document AArch64 support for Neoverse N2. - -2020-09-24 Richard Biener - - * vec.h (auto_vec::auto_vec (auto_vec &&)): New move CTOR. - (auto_vec::operator=(auto_vec &&)): Delete. - * hash-table.h (hash_table::expand): Use std::move when expanding. - * cfgloop.h (get_loop_exit_edges): Return auto_vec. - * cfgloop.c (get_loop_exit_edges): Adjust. - * cfgloopmanip.c (fix_loop_placement): Likewise. - * ipa-fnsummary.c (analyze_function_body): Likewise. - * ira-build.c (create_loop_tree_nodes): Likewise. - (create_loop_tree_node_allocnos): Likewise. - (loop_with_complex_edge_p): Likewise. - * ira-color.c (ira_loop_edge_freq): Likewise. - * loop-unroll.c (analyze_insns_in_loop): Likewise. - * predict.c (predict_loops): Likewise. - * tree-predcom.c (last_always_executed_block): Likewise. - * tree-ssa-loop-ch.c (ch_base::copy_headers): Likewise. - * tree-ssa-loop-im.c (store_motion_loop): Likewise. - * tree-ssa-loop-ivcanon.c (loop_edge_to_cancel): Likewise. - (canonicalize_loop_induction_variables): Likewise. - * tree-ssa-loop-manip.c (get_loops_exits): Likewise. - * tree-ssa-loop-niter.c (find_loop_niter): Likewise. - (finite_loop_p): Likewise. - (find_loop_niter_by_eval): Likewise. - (estimate_numbers_of_iterations): Likewise. - * tree-ssa-loop-prefetch.c (emit_mfence_after_loop): Likewise. - (may_use_storent_in_loop_p): Likewise. - -2020-09-24 Jan Hubicka - - * doc/invoke.texi: Document -fipa-modref, ipa-modref-max-bases, - ipa-modref-max-refs, ipa-modref-max-accesses, ipa-modref-max-tests. - * ipa-modref-tree.c (test_insert_search_collapse): Update. - (test_merge): Update. - (gt_ggc_mx): New function. - * ipa-modref-tree.h (struct modref_access_node): New structure. - (struct modref_ref_node): Add every_access and accesses array. - (modref_ref_node::modref_ref_node): Update ctor. - (modref_ref_node::search): New member function. - (modref_ref_node::collapse): New member function. - (modref_ref_node::insert_access): New member function. - (modref_base_node::insert_ref): Do not collapse base if ref is 0. - (modref_base_node::collapse): Copllapse also refs. - (modref_tree): Add accesses. - (modref_tree::modref_tree): Initialize max_accesses. - (modref_tree::insert): Add access parameter. - (modref_tree::cleanup): New member function. - (modref_tree::merge): Add parm_map; merge accesses. - (modref_tree::copy_from): New member function. - (modref_tree::create_ggc): Add max_accesses. - * ipa-modref.c (dump_access): New function. - (dump_records): Dump accesses. - (dump_lto_records): Dump accesses. - (get_access): New function. - (record_access): Record access. - (record_access_lto): Record access. - (analyze_call): Compute parm_map. - (analyze_function): Update construction of modref records. - (modref_summaries::duplicate): Likewise; use copy_from. - (write_modref_records): Stream accesses. - (read_modref_records): Sream accesses. - (pass_ipa_modref::execute): Update call of merge. - * params.opt (-param=modref-max-accesses): New. - * tree-ssa-alias.c (alias_stats): Add modref_baseptr_tests. - (dump_alias_stats): Update. - (base_may_alias_with_dereference_p): New function. - (modref_may_conflict): Check accesses. - (ref_maybe_used_by_call_p_1): Update call to modref_may_conflict. - (call_may_clobber_ref_p_1): Update call to modref_may_conflict. - -2020-09-24 Richard Sandiford - - * config/arm/arm.md (*stack_protect_combined_set_insn): For non-PIC, - load the address of the canary rather than the address of the - constant pool entry that points to it. - (*stack_protect_combined_test_insn): Likewise. - -2020-09-24 Richard Biener - - PR tree-optimization/97085 - * match.pd (mask ? { false,..} : { true, ..} -> ~mask): New. - -2020-09-24 Jan Hubicka - - * ipa-modref-tree.h (modref_base::collapse): Release memory. - (modref_tree::create_ggc): New member function. - (modref_tree::colapse): Release memory. - (modref_tree::~modref_tree): New destructor. - * ipa-modref.c (modref_summaries::create_ggc): New function. - (analyze_function): Use create_ggc. - (modref_summaries::duplicate): Likewise. - (read_modref_records): Likewise. - (modref_read): Likewise. - -2020-09-24 Alan Modra - - * config/rs6000/rs6000.c (rs6000_rtx_costs): Pass mode to - reg_or_add_cint_operand and reg_or_sub_cint_operand. - -2020-09-24 Alan Modra - - PR target/93012 - * config/rs6000/rs6000.c (num_insns_constant_gpr): Count rldimi - constants correctly. - -2020-09-24 Alan Modra - - * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): - Conditionally define __PCREL__. - -2020-09-24 Alan Modra - - PR target/97107 - * config/rs6000/rs6000-internal.h (struct rs6000_stack): Improve - calls_p comment. - * config/rs6000/rs6000-logue.c (rs6000_stack_info): Likewise. - (rs6000_expand_split_stack_prologue): Emit the prologue for - functions that make a sibling call. - -2020-09-24 David Malcolm - - * doc/analyzer.texi (Analyzer Paths): Add note about - -fno-analyzer-feasibility. - * doc/invoke.texi (Static Analyzer Options): Add - -fno-analyzer-feasibility. - -2020-09-24 Paul A. Clarke - - * doc/extend.texi: Add 'd' for doubleword variant of - vector insert instruction. - -2020-09-23 Martin Sebor - - * gimple-array-bounds.cc (build_zero_elt_array_type): New function. - (array_bounds_checker::check_mem_ref): Call it. - -2020-09-23 Martin Sebor - - PR middle-end/97175 - * builtins.c (maybe_warn_for_bound): Handle both DECLs and EXPRESSIONs - in pad->dst.ref, same is pad->src.ref. - -2020-09-23 Jan Hubicka - - * ipa-fnsummary.c (refs_local_or_readonly_memory_p): New function. - (points_to_local_or_readonly_memory_p): New function. - * ipa-fnsummary.h (refs_local_or_readonly_memory_p): Declare. - (points_to_local_or_readonly_memory_p): Declare. - * ipa-modref.c (record_access_p): Use refs_local_or_readonly_memory_p. - * ipa-pure-const.c (check_op): Likewise. - -2020-09-23 Tom de Vries - - * config/nvptx/nvptx.md: Don't allow operand containing sum of - function ref and const. - -2020-09-23 Richard Sandiford - - * config/aarch64/aarch64-protos.h (aarch64_salt_type): New enum. - (aarch64_stack_protect_canary_mem): Declare. - * config/aarch64/aarch64.md (UNSPEC_SALT_ADDR): New unspec. - (stack_protect_set): Forward to stack_protect_combined_set. - (stack_protect_combined_set): New pattern. Use - aarch64_stack_protect_canary_mem. - (reg_stack_protect_address_): Add a salt operand. - (stack_protect_test): Forward to stack_protect_combined_test. - (stack_protect_combined_test): New pattern. Use - aarch64_stack_protect_canary_mem. - * config/aarch64/aarch64.c (strip_salt): New function. - (strip_offset_and_salt): Likewise. - (tls_symbolic_operand_type): Use strip_offset_and_salt. - (aarch64_stack_protect_canary_mem): New function. - (aarch64_cannot_force_const_mem): Use strip_offset_and_salt. - (aarch64_classify_address): Likewise. - (aarch64_symbolic_address_p): Likewise. - (aarch64_print_operand): Likewise. - (aarch64_output_addr_const_extra): New function. - (aarch64_tls_symbol_p): Use strip_salt. - (aarch64_classify_symbol): Likewise. - (aarch64_legitimate_pic_operand_p): Use strip_offset_and_salt. - (aarch64_legitimate_constant_p): Likewise. - (aarch64_mov_operand_p): Use strip_salt. - (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Override. - -2020-09-23 Kyrylo Tkachov - - PR target/71233 - * config/aarch64/arm_neon.h (vreinterpretq_f64_p128, - vreinterpretq_p128_f64): Define. - -2020-09-23 Alex Coplan - - * config/arm/arm-cpus.in (neoverse-v1): New. - * config/arm/arm-tables.opt: Regenerate. - * config/arm/arm-tune.md: Regenerate. - * doc/invoke.texi: Document support for Neoverse V1. - -2020-09-23 Alex Coplan - - * config/aarch64/aarch64-cores.def: Add Neoverse V1. - * config/aarch64/aarch64-tune.md: Regenerate. - * doc/invoke.texi: Document support for Neoverse V1. - -2020-09-23 Richard Biener - - PR middle-end/96453 - * gimple-isel.cc (gimple_expand_vec_cond_expr): Remove - LT_EXPR -> NE_EXPR verification and also apply it for - non-constant masks. - -2020-09-23 Jan Hubicka - - * ipa-modref.c (modref_summary::lto_useful_p): New member function. - (modref_summary::useful_p): New member function. - (analyze_function): Drop useless summaries. - (modref_write): Skip useless summaries. - (pass_ipa_modref::execute): Drop useless summaries. - * ipa-modref.h (struct GTY): Declare useful_p and lto_useful_p. - * tree-ssa-alias.c (dump_alias_stats): Fix. - (modref_may_conflict): Fix stats. - -2020-09-23 Richard Biener - - PR middle-end/96466 - * internal-fn.c (expand_vect_cond_mask_optab_fn): Use - appropriate mode for force_reg. - * tree.c (build_truth_vector_type_for): Pass VOIDmode to - make_vector_type. - -2020-09-23 Richard Sandiford - - * tree-vectorizer.h (determine_peel_for_niter): Delete in favor of... - (vect_determine_partial_vectors_and_peeling): ...this new function. - * tree-vect-loop-manip.c (vect_update_epilogue_niters): New function. - Reject using vector epilogue loops for single iterations. Install - the constant number of epilogue loop iterations in the associated - loop_vinfo. Rely on vect_determine_partial_vectors_and_peeling - to do the main part of the test. - (vect_do_peeling): Use vect_update_epilogue_niters to handle - epilogue loops with a known number of iterations. Skip recomputing - the number of iterations later in that case. Otherwise, use - vect_determine_partial_vectors_and_peeling to decide whether the - epilogue loop needs to use partial vectors or peeling. - * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Set the - default can_use_partial_vectors_p to false if partial-vector-usage=0. - (determine_peel_for_niter): Remove in favor of... - (vect_determine_partial_vectors_and_peeling): ...this new function, - split out from... - (vect_analyze_loop_2): ...here. Reflect the vect_verify_full_masking - and vect_verify_loop_lens results in CAN_USE_PARTIAL_VECTORS_P - rather than USING_PARTIAL_VECTORS_P. - -2020-09-23 Kyrylo Tkachov - - PR target/71233 - * config/aarch64/aarch64-simd-builtins.def (frintn): Use BUILTIN_VHSDF_HSDF - for modes. Remove explicit hf instantiation. - * config/aarch64/arm_neon.h (vrndns_f32): Define. - -2020-09-23 Richard Biener - - PR tree-optimization/97173 - * tree-vect-loop.c (vectorizable_live_operation): Extend - assert to also conver element conversions. - -2020-09-23 Kyrylo Tkachov - - PR target/71233 - * config/aarch64/arm_neon.h (vtrn1q_p64, vtrn2q_p64, vuzp1q_p64, - vuzp2q_p64, vzip1q_p64, vzip2q_p64): Define. - -2020-09-23 Kyrylo Tkachov - - PR target/71233 - * config/aarch64/arm_neon.h (vldrq_p128): Define. - -2020-09-23 Kyrylo Tkachov - - PR target/71233 - * config/aarch64/arm_neon.h (vstrq_p128): Define. - -2020-09-23 Richard Biener - - PR tree-optimization/97151 - * tree-ssa-structalias.c (find_func_aliases_for_call): - DECL_IS_REPLACEABLE_OPERATOR_DELETE_P has no effect on - arguments. - -2020-09-23 Richard Biener - - PR middle-end/97162 - * alias.c (compare_base_decls): Use DECL_HARD_REGISTER - and guard with VAR_P. - -2020-09-23 Martin Liska - - PR gcov-profile/97069 - * profile.c (branch_prob): Line number must be at least 1. - -2020-09-23 Tom de Vries - - PR target/97158 - * config/nvptx/nvptx.c (nvptx_output_mov_insn): Handle move from - DF subreg to DF reg. - -2020-09-23 David Malcolm - - * Makefile.in: Add $(ZLIBINC) to CFLAGS-analyzer/engine.o. - -2020-09-22 Jan Hubicka - - * ipa-modref.c (analyze_stmt): Ignore gimple clobber. - -2020-09-22 Jan Hubicka - - * ipa-modref-tree.c: Add namespace selftest. - (modref_tree_c_tests): Rename to ... - (ipa_modref_tree_c_tests): ... this. - * ipa-modref.c (pass_modref): Remove destructor. - (ipa_modref_c_finalize): New function. - * ipa-modref.h (ipa_modref_c_finalize): Declare. - * selftest-run-tests.c (selftest::run_tests): Call - ipa_modref_c_finalize. - * selftest.h (ipa_modref_tree_c_tests): Declare. - * toplev.c: Include ipa-modref-tree.h and ipa-modref.h - (toplev::finalize): Call ipa_modref_c_finalize. - -2020-09-22 David Malcolm - - * doc/analyzer.texi (Other Debugging Techniques): Mention - -fdump-analyzer-json. - * doc/invoke.texi (Static Analyzer Options): Add - -fdump-analyzer-json. - -2020-09-22 David Faust - - * config/bpf/bpf.md: Add defines for signed div and mod operators. - -2020-09-22 Martin Liska - - PR tree-optimization/96979 - * doc/invoke.texi: Document new param max-switch-clustering-attempts. - * params.opt: Add new parameter. - * tree-switch-conversion.c (jump_table_cluster::find_jump_tables): - Limit number of attempts. - (bit_test_cluster::find_bit_tests): Likewise. - -2020-09-22 Stefan Schulze Frielinghaus - - * config/s390/s390.md ("*cmp_ccs_0", "*cmp_ccz_0", - "*cmp_ccs_0_fastmath"): Basically change "*cmp_ccs_0" into - "*cmp_ccz_0" and for fast math add "*cmp_ccs_0_fastmath". - -2020-09-22 Kyrylo Tkachov - - PR target/71233 - * config/aarch64/arm_neon.h (vcls_u8, vcls_u16, vcls_u32, - vclsq_u8, vclsq_u16, vclsq_u32): Define. - -2020-09-22 Kyrylo Tkachov - - PR target/71233 - * config/aarch64/arm_neon.h (vceqq_p64, vceqz_p64, vceqzq_p64): Define. - -2020-09-22 Kyrylo Tkachov - - PR target/71233 - * config/aarch64/arm_neon.h (vadd_p8, vadd_p16, vadd_p64, vaddq_p8, - vaddq_p16, vaddq_p64, vaddq_p128): Define. - -2020-09-22 Jakub Jelinek - - * params.opt (--param=modref-max-tests=): Fix typo in help text: - perofmed -> performed. - * common.opt: Fix typo: incrmeental -> incremental. - * ipa-modref.c: Fix typos: recroding -> recording, becaue -> because, - analsis -> analysis. - (class modref_summaries): Fix typo: betweehn -> between. - (analyze_call): Fix typo: calle -> callee. - (read_modref_records): Fix typo: expcted -> expected. - (pass_ipa_modref::execute): Fix typo: calle -> callee. - -2020-09-22 Jakub Jelinek - - * common.opt (-fipa-modref): Add dot at the end of option help. - * params.opt (--param=modref-max-tests=): Likewise. - -2020-09-21 Marek Polacek - - * doc/invoke.texi: Document -Wctad-maybe-unsupported. - -2020-09-21 Richard Biener - - PR tree-optimization/97139 - * tree-vect-slp.c (vect_bb_slp_mark_live_stmts): Only mark the - pattern root, track visited vectorized stmts. - -2020-09-21 Jakub Jelinek - - * configure.ac: Use mallinfo mallinfo2 as first operand of - gcc_AC_CHECK_DECLS rather than [mallinfo, mallinfo2]. - * configure: Regenerated. - * config.in: Regenerated. - -2020-09-21 Andrea Corallo - - * config/aarch64/aarch64-builtins.c - (aarch64_general_expand_builtin): Use expand machinery not to - alter the value of an rtx returned by force_reg. - -2020-09-21 Richard Biener - - PR tree-optimization/97135 - * tree-ssa-loop-im.c (sm_seq_push_down): Do not ignore - self-dependences. - -2020-09-21 Martin Liska - - PR tree-optimization/96915 - * tree-switch-conversion.c (switch_conversion::expand): Accept - also integer constants. - -2020-09-21 Martin Liska - - * print-tree.c (print_node): Remove extra space. - -2020-09-21 Andrea Corallo - - PR target/96968 - * config/aarch64/aarch64-builtins.c - (aarch64_expand_fpsr_fpcr_setter): Fix comment nit. - (aarch64_expand_fpsr_fpcr_getter): New function, expand these - getters using expand_insn machinery. - (aarch64_general_expand_builtin): Make use of. - -2020-09-21 Martin Liska - - * ggc-common.c (ggc_rlimit_bound): Use ONE_? macro. - (ggc_min_expand_heuristic): Likewise. - (ggc_min_heapsize_heuristic): Likewise. - * ggc-page.c (ggc_collect): Likewise. - * system.h (ONE_G): Likewise. - -2020-09-21 Martin Liska - - * ggc-common.c (ggc_prune_overhead_list): Use SIZE_AMOUNT. - * ggc-page.c (release_pages): Likewise. - (ggc_collect): Likewise. - (ggc_trim): Likewise. - (ggc_grow): Likewise. - * timevar.c (timer::print): Likewise. - -2020-09-21 Martin Liska - - * config.in: Regenerate. - * configure: Likewise. - * configure.ac: Detect for mallinfo2. - * ggc-common.c (defined): Use it. - * system.h: Handle also HAVE_MALLINFO2. - -2020-09-20 John David Anglin < danglin@gcc.gnu.org> - - * config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Delete. - * config/pa/pa64-hpux.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise. - (ENDFILE_SPEC): Link with libgcc_stub.a and mill.a. - * config/pa/pa32-linux.h (ENDFILE_SPEC): Link with libgcc.a. - -2020-09-20 Jan Hubicka - - * ipa-modref.c (dump_lto_records): Fix ICE. - -2020-09-20 David Cepelik - Jan Hubicka - - * Makefile.in: Add ipa-modref.c and ipa-modref-tree.c. - * alias.c: (reference_alias_ptr_type_1): Export. - * alias.h (reference_alias_ptr_type_1): Declare. - * common.opt (fipa-modref): New. - * gengtype.c (open_base_files): Add ipa-modref-tree.h and ipa-modref.h - * ipa-modref-tree.c: New file. - * ipa-modref-tree.h: New file. - * ipa-modref.c: New file. - * ipa-modref.h: New file. - * lto-section-in.c (lto_section_name): Add ipa_modref. - * lto-streamer.h (enum lto_section_type): Add LTO_section_ipa_modref. - * opts.c (default_options_table): Enable ipa-modref at -O1+. - * params.opt (-param=modref-max-bases, -param=modref-max-refs, - -param=modref-max-tests): New params. - * passes.def: Schedule pass_modref and pass_ipa_modref. - * timevar.def (TV_IPA_MODREF): New timevar. - (TV_TREE_MODREF): New timevar. - * tree-pass.h (make_pass_modref): Declare. - (make_pass_ipa_modref): Declare. - * tree-ssa-alias.c (dump_alias_stats): Include ipa-modref-tree.h - and ipa-modref.h - (alias_stats): Add modref_use_may_alias, modref_use_no_alias, - modref_clobber_may_alias, modref_clobber_no_alias, modref_tests. - (dump_alias_stats): Dump new stats. - (nonoverlapping_array_refs_p): Fix formating. - (modref_may_conflict): New function. - (ref_maybe_used_by_call_p_1): Use it. - (call_may_clobber_ref_p_1): Use it. - (call_may_clobber_ref_p): Update. - (stmt_may_clobber_ref_p_1): Update. - * tree-ssa-alias.h (call_may_clobber_ref_p_1): Update. - -2020-09-19 Martin Sebor - - PR middle-end/82608 - PR middle-end/94195 - PR c/50584 - PR middle-end/84051 - * gimple-array-bounds.cc (get_base_decl): New function. - (get_ref_size): New function. - (trailing_array): New function. - (array_bounds_checker::check_array_ref): Call them. Handle arrays - declared in function parameters. - (array_bounds_checker::check_mem_ref): Same. Handle references to - dynamically allocated arrays. - -2020-09-19 Martin Sebor - - PR c/50584 - * builtins.c (warn_for_access): Add argument. Distinguish between - reads and writes. - (check_access): Add argument. Distinguish between reads and writes. - (gimple_call_alloc_size): Set range even on failure. - (gimple_parm_array_size): New function. - (compute_objsize): Call it. - (check_memop_access): Pass check_access an additional argument. - (expand_builtin_memchr, expand_builtin_strcat): Same. - (expand_builtin_strcpy, expand_builtin_stpcpy_1): Same. - (expand_builtin_stpncpy, check_strncat_sizes): Same. - (expand_builtin_strncat, expand_builtin_strncpy): Same. - (expand_builtin_memcmp): Same. - * builtins.h (compute_objsize): Declare a new overload. - (gimple_parm_array_size): Declare. - (check_access): Add argument. - * calls.c (append_attrname): Simplify. - (maybe_warn_rdwr_sizes): Handle internal attribute access. - * tree-ssa-uninit.c (maybe_warn_pass_by_reference): Avoid adding - quotes. - -2020-09-19 Martin Sebor - - * tree-ssa-uninit.c (maybe_warn_pass_by_reference): Handle attribute - access internal representation of arrays. - -2020-09-19 Martin Sebor - - PR c/50584 - * attribs.c (decl_attributes): Also pass decl along with type - attributes to handlers. - (init_attr_rdwr_indices): Change second argument to attribute chain. - Handle internal attribute representation in addition to external. - (get_parm_access): New function. - (attr_access::to_internal_string): Define new member function. - (attr_access::to_external_string): Define new member function. - (attr_access::vla_bounds): Define new member function. - * attribs.h (struct attr_access): Declare new members. - (attr_access::from_mode_char): Define new member function. - (get_parm_access): Declare new function. - * calls.c (initialize_argument_information): Pass function type - attributes to init_attr_rdwr_indices. - * doc/invoke.texi (-Warray-parameter, -Wvla-parameter): Document. - * tree-pretty-print.c (dump_generic_node): Correct handling of - qualifiers. - * tree-ssa-uninit.c (maybe_warn_pass_by_reference): Same. - * tree.h (access_mode): Add new enumerator. - -2020-09-19 Sandra Loosemore - - * doc/generic.texi (Basic Statements): Document SWITCH_EXPR here, - not SWITCH_STMT. - (Statements for C and C++): Rename node to reflect what - the introduction already says about sharing between C and C++ - front ends. Copy-edit and correct documentation for structured - loops and switch. - -2020-09-19 liuhongt - - PR target/96861 - * config/i386/x86-tune-costs.h (skylake_cost): increase rtx - cost of sse_to_integer from 2 to 6. - -2020-09-18 Sudi Das - Omar Tahir - - * config/arm/thumb2.md (*thumb2_csneg): New. - (*thumb2_negscc): Don't match if TARGET_COND_ARITH. - * config/arm/arm.md (*if_neg_move): Don't match if TARGET_COND_ARITH. - -2020-09-18 Sudi Das - Omar Tahir - - * config/arm/thumb2.md (*thumb2_csinc): New. - (*thumb2_cond_arith): Generate CINC where possible. - -2020-09-18 Sudi Das - Omar Tahir - - * config/arm/arm.h (TARGET_COND_ARITH): New macro. - * config/arm/arm.c (arm_have_conditional_execution): Return false if - TARGET_COND_ARITH before reload. - * config/arm/predicates.md (arm_comparison_operation): Returns true if - comparing CC_REGNUM with constant zero. - * config/arm/thumb2.md (*thumb2_csinv): New. - (*thumb2_movcond): Don't match if TARGET_COND_ARITH. - -2020-09-18 Richard Sandiford - - PR middle-end/91957 - * ira.c (ira_setup_eliminable_regset): Skip the special elimination - handling of the hard frame pointer if the hard frame pointer is fixed. - -2020-09-18 Richard Biener - - PR tree-optimization/97081 - * tree-vect-patterns.c (vect_recog_rotate_pattern): Use the - precision of the shifted operand to determine the mask. - -2020-09-18 Jozef Lawrynowicz - - * config/msp430/msp430.c (msp430_print_operand): Update comment. - Cast to long when printing values formatted as long. - Support 'd', 'e', 'f' and 'g' modifiers. - Extract operand value with a single operation for all modifiers. - * doc/extend.texi (msp430Operandmodifiers): New. - -2020-09-18 Jozef Lawrynowicz - - * config/msp430/msp430.c (increment_stack): Mark insns which increment - the stack as frame_related. - (msp430_expand_prologue): Add comments. - (msp430_expand_epilogue): Mark insns which decrement - the stack as frame_related. - Add reg_note to stack pop insns describing position of register - variables on the stack. - -2020-09-18 Andrew Stubbs - - * config/gcn/gcn-tree.c (execute_omp_gcn): Delete. - (make_pass_omp_gcn): Delete. - * config/gcn/t-gcn-hsa (PASSES_EXTRA): Delete. - * config/gcn/gcn-passes.def: Removed. - -2020-09-18 Alex Coplan - - * cfgloop.h (nb_iter_bound): Reword comment describing is_exit. - -2020-09-18 Richard Biener - - PR tree-optimization/97095 - * tree-vect-loop.c (vectorizable_live_operation): Get - the SLP vector type from the correct object. - -2020-09-18 Richard Biener - - PR tree-optimization/97089 - * tree-ssa-sccvn.c (visit_nary_op): Do not replace unsigned - divisions. - -2020-09-18 Richard Biener - - PR tree-optimization/97098 - * tree-vect-slp.c (vect_bb_slp_mark_live_stmts): Do not - recurse to children when all stmts were already visited. - -2020-09-17 Sergei Trofimovich - - * profile.c (sort_hist_values): Clarify hist format: - start with a value, not counter. - -2020-09-17 Yeting Kuo - - * config/riscv/riscv.h (CSW_MAX_OFFSET): Fix typo. - -2020-09-17 Patrick Palka - - PR c/80076 - * gensupport.c (alter_attrs_for_subst_insn) : - Reduce indentation of misleadingly indented code fragment. - * lra-constraints.c (multi_block_pseudo_p): Likewise. - * sel-sched-ir.c (merge_fences): Likewise. - -2020-09-17 Martin Sebor - - * doc/invoke.texi (-Wuninitialized): Document -Wuninitialized for - allocated objects. - (-Wmaybe-uninitialized): Same. - -2020-09-17 Richard Biener - - * tree-ssa-sccvn.c (visit_nary_op): Value-number multiplications - and divisions to negates of available negated forms. - -2020-09-17 Eric Botcazou - - PR middle-end/97078 - * function.c (use_register_for_decl): Test cfun->tail_call_marked - for a parameter here instead of... - (assign_parm_setup_reg): ...here. - -2020-09-17 Aldy Hernandez - - * range-op.cc (multi_precision_range_tests): Normalize symbolics when copying to a - multi-range. - * value-range.cc (irange::copy_legacy_range): Add test. - -2020-09-17 Jan Hubicka - - * cgraph.c (cgraph_node::get_availability): Fix availability of - functions in other partitions - * varpool.c (varpool_node::get_availability): Likewise. - -2020-09-17 Jojo R - - * config/csky/csky.opt (msim): New. - * doc/invoke.texi (C-SKY Options): Document -msim. - * config/csky/csky-elf.h (LIB_SPEC): Add simulator runtime. - -2020-09-17 Sergei Trofimovich - - * doc/cppenv.texi: Use @code{} instead of @samp{@command{}} - around 'date %s'. - -2020-09-17 liuhongt - - * common/config/i386/i386-common.c - (OPTION_MASK_ISA_AVX_UNSET): Remove OPTION_MASK_ISA_XSAVE_UNSET. - (OPTION_MASK_ISA_XSAVE_UNSET): Add OPTION_MASK_ISA_AVX_UNSET. - -2020-09-16 Alexandre Oliva - - * config/rs6000/rs6000.c (have_compare_and_set_mask): Use - E_*mode in cases. - -2020-09-16 Bill Schmidt - - * config/rs6000/predicates.md (current_file_function_operand): - Remove argument from rs6000_pcrel_p call. - * config/rs6000/rs6000-logue.c (rs6000_decl_ok_for_sibcall): - Likewise. - (rs6000_global_entry_point_prologue_needed_p): Likewise. - (rs6000_output_function_prologue): Likewise. - * config/rs6000/rs6000-protos.h (rs6000_function_pcrel_p): New - prototype. - (rs6000_pcrel_p): Remove argument. - * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Remove - argument from rs6000_pcrel_p call. - (rs6000_call_template_1): Likewise. - (rs6000_indirect_call_template_1): Likewise. - (rs6000_longcall_ref): Likewise. - (rs6000_call_aix): Likewise. - (rs6000_sibcall_aix): Likewise. - (rs6000_function_pcrel_p): Rename from rs6000_pcrel_p. - (rs6000_pcrel_p): Rewrite. - * config/rs6000/rs6000.md (*pltseq_plt_pcrel): Remove - argument from rs6000_pcrel_p call. - (*call_local): Likewise. - (*call_value_local): Likewise. - (*call_nonlocal_aix): Likewise. - (*call_value_nonlocal_aix): Likewise. - (*call_indirect_pcrel): Likewise. - (*call_value_indirect_pcrel): Likewise. - -2020-09-16 Marek Polacek - - PR preprocessor/96935 - * input.c (get_substring_ranges_for_loc): Return if start.column - is less than 1. - -2020-09-16 Martin Sebor - - PR middle-end/96295 - * tree-ssa-uninit.c (maybe_warn_operand): Work harder to avoid - warning for objects of empty structs - -2020-09-16 Eric Botcazou - - * tree-eh.c (lower_try_finally_dup_block): Backward propagate slocs - to stack restore builtin calls. - (cleanup_all_empty_eh): Do again a post-order traversal of the EH - region tree. - -2020-09-16 Andrea Corallo - - * tree-vect-loop.c (vect_need_peeling_or_partial_vectors_p): New - function. - (vect_analyze_loop_2): Make use of it not to select partial - vectors if no peel is required. - (determine_peel_for_niter): Move out some logic into - 'vect_need_peeling_or_partial_vectors_p'. - -2020-09-16 H.J. Lu - - PR target/97032 - * cfgexpand.c (asm_clobber_reg_kind): Set sp_is_clobbered_by_asm - to true if the stack pointer is clobbered by asm statement. - * emit-rtl.h (rtl_data): Add sp_is_clobbered_by_asm. - * config/i386/i386.c (ix86_get_drap_rtx): Set need_drap to true - if the stack pointer is clobbered by asm statement. - -2020-09-16 Ilya Leoshkevich - - * config/s390/vector.md(*vec_tf_to_v1tf): Use "f" instead of "v" - for the source operand. - -2020-09-16 Jojo R - - * config.gcc (C-SKY): Set use_gcc_stdint=wrap for elf target. - -2020-09-16 Richard Biener - - * tree-vectorizer.h (_stmt_vec_info::num_slp_uses): Remove. - (STMT_VINFO_NUM_SLP_USES): Likewise. - (vect_free_slp_instance): Adjust. - (vect_update_shared_vectype): Declare. - * tree-vectorizer.c (vec_info::~vec_info): Adjust. - * tree-vect-loop.c (vect_analyze_loop_2): Likewise. - (vectorizable_live_operation): Use vector type from - SLP_TREE_REPRESENTATIVE. - (vect_transform_loop): Adjust. - * tree-vect-data-refs.c (vect_slp_analyze_node_alignment): - Set the shared vector type. - * tree-vect-slp.c (vect_free_slp_tree): Remove final_p - parameter, remove STMT_VINFO_NUM_SLP_USES updating. - (vect_free_slp_instance): Adjust. - (vect_create_new_slp_node): Remove STMT_VINFO_NUM_SLP_USES - updating. - (vect_update_shared_vectype): Always compare with the - present vector type, update if NULL. - (vect_build_slp_tree_1): Do not update the shared vector - type here. - (vect_build_slp_tree_2): Adjust. - (slp_copy_subtree): Likewise. - (vect_attempt_slp_rearrange_stmts): Likewise. - (vect_analyze_slp_instance): Likewise. - (vect_analyze_slp): Likewise. - (vect_slp_analyze_node_operations_1): Update the shared - vector type. - (vect_slp_analyze_operations): Adjust. - (vect_slp_analyze_bb_1): Likewise. - -2020-09-16 Jojo R - - * config/csky/t-csky-linux (CSKY_MULTILIB_OSDIRNAMES): Use mfloat-abi. - (MULTILIB_OPTIONS): Likewise. - * config/csky/t-csky-elf (MULTILIB_OPTIONS): Likewise. - (MULTILIB_EXCEPTIONS): Likewise. - -2020-09-16 Jakub Jelinek - - * config/arm/arm.c (arm_option_restore): Comment out opts argument - name to avoid unused parameter warnings. - -2020-09-16 Jakub Jelinek - - * optc-save-gen.awk: In cl_optimization_stream_out use - bp_pack_var_len_{int,unsigned} instead of bp_pack_value. In - cl_optimization_stream_in use bp_unpack_var_len_{int,unsigned} - instead of bp_unpack_value. Formatting fix. - -2020-09-16 Jakub Jelinek - - PR tree-optimization/97053 - * gimple-ssa-store-merging.c (check_no_overlap): Add FIRST_ORDER, - START, FIRST_EARLIER and LAST_EARLIER arguments. Return false if - any stores between FIRST_EARLIER inclusive and LAST_EARLIER exclusive - has order in between FIRST_ORDER and LAST_ORDER and overlaps the to - be merged store. - (imm_store_chain_info::try_coalesce_bswap): Add FIRST_EARLIER argument. - Adjust check_no_overlap caller. - (imm_store_chain_info::coalesce_immediate_stores): Add first_earlier - and last_earlier variables, adjust them during iterations. Adjust - check_no_overlap callers, call check_no_overlap even when extending - overlapping stores by extra INTEGER_CST stores. - -2020-09-16 Jojo R - - * config/csky/csky-linux-elf.h (GLIBC_DYNAMIC_LINKER): Use mfloat-abi. - -2020-09-16 Kewen Lin - - PR target/97019 - * config/rs6000/rs6000-p8swap.c (find_alignment_op): Adjust to - support multiple defintions which are all AND operations with - the mask -16B. - (recombine_lvx_pattern): Adjust to handle multiple AND operations - from find_alignment_op. - (recombine_stvx_pattern): Likewise. - -2020-09-16 Jojo R - - * config/csky/csky.md (CSKY_NPARM_FREGS): New. - (call_value_internal_vs/d): New. - (untyped_call): New. - * config/csky/csky.h (TARGET_SINGLE_FPU): New. - (TARGET_DOUBLE_FPU): New. - (FUNCTION_VARG_REGNO_P): New. - (CSKY_VREG_MODE_P): New. - (FUNCTION_VARG_MODE_P): New. - (CUMULATIVE_ARGS): Add extra regs info. - (INIT_CUMULATIVE_ARGS): Use csky_init_cumulative_args. - (FUNCTION_ARG_REGNO_P): Use FUNCTION_VARG_REGNO_P. - * config/csky/csky-protos.h (csky_init_cumulative_args): Extern. - * config/csky/csky.c (csky_cpu_cpp_builtins): Support TARGET_HARD_FLOAT_ABI. - (csky_function_arg): Likewise. - (csky_num_arg_regs): Likewise. - (csky_function_arg_advance): Likewise. - (csky_function_value): Likewise. - (csky_libcall_value): Likewise. - (csky_function_value_regno_p): Likewise. - (csky_arg_partial_bytes): Likewise. - (csky_setup_incoming_varargs): Likewise. - (csky_init_cumulative_args): New. - -2020-09-16 Bill Schmidt - - * config/rs6000/rs6000-call.c (altivec_init_builtins): Fix name - of __builtin_altivec_xst_len_r. - -2020-09-15 Ilya Leoshkevich - - * rtlanal.c (set_noop_p): Treat subregs of registers in - different modes conservatively. - -2020-09-15 Richard Biener - - * tree-vect-slp.c (vect_get_and_check_slp_defs): Make swap - argument by-value and do not change it. - (vect_build_slp_tree_2): Adjust, set swap to NULL after last - use. - -2020-09-15 Feng Xue - - PR tree-optimization/94234 - * match.pd (T)(A) +- (T)(B) -> (T)(A +- B): New simplification. - -2020-09-15 Segher Boessenkool - - PR rtl-optimization/96475 - * bb-reorder.c (duplicate_computed_gotos): If we did anything, run - cleanup_cfg. - -2020-09-15 Richard Biener - - * tree-vect-slp.c (vect_build_slp_tree_2): Also consider - building an operand from scalars when building it did not - fail fatally but avoid messing with the upcall splitting - of groups. - -2020-09-15 Andre Vieira - - * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Do not - check +D32 for CMSE if -mfloat-abi=soft - -2020-09-15 liuhongt - - PR target/96744 - * config/i386/x86-tune-costs.h (struct processor_costs): - Increase mask <-> integer cost for non AVX512 target to avoid - spill gpr to mask. Also retune mask <-> integer and - mask_load/store for skylake_cost. - -2020-09-15 Jakub Jelinek - - PR target/97028 - * config/i386/sse.md (mul3_bcs, - _div3_bcst): Use instead of - <>. - -2020-09-15 Tobias Burnus - - PR fortran/96668 - * gimplify.c (gimplify_omp_for): Add 'bool openacc' argument; - update omp_finish_clause calls. - (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses, - gimplify_expr, gimplify_omp_loop): Update omp_finish_clause - and/or gimplify_for calls. - * langhooks-def.h (lhd_omp_finish_clause): Add bool openacc arg. - * langhooks.c (lhd_omp_finish_clause): Likewise. - * langhooks.h (lhd_omp_finish_clause): Likewise. - * omp-low.c (scan_sharing_clauses): Keep GOMP_MAP_TO_PSET cause for - 'declare target' vars. - -2020-09-15 Feng Xue - - PR tree-optimization/94234 - * genmatch.c (dt_simplify::gen_1): Emit check on final simplification - result when "!" is specified on toplevel output expr. - * match.pd ((A * C) +- (B * C) -> (A +- B) * C): Allow folding on expr - with multi-use operands if final result is a simple gimple value. - -2020-09-14 Sergei Trofimovich - - * doc/invoke.texi: fix '-fprofile-reproducibility' option - spelling in manual. - -2020-09-14 Jose E. Marchesi - - * config/bpf/bpf.md ("nop"): Re-define as `ja 0'. - -2020-09-14 Eric Botcazou - - * cgraphunit.c (cgraph_node::expand_thunk): Make sure to set - cfun->tail_call_marked when forcing a tail call. - * function.c (assign_parm_setup_reg): Always use a register to - load a parameter passed by reference if cfun->tail_call_marked. - -2020-09-14 Pat Haugen - - * config/rs6000/power10.md (power10-mffgpr, power10-mftgpr): Rename to - power10-mtvsr/power10-mfvsr. - * config/rs6000/power6.md (X2F_power6, power6-mftgpr, power6-mffgpr): - Remove. - * config/rs6000/power8.md (power8-mffgpr, power8-mftgpr): Rename to - power8-mtvsr/power8-mfvsr. - * config/rs6000/power9.md (power9-mffgpr, power9-mftgpr): Rename to - power9-mtvsr/power9-mfvsr. - * config/rs6000/rs6000.c (rs6000_adjust_cost): Remove Power6 - TYPE_MFFGPR cases. - * config/rs6000/rs6000.md (mffgpr, mftgpr, zero_extendsi2, - extendsi2, @signbit2_dm, lfiwax, lfiwzx, *movsi_internal1, - movsi_from_sf, *movdi_from_sf_zero_ext, *mov_internal, - movsd_hardfloat, movsf_from_si, *mov_hardfloat64, p8_mtvsrwz, - p8_mtvsrd_df, p8_mtvsrd_sf, p8_mfvsrd_3_, *movdi_internal64, - unpack_dm): Rename mffgpr/mftgpr to mtvsr/mfvsr. - * config/rs6000/vsx.md (vsx_mov_64bit, vsx_extract_, - vsx_extract_si, *vsx_extract__p8): Likewise. - -2020-09-14 Jakub Jelinek - - * config/arm/arm.opt (x_arm_arch_string, x_arm_cpu_string, - x_arm_tune_string): Remove TargetSave entries. - (march=, mcpu=, mtune=): Add Save keyword. - * config/arm/arm.c (arm_option_save): Remove. - (TARGET_OPTION_SAVE): Don't redefine. - (arm_option_restore): Don't restore x_arm_*_string here. - -2020-09-14 Jakub Jelinek - - * opt-read.awk: Also initialize extra_target_var_types array. - * opth-gen.awk: Emit explicit_mask arrays to struct cl_optimization - and cl_target_option. Adjust cl_optimization_save, - cl_optimization_restore, cl_target_option_save and - cl_target_option_restore declarations. - * optc-save-gen.awk: Add opts_set argument to cl_optimization_save, - cl_optimization_restore, cl_target_option_save and - cl_target_option_restore functions and save or restore opts_set - next to the opts values into or from explicit_mask arrays. - In cl_target_option_eq and cl_optimization_option_eq compare - explicit_mask arrays, in cl_target_option_hash and cl_optimization_hash - hash them and in cl_target_option_stream_out, - cl_target_option_stream_in, cl_optimization_stream_out and - cl_optimization_stream_in stream them. - * tree.h (build_optimization_node, build_target_option_node): Add - opts_set argument. - * tree.c (build_optimization_node): Add opts_set argument, pass it - to cl_optimization_save. - (build_target_option_node): Add opts_set argument, pass it to - cl_target_option_save. - * function.c (invoke_set_current_function_hook): Adjust - cl_optimization_restore caller. - * ipa-inline-transform.c (inline_call): Adjust cl_optimization_restore - and build_optimization_node callers. - * target.def (TARGET_OPTION_SAVE, TARGET_OPTION_RESTORE): Add opts_set - argument. - * target-globals.c (save_target_globals_default_opts): Adjust - cl_optimization_restore callers. - * toplev.c (process_options): Adjust build_optimization_node and - cl_optimization_restore callers. - (target_reinit): Adjust cl_optimization_restore caller. - * tree-streamer-in.c (lto_input_ts_function_decl_tree_pointers): - Adjust build_optimization_node and cl_optimization_restore callers. - * doc/tm.texi: Updated. - * config/aarch64/aarch64.c (aarch64_override_options): Adjust - build_target_option_node caller. - (aarch64_option_save, aarch64_option_restore): Add opts_set argument. - (aarch64_set_current_function): Adjust cl_target_option_restore - caller. - (aarch64_option_valid_attribute_p): Adjust cl_target_option_save, - cl_target_option_restore, cl_optimization_restore, - build_optimization_node and build_target_option_node callers. - * config/aarch64/aarch64-c.c (aarch64_pragma_target_parse): Adjust - cl_target_option_restore and build_target_option_node callers. - * config/arm/arm.c (arm_option_save, arm_option_restore): Add - opts_set argument. - (arm_option_override): Adjust cl_target_option_save, - build_optimization_node and build_target_option_node callers. - (arm_set_current_function): Adjust cl_target_option_restore caller. - (arm_valid_target_attribute_tree): Adjust build_target_option_node - caller. - (add_attribute): Formatting fix. - (arm_valid_target_attribute_p): Adjust cl_optimization_restore, - cl_target_option_restore, arm_valid_target_attribute_tree and - build_optimization_node callers. - * config/arm/arm-c.c (arm_pragma_target_parse): Adjust - cl_target_option_restore callers. - * config/csky/csky.c (csky_option_override): Adjust - build_target_option_node and cl_target_option_save callers. - * config/gcn/gcn.c (gcn_fixup_accel_lto_options): Adjust - build_optimization_node and cl_optimization_restore callers. - * config/i386/i386-builtins.c (get_builtin_code_for_version): - Adjust cl_target_option_save and cl_target_option_restore - callers. - * config/i386/i386-c.c (ix86_pragma_target_parse): Adjust - build_target_option_node and cl_target_option_restore callers. - * config/i386/i386-options.c (ix86_function_specific_save, - ix86_function_specific_restore): Add opts_set arguments. - (ix86_valid_target_attribute_tree): Adjust build_target_option_node - caller. - (ix86_valid_target_attribute_p): Adjust build_optimization_node, - cl_optimization_restore, cl_target_option_restore, - ix86_valid_target_attribute_tree and build_optimization_node callers. - (ix86_option_override_internal): Adjust build_target_option_node - caller. - (ix86_reset_previous_fndecl, ix86_set_current_function): Adjust - cl_target_option_restore callers. - * config/i386/i386-options.h (ix86_function_specific_save, - ix86_function_specific_restore): Add opts_set argument. - * config/nios2/nios2.c (nios2_option_override): Adjust - build_target_option_node caller. - (nios2_option_save, nios2_option_restore): Add opts_set argument. - (nios2_valid_target_attribute_tree): Adjust build_target_option_node - caller. - (nios2_valid_target_attribute_p): Adjust build_optimization_node, - cl_optimization_restore, cl_target_option_save and - cl_target_option_restore callers. - (nios2_set_current_function, nios2_pragma_target_parse): Adjust - cl_target_option_restore callers. - * config/pru/pru.c (pru_option_override): Adjust - build_target_option_node caller. - (pru_set_current_function): Adjust cl_target_option_restore - callers. - * config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust - cl_target_option_save caller. - (rs6000_option_override_internal): Adjust build_target_option_node - caller. - (rs6000_valid_attribute_p): Adjust build_optimization_node, - cl_optimization_restore, cl_target_option_save, - cl_target_option_restore and build_target_option_node callers. - (rs6000_pragma_target_parse): Adjust cl_target_option_restore and - build_target_option_node callers. - (rs6000_activate_target_options): Adjust cl_target_option_restore - callers. - (rs6000_function_specific_save, rs6000_function_specific_restore): - Add opts_set argument. - * config/s390/s390.c (s390_function_specific_restore): Likewise. - (s390_option_override_internal): Adjust s390_function_specific_restore - caller. - (s390_option_override, s390_valid_target_attribute_tree): Adjust - build_target_option_node caller. - (s390_valid_target_attribute_p): Adjust build_optimization_node, - cl_optimization_restore and cl_target_option_restore callers. - (s390_activate_target_options): Adjust cl_target_option_restore - caller. - * config/s390/s390-c.c (s390_cpu_cpp_builtins): Adjust - cl_target_option_save caller. - (s390_pragma_target_parse): Adjust build_target_option_node and - cl_target_option_restore callers. - -2020-09-13 Roger Sayle - - * config/pa/pa.c (hppa_rtx_costs) [ASHIFT, ASHIFTRT, LSHIFTRT]: - Provide accurate costs for DImode shifts of integer constants. - -2020-09-12 Roger Sayle - John David Anglin - - * config/pa/pa.md (shrpsi4_1, shrpsi4_2): New define_insns split - out from previous shrpsi4 providing two commutitive variants using - plus_xor_ior_operator as a predicate. - (shrpdi4_1, shrpdi4_2, shrpdi_3, shrpdi_4): Likewise DImode versions - where _1 and _2 take register shifts, and _3 and _4 for integers. - (rotlsi3_internal): Name this anonymous instruction. - (rotrdi3): New DImode insn copied from rotrsi3. - (rotldi3): New DImode expander copied from rotlsi3. - (rotldi4_internal): New DImode insn copied from rotsi3_internal. - -2020-09-11 Michael Meissner - - * config/rs6000/rs6000.c (rs6000_maybe_emit_maxc_minc): Rename - from rs6000_emit_p9_fp_minmax. Change return type to bool. Add - comments to document NaN/signed zero behavior. - (rs6000_maybe_emit_fp_cmove): Rename from rs6000_emit_p9_fp_cmove. - (have_compare_and_set_mask): New helper function. - (rs6000_emit_cmove): Update calls to new names and the new helper - function. - -2020-09-11 Nathan Sidwell - - * config/i386/sse.md (mov): Fix operand indices. - -2020-09-11 Martin Sebor - - PR middle-end/96903 - * builtins.c (compute_objsize): Remove incorrect offset adjustment. - (compute_objsize): Adjust offset range here instead. - -2020-09-11 Richard Biener - - PR tree-optimization/97020 - * tree-vect-slp.c (vect_slp_analyze_operations): Apply - SLP costs when doing loop vectorization. - -2020-09-11 Tom de Vries - - PR target/96964 - * config/nvptx/nvptx.md (define_expand "atomic_test_and_set"): New - expansion. - -2020-09-11 Andrew Stubbs - - * config/gcn/gcn.c (gcn_hard_regno_mode_ok): Align TImode registers. - * config/gcn/gcn.md: Assert that TImode registers do not early clobber. - -2020-09-11 Richard Biener - - * tree-vectorizer.h (_slp_instance::location): New method. - (vect_schedule_slp): Adjust prototype. - * tree-vectorizer.c (vec_info::remove_stmt): Adjust - the BB region begin if we removed the stmt it points to. - * tree-vect-loop.c (vect_transform_loop): Adjust. - * tree-vect-slp.c (_slp_instance::location): Implement. - (vect_analyze_slp_instance): For BB vectorization set - vect_location to that of the instance. - (vect_slp_analyze_operations): Likewise. - (vect_bb_vectorization_profitable_p): Remove wrapper. - (vect_slp_analyze_bb_1): Remove cost check here. - (vect_slp_region): Cost check and code generate subgraphs separately, - report optimized locations and missed optimizations due to - profitability for each of them. - (vect_schedule_slp): Get the vector of SLP graph entries to - vectorize as argument. - -2020-09-11 Richard Biener - - PR tree-optimization/97013 - * tree-vect-slp.c (vect_slp_analyze_bb_1): Remove duplicate dumping. - -2020-09-11 Richard Biener - - * tree-vect-slp.c (vect_build_slp_tree_1): Check vector - types for all lanes are compatible. - (vect_analyze_slp_instance): Appropriately check for stores. - (vect_schedule_slp): Likewise. - -2020-09-11 Tom de Vries - - * config/nvptx/nvptx.c (nvptx_assemble_value): Fix undefined - behaviour. - -2020-09-11 Tom de Vries - - * config/nvptx/nvptx.c (nvptx_assemble_value): Handle negative - __int128. - -2020-09-11 Aaron Sawdey - - * config/rs6000/rs6000.c (rs6000_option_override_internal): - Change default. - -2020-09-10 Michael Meissner - - * config/rs6000/rs6000-protos.h (rs6000_emit_cmove): Change return - type to bool. - (rs6000_emit_int_cmove): Change return type to bool. - * config/rs6000/rs6000.c (rs6000_emit_cmove): Change return type - to bool. - (rs6000_emit_int_cmove): Change return type to bool. - -2020-09-10 Tom de Vries - - PR target/97004 - * config/nvptx/nvptx.c (nvptx_assemble_value): Handle shift by - number of bits in shift operand. - -2020-09-10 Jakub Jelinek - - * lto-streamer-out.c (collect_block_tree_leafs): Recurse on - root rather than BLOCK_SUBBLOCKS (root). - -2020-09-10 Alex Coplan - - * config/aarch64/aarch64-cores.def: Add Cortex-R82. - * config/aarch64/aarch64-tune.md: Regenerate. - * doc/invoke.texi: Add entry for Cortex-R82. - -2020-09-10 Alex Coplan - - * common/config/aarch64/aarch64-common.c - (aarch64_get_extension_string_for_isa_flags): Don't force +crc for - Armv8-R. - * config/aarch64/aarch64-arches.def: Add entry for Armv8-R. - * config/aarch64/aarch64-c.c (aarch64_define_unconditional_macros): Set - __ARM_ARCH_PROFILE correctly for Armv8-R. - * config/aarch64/aarch64.h (AARCH64_FL_V8_R): New. - (AARCH64_FL_FOR_ARCH8_R): New. - (AARCH64_ISA_V8_R): New. - * doc/invoke.texi: Add Armv8-R to architecture table. - -2020-09-10 Jakub Jelinek - - * config/arm/arm.c (arm_override_options_after_change_1): Add opts_set - argument, test opts_set->x_str_align_functions rather than - opts->x_str_align_functions. - (arm_override_options_after_change, arm_option_override_internal, - arm_set_current_function): Adjust callers. - -2020-09-10 Jakub Jelinek - - PR target/96939 - * config/arm/arm.c (arm_override_options_after_change): Don't call - arm_configure_build_target here. - (arm_set_current_function): Call arm_override_options_after_change_1 - at the end. - -2020-09-10 Pat Haugen - - * config/rs6000/rs6000.md - (lfiwzx, floatunssi2_lfiwzx, p8_mtvsrwz, p8_mtvsrd_sf): Fix insn - type. - * config/rs6000/vsx.md - (vsx_concat_, vsx_splat__reg, vsx_splat_v4sf): Likewise. - -2020-09-10 Jonathan Yong <10walls@gmail.com> - - * config.host: Adjust plugin name for Windows. - -2020-09-10 Tom de Vries - - PR tree-optimization/97000 - * tree-cfgcleanup.c (cleanup_call_ctrl_altering_flag): Don't clear - flag for IFN_UNIQUE. - -2020-09-10 Jakub Jelinek - - PR debug/93865 - * lto-streamer.h (struct output_block): Add emit_pwd member. - * lto-streamer-out.c: Include toplev.h. - (clear_line_info): Set emit_pwd. - (lto_output_location_1): Encode the ob->current_file != xloc.file - bit directly into the location number. If changing file, emit - additionally a bit whether pwd is emitted and emit it before the - first relative pathname since clear_line_info. - (output_function, output_constructor): Don't call clear_line_info - here. - * lto-streamer-in.c (struct string_pair_map): New type. - (struct string_pair_map_hasher): New type. - (string_pair_map_hasher::hash): New method. - (string_pair_map_hasher::equal): New method. - (path_name_pair_hash_table, string_pair_map_allocator): New variables. - (relative_path_prefix, canon_relative_path_prefix, - canon_relative_file_name): New functions. - (canon_file_name): Add relative_prefix argument, if non-NULL - and string is a relative path, return canon_relative_file_name. - (lto_location_cache::input_location_and_block): Decode file change - bit from the location number. If changing file, unpack bit whether - pwd is streamed and stream in pwd. Adjust canon_file_name caller. - (lto_free_file_name_hash): Delete path_name_pair_hash_table - and string_pair_map_allocator. - -2020-09-10 Richard Biener - - PR tree-optimization/96043 - * tree-vectorizer.h (_slp_instance::cost_vec): New. - (_slp_instance::subgraph_entries): Likewise. - (BB_VINFO_TARGET_COST_DATA): Remove. - * tree-vect-slp.c (vect_free_slp_instance): Free - cost_vec and subgraph_entries. - (vect_analyze_slp_instance): Initialize them. - (vect_slp_analyze_operations): Defer passing costs to - the target, instead record them in the SLP graph entry. - (get_ultimate_leader): New helper for graph partitioning. - (vect_bb_partition_graph_r): Likewise. - (vect_bb_partition_graph): New function to partition the - SLP graph into independently costable parts. - (vect_bb_vectorization_profitable_p): Adjust to work on - a subgraph. - (vect_bb_vectorization_profitable_p): New wrapper, - discarding non-profitable vectorization of subgraphs. - (vect_slp_analyze_bb_1): Call vect_bb_partition_graph before - costing. - -2020-09-09 David Malcolm - - PR analyzer/94355 - * doc/invoke.texi: Document -Wanalyzer-mismatching-deallocation. - -2020-09-09 Segher Boessenkool - - PR rtl-optimization/96475 - * bb-reorder.c (maybe_duplicate_computed_goto): Remove single_pred_p - micro-optimization. - -2020-09-09 Tom de Vries - - * config/nvptx/nvptx.c (nvptx_assemble_decl_begin): Fix Wformat - warning. - -2020-09-09 Richard Biener - - * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Do - nothing when the permutation doesn't permute. - -2020-09-09 Tom de Vries - - PR target/96991 - * config/nvptx/nvptx.c (write_fn_proto): Fix boolean type check. - -2020-09-09 Richard Biener - - * tree-vect-stmts.c (vectorizable_comparison): Allow - STMT_VINFO_LIVE_P stmts. - -2020-09-09 Richard Biener - - * tree-vect-stmts.c (vectorizable_condition): Allow - STMT_VINFO_LIVE_P stmts. - -2020-09-09 Richard Biener - - PR tree-optimization/96978 - * tree-vect-stmts.c (vectorizable_condition): Do not - look at STMT_VINFO_LIVE_P for BB vectorization. - (vectorizable_comparison): Likewise. - -2020-09-09 liuhongt - - PR target/96955 - * config/i386/i386.md (get_thread_pointer): New - expander. - -2020-09-08 Julian Brown - - * config/gcn/gcn-valu.md (scatter_insn_1offset_ds): - Add waitcnt. - * config/gcn/gcn.md (*mov_insn, *movti_insn): Add waitcnt to - ds_write alternatives. - -2020-09-08 Julian Brown - - * config/gcn/mkoffload.c (process_asm): Initialise regcount. Update - scanning for SGPR/VGPR usage for HSACO v3. - -2020-09-08 Aldy Hernandez - - PR tree-optimization/96967 - * tree-vrp.c (find_case_label_range): Cast label range to - type of switch operand. - -2020-09-08 Jozef Lawrynowicz - - * config/msp430/msp430.c (msp430_file_end): Fix jumbled - HAVE_AS_MSPABI_ATTRIBUTE and HAVE_AS_GNU_ATTRIBUTE checks. - * configure: Regenerate. - * configure.ac: Use ".mspabi_attribute 4,2" to check for assembler - support for this object attribute directive. - -2020-09-08 Jozef Lawrynowicz - - * common/config/msp430/msp430-common.c (msp430_handle_option): Remove - OPT_mcpu_ handling. - Set target_cpu value to new enum values when parsing certain -mmcu= - values. - * config/msp430/msp430-opts.h (enum msp430_cpu_types): New. - * config/msp430/msp430.c (msp430_option_override): Handle new - target_cpu enum values. - Set target_cpu using extracted value for given MCU when -mcpu= - option is not passed by the user. - * config/msp430/msp430.opt: Handle -mcpu= values using enums. - -2020-09-07 Richard Sandiford - - PR rtl-optimization/96796 - * lra-constraints.c (in_class_p): Add a default-false - allow_all_reload_class_changes_p parameter. Do not treat - reload moves specially when the parameter is true. - (get_reload_reg): Try to narrow the class of an existing OP_OUT - reload if we're reloading a reload pseudo in a reload instruction. - -2020-09-07 Andrea Corallo - - * tree-vect-loop.c (vect_estimate_min_profitable_iters): Revert - dead-code removal introduced by 09fa6acd8d9 + add a comment to - clarify. - -2020-09-07 Jozef Lawrynowicz - - * doc/rtl.texi (subreg): Fix documentation to state there is a known - number of undefined bits in regs and subregs of MODE_PARTIAL_INT modes. - -2020-09-07 Jozef Lawrynowicz - - * config/msp430/msp430.c (msp430_option_override): Don't set the - ISA to 430 when the MCU is unrecognized. - -2020-09-07 Iain Sandoe - - * config/darwin.c (darwin_libc_has_function): Report sincos - available from 10.9. - -2020-09-07 Alex Coplan - - * config/aarch64/aarch64.md (*adds_mul_imm_): Delete. - (*subs_mul_imm_): Delete. - (*adds__multp2): Delete. - (*subs__multp2): Delete. - (*add_mul_imm_): Delete. - (*add__mult_): Delete. - (*add__mult_si_uxtw): Delete. - (*add__multp2): Delete. - (*add_si_multp2_uxtw): Delete. - (*add_uxt_multp2): Delete. - (*add_uxtsi_multp2_uxtw): Delete. - (*sub_mul_imm_): Delete. - (*sub_mul_imm_si_uxtw): Delete. - (*sub__multp2): Delete. - (*sub_si_multp2_uxtw): Delete. - (*sub_uxt_multp2): Delete. - (*sub_uxtsi_multp2_uxtw): Delete. - (*neg_mul_imm_2): Delete. - (*neg_mul_imm_si2_uxtw): Delete. - * config/aarch64/predicates.md (aarch64_pwr_imm3): Delete. - (aarch64_pwr_2_si): Delete. - (aarch64_pwr_2_di): Delete. - -2020-09-07 Alex Coplan - - * config/aarch64/aarch64.md - (*adds__): Ensure extended operand - agrees with width of extension specifier. - (*subs__): Likewise. - (*adds__shift_): Likewise. - (*subs__shift_): Likewise. - (*add__): Likewise. - (*add__shft_): Likewise. - (*add_uxt_shift2): Likewise. - (*sub__): Likewise. - (*sub__shft_): Likewise. - (*sub_uxt_shift2): Likewise. - (*cmp_swp__reg): Likewise. - (*cmp_swp__shft_): Likewise. - -2020-09-07 Richard Biener - - * tree-vect-slp.c (vect_analyze_slp_instance): Dump - stmts we start SLP analysis from, failure and splitting. - (vect_schedule_slp): Dump SLP graph entry and root stmt - we are about to emit code for. - -2020-09-07 Martin Storsjö - - * dwarf2out.c (file_name_acquire): Make a strchr return value - pointer to const. - -2020-09-07 Jakub Jelinek - - PR debug/94235 - * lto-streamer-out.c (output_cfg): Also stream goto_locus for edges. - Use bp_pack_var_len_unsigned instead of streamer_write_uhwi to stream - e->dest->index and e->flags. - (output_function): Call output_cfg before output_ssa_name, rather than - after streaming all bbs. - * lto-streamer-in.c (input_cfg): Stream in goto_locus for edges. - Use bp_unpack_var_len_unsigned instead of streamer_read_uhwi to stream - in dest_index and edge_flags. - -2020-09-07 Richard Biener - - * tree-vectorizer.h (vectorizable_live_operation): Adjust. - * tree-vect-loop.c (vectorizable_live_operation): Vectorize - live lanes out of basic-block vectorization nodes. - * tree-vect-slp.c (vect_bb_slp_mark_live_stmts): New function. - (vect_slp_analyze_operations): Analyze live lanes and their - vectorization possibility after the whole SLP graph is final. - (vect_bb_slp_scalar_cost): Adjust for vectorized live lanes. - * tree-vect-stmts.c (can_vectorize_live_stmts): Adjust. - (vect_transform_stmt): Call can_vectorize_live_stmts also for - basic-block vectorization. - -2020-09-04 Richard Biener - - PR tree-optimization/96698 - PR tree-optimization/96920 - * tree-vectorizer.h (loop_vec_info::reduc_latch_defs): Remove. - (loop_vec_info::reduc_latch_slp_defs): Likewise. - * tree-vect-stmts.c (vect_transform_stmt): Remove vectorized - cycle PHI latch code. - * tree-vect-loop.c (maybe_set_vectorized_backedge_value): New - helper to set vectorized cycle PHI latch values. - (vect_transform_loop): Walk over all PHIs again after - vectorizing them, calling maybe_set_vectorized_backedge_value. - Call maybe_set_vectorized_backedge_value for each vectorized - stmt. Remove delayed update code. - * tree-vect-slp.c (vect_analyze_slp_instance): Initialize - SLP instance reduc_phis member. - (vect_schedule_slp): Set vectorized cycle PHI latch values. - -2020-09-04 Andrea Corallo - - * tree-vect-loop.c (vect_estimate_min_profitable_iters): Remove - dead code as LOOP_VINFO_USING_PARTIAL_VECTORS_P (loop_vinfo) is - always verified. - -2020-09-04 Christophe Lyon - - PR target/96769 - * config/arm/thumb1.md: Move movsi splitter for - arm_disable_literal_pool after the other movsi splitters. - -2020-09-04 Aldy Hernandez - - * range-op.cc (range_operator::fold_range): Rename widest_irange - to int_range_max. - (operator_div::wi_fold): Same. - (operator_lshift::op1_range): Same. - (operator_rshift::op1_range): Same. - (operator_cast::fold_range): Same. - (operator_cast::op1_range): Same. - (operator_bitwise_and::remove_impossible_ranges): Same. - (operator_bitwise_and::op1_range): Same. - (operator_abs::op1_range): Same. - (range_cast): Same. - (widest_irange_tests): Same. - (range3_tests): Rename irange3 to int_range3. - (int_range_max_tests): Rename from widest_irange_tests. - Rename widest_irange to int_range_max. - (operator_tests): Rename widest_irange to int_range_max. - (range_tests): Same. - * tree-vrp.c (find_case_label_range): Same. - * value-range.cc (irange::irange_intersect): Same. - (irange::invert): Same. - * value-range.h: Same. - -2020-09-04 Richard Biener - - PR tree-optimization/96931 - * tree-cfgcleanup.c (cleanup_call_ctrl_altering_flag): If - there's a fallthru edge and no abnormal edge the call is - no longer control-altering. - (cleanup_control_flow_bb): Pass down the BB to - cleanup_call_ctrl_altering_flag. - -2020-09-04 Jakub Jelinek - - * lto-streamer.h (stream_input_location_now): Remove declaration. - * lto-streamer-in.c (stream_input_location_now): Remove. - (input_eh_region, input_struct_function_base): Use - stream_input_location instead of stream_input_location_now. - -2020-09-04 Jakub Jelinek - - * lto-streamer.h (struct output_block): Add reset_locus member. - * lto-streamer-out.c (clear_line_info): Set reset_locus to true. - (lto_output_location_1): If reset_locus, clear it and ensure - current_{file,line,col} is different from xloc members. - -2020-09-04 David Faust - - * config/bpf/bpf.h (ASM_SPEC): Pass -mxbpf to gas, if specified. - * config/bpf/bpf.c (bpf_output_call): Support indirect calls in xBPF. - -2020-09-03 Martin Jambor - - PR tree-optimization/96820 - * tree-sra.c (create_access): Disqualify candidates with accesses - beyond the end of the original aggregate. - (maybe_add_sra_candidate): Check that candidate type size fits - signed uhwi for the sake of consistency. - -2020-09-03 Will Schmidt - - * config/rs6000/rs6000-call.c (rs6000_init_builtin): Update V2DI_type_node - and unsigned_V2DI_type_node definitions. - -2020-09-03 Jakub Jelinek - - PR c++/96901 - * tree.h (struct decl_tree_traits): New type. - (decl_tree_map): New typedef. - -2020-09-03 Jakub Jelinek - - PR lto/94311 - * gimple.h (gimple_location_ptr, gimple_phi_arg_location_ptr): New - functions. - * streamer-hooks.h (struct streamer_hooks): Add - output_location_and_block callback. Fix up formatting for - output_location. - (stream_output_location_and_block): Define. - * lto-streamer.h (class lto_location_cache): Fix comment typo. Add - current_block member. - (lto_location_cache::input_location_and_block): New method. - (lto_location_cache::lto_location_cache): Initialize current_block. - (lto_location_cache::cached_location): Add block member. - (struct output_block): Add current_block member. - (lto_output_location): Formatting fix. - (lto_output_location_and_block): Declare. - * lto-streamer.c (lto_streamer_hooks_init): Initialize - streamer_hooks.output_location_and_block. - * lto-streamer-in.c (lto_location_cache::cmp_loc): Also compare - block members. - (lto_location_cache::apply_location_cache): Handle blocks. - (lto_location_cache::accept_location_cache, - lto_location_cache::revert_location_cache): Fix up function comments. - (lto_location_cache::input_location_and_block): New method. - (lto_location_cache::input_location): Implement using - input_location_and_block. - (input_function): Invoke apply_location_cache after streaming in all - bbs. - * lto-streamer-out.c (clear_line_info): Set current_block. - (lto_output_location_1): New function, moved from lto_output_location, - added block handling. - (lto_output_location): Implement using lto_output_location_1. - (lto_output_location_and_block): New function. - * gimple-streamer-in.c (input_phi): Use input_location_and_block - to input and cache both location and block. - (input_gimple_stmt): Likewise. - * gimple-streamer-out.c (output_phi): Use - stream_output_location_and_block. - (output_gimple_stmt): Likewise. - -2020-09-03 Richard Biener - - * tree-vect-generic.c (tree_vec_extract): Remove odd - special-casing of boolean vectors. - * fold-const.c (fold_ternary_loc): Handle boolean vector - type BIT_FIELD_REFs. - -2020-09-03 Hongtao Liu - - PR target/87767 - * config/i386/i386-features.c - (replace_constant_pool_with_broadcast): New function. - (constant_pool_broadcast): Ditto. - (class pass_constant_pool_broadcast): New pass. - (make_pass_constant_pool_broadcast): Ditto. - (remove_partial_avx_dependency): Call - replace_constant_pool_with_broadcast under TARGET_AVX512F, it - would save compile time when both pass rpad and cpb are - available. - (remove_partial_avx_dependency_gate): New function. - (class pass_remove_partial_avx_dependency::gate): Call - remove_partial_avx_dependency_gate. - * config/i386/i386-passes.def: Insert new pass after combine. - * config/i386/i386-protos.h - (make_pass_constant_pool_broadcast): Declare. - * config/i386/sse.md (*avx512dq_mul3_bcst): - New define_insn. - (*avx512f_mul3_bcst): Ditto. - * config/i386/avx512fintrin.h (_mm512_set1_ps, - _mm512_set1_pd,_mm512_set1_epi32, _mm512_set1_epi64): Adjusted. - -2020-09-02 Jonathan Wakely - - PR c++/60304 - * ginclude/stdbool.h (bool, false, true): Never define for C++. - -2020-09-02 Jozef Lawrynowicz - - * doc/invoke.texi (MSP430 options): Fix -mlarge description to - indicate size_t is a 20-bit type. - -2020-09-02 Roger Sayle - - * config/pa/pa.c (hppa_rtx_costs) [ASHIFT, ASHIFTRT, LSHIFTRT]: - Provide accurate costs for shifts of integer constants. - -2020-09-02 Jose E. Marchesi - - * config/bpf/bpf.c (bpf_asm_named_section): Delete. - (TARGET_ASM_NAMED_SECTION): Likewise. - -2020-09-02 Jose E. Marchesi - - * config.gcc: Use elfos.h in bpf-*-* targets. - * config/bpf/bpf.h (MAX_OFILE_ALIGNMENT): Remove definition. - (COMMON_ASM_OP): Likewise. - (INIT_SECTION_ASM_OP): Likewise. - (FINI_SECTION_ASM_OP): Likewise. - (ASM_OUTPUT_SKIP): Likewise. - (ASM_OUTPUT_ALIGNED_COMMON): Likewise. - (ASM_OUTPUT_ALIGNED_LOCAL): Likewise. - -2020-09-01 Martin Sebor - - * builtins.c (compute_objsize): Only replace the upper bound - of a POINTER_PLUS offset when it's less than the lower bound. - -2020-09-01 Peter Bergner - - PR target/96808 - * config/rs6000/rs6000-call.c (rs6000_gimple_fold_mma_builtin): Do not - reuse accumulator memory reference for source and destination accesses. - -2020-09-01 Martin Liska - - * cfgrtl.c (rtl_create_basic_block): Use default value for - growth vector function. - * gimple.c (gimple_set_bb): Likewise. - * symbol-summary.h: Likewise. - * tree-cfg.c (init_empty_tree_cfg_for_function): Likewise. - (build_gimple_cfg): Likewise. - (create_bb): Likewise. - (move_block_to_fn): Likewise. - -2020-09-01 Martin Liska - - * vec.h (vec_safe_grow): Change default of exact to false. - (vec_safe_grow_cleared): Likewise. - -2020-09-01 Roger Sayle - - PR middle-end/90597 - * targhooks.c (default_vector_alignment): Return at least the - GET_MODE_ALIGNMENT for the type's mode. - -2020-09-01 Richard Biener - - PR rtl-optimization/96812 - * tree-ssa-address.c (copy_ref_info): Also copy dependence info. - * cfgrtl.h (duplicate_insn_chain): Adjust prototype. - * cfgrtl.c (duplicate_insn_chain): Remap dependence info - if requested. - (cfg_layout_duplicate_bb): Make sure we remap dependence info. - * modulo-sched.c (duplicate_insns_of_cycles): Remap dependence - info. - (generate_prolog_epilog): Adjust. - * config/c6x/c6x.c (hwloop_optimize): Remap dependence info. - -2020-09-01 Kewen Lin - - * doc/sourcebuild.texi (has_arch_pwr5, has_arch_pwr6, has_arch_pwr7, - has_arch_pwr8, has_arch_pwr9): Document. - -2020-08-31 Carl Love - - PR target/85830 - * config/rs6000/altivec.h (vec_popcntb, vec_popcnth, vec_popcntw, - vec_popcntd): Remove defines. - -2020-08-31 Marek Polacek - Jason Merrill - - PR c++/93529 - * tree.c (build_constructor_from_vec): New. - * tree.h (build_constructor_from_vec): Declare. - -2020-08-31 Aldy Hernandez - - PR tree-optimization/96818 - * tree-vrp.c (find_case_label_range): Cast label range to - type of switch operand. - -2020-08-31 liuhongt - - PR target/96551 - * config/i386/sse.md (vec_unpacku_float_hi_v16si): For vector - compare to integer mask, don't use gen_rtx_LT, use - ix86_expand_mask_vec_cmp instead. - (vec_unpacku_float_hi_v16si): Ditto. - -2020-08-31 Jakub Jelinek - - * tree-cfg.c (verify_gimple_switch): If the first non-default case - label has CASE_HIGH, verify it has the same type as CASE_LOW. - -2020-08-31 Feng Xue - - PR ipa/96806 - * ipa-cp.c (decide_about_value): Use safe_add to avoid cost addition - overflow. - -2020-08-31 Jakub Jelinek - - PR middle-end/54201 - * varasm.c: Include alloc-pool.h. - (output_constant_pool_contents): Emit desc->mark < 0 entries as - aliases. - (struct constant_descriptor_rtx_data): New type. - (constant_descriptor_rtx_data_cmp): New function. - (struct const_rtx_data_hasher): New type. - (const_rtx_data_hasher::hash, const_rtx_data_hasher::equal): New - methods. - (optimize_constant_pool): New function. - (output_shared_constant_pool): Call it if TARGET_SUPPORTS_ALIASES. - -2020-08-31 Kewen Lin - - * doc/sourcebuild.texi (vect_len_load_store, - vect_partial_vectors_usage_1, vect_partial_vectors_usage_2, - vect_partial_vectors): Document. - -2020-08-30 Martin Sebor - - * builtins.c (access_ref::access_ref): Call get_size_range instead - of get_range. - -2020-08-30 Jakub Jelinek - - * config/i386/sse.md (ssse3_pshufbv8qi): Use gen_int_mode instead of - GEN_INT, and ix86_build_const_vector instead of gen_rtvec and - gen_rtx_CONT_VECTOR. - -2020-08-29 Bill Schmidt - - * config/rs6000/rs6000-builtin.def (MASK_FOR_STORE): Remove. - * config/rs6000/rs6000-call.c (rs6000_expand_builtin): Remove - all logic for ALTIVEC_BUILTIN_MASK_FOR_STORE. - -2020-08-28 Martin Sebor - - * attribs.c (init_attr_rdwr_indices): Use global access_mode. - * attribs.h (struct attr_access): Same. - * builtins.c (fold_builtin_strlen): Add argument. - (compute_objsize): Declare. - (get_range): Declare. - (check_read_access): New function. - (access_ref::access_ref): Define ctor. - (warn_string_no_nul): Add arguments. Handle -Wstrintop-overread. - (check_nul_terminated_array): Handle source strings of different - ranges of sizes. - (expand_builtin_strlen): Remove warning code, call check_read_access - instead. Declare locals closer to their initialization. - (expand_builtin_strnlen): Same. - (maybe_warn_for_bound): New function. - (warn_for_access): Remove argument. Handle -Wstrintop-overread. - (inform_access): Change argument type. - (get_size_range): New function. - (check_access): Remove unused arguments. Add new arguments. Handle - -Wstrintop-overread. Move warning code to helpers and call them. - Call check_nul_terminated_array. - (check_memop_access): Remove unnecessary and provide additional - arguments in calls. - (expand_builtin_memchr): Call check_read_access. - (expand_builtin_strcat): Remove unnecessary and provide additional - arguments in calls. - (expand_builtin_strcpy): Same. - (expand_builtin_strcpy_args): Same. Avoid testing no-warning bit. - (expand_builtin_stpcpy_1): Remove unnecessary and provide additional - arguments in calls. - (expand_builtin_stpncpy): Same. - (check_strncat_sizes): Same. - (expand_builtin_strncat): Remove unnecessary and provide additional - arguments in calls. Adjust comments. - (expand_builtin_strncpy): Remove unnecessary and provide additional - arguments in calls. - (expand_builtin_memcmp): Remove warning code. Call check_access. - (expand_builtin_strcmp): Call check_access instead of - check_nul_terminated_array. - (expand_builtin_strncmp): Handle -Wstrintop-overread. - (expand_builtin_fork_or_exec): Call check_access instead of - check_nul_terminated_array. - (expand_builtin): Same. - (fold_builtin_1): Pass additional argument. - (fold_builtin_n): Same. - (fold_builtin_strpbrk): Remove calls to check_nul_terminated_array. - (expand_builtin_memory_chk): Add comments. - (maybe_emit_chk_warning): Remove unnecessary and provide additional - arguments in calls. - (maybe_emit_sprintf_chk_warning): Same. Adjust comments. - * builtins.h (warn_string_no_nul): Add arguments. - (struct access_ref): Add member and ctor argument. - (struct access_data): Add members and ctor. - (check_access): Adjust signature. - * calls.c (maybe_warn_nonstring_arg): Return an indication of - whether a warning was issued. Issue -Wstrintop-overread instead - of -Wstringop-overflow. - (append_attrname): Adjust to naming changes. - (maybe_warn_rdwr_sizes): Same. Remove unnecessary and provide - additional arguments in calls. - * calls.h (maybe_warn_nonstring_arg): Return bool. - * doc/invoke.texi (-Wstringop-overread): Document new option. - * gimple-fold.c (gimple_fold_builtin_strcpy): Provide an additional - argument in call. - (gimple_fold_builtin_stpcpy): Same. - * tree-ssa-uninit.c (maybe_warn_pass_by_reference): Adjust to naming - changes. - * tree.h (enum access_mode): New type. - -2020-08-28 Bill Schmidt - - * config/rs6000/rs6000.c (rs6000_call_aix): Remove test for r12. - (rs6000_sibcall_aix): Likewise. - -2020-08-28 Andrew Stubbs - - * config/gcn/gcn-tree.c (gcn_goacc_get_worker_red_decl): Add "true" - parameter to vec_safe_grow_cleared. - -2020-08-28 Martin Sebor - - * ggc-common.c (gt_pch_save): Add argument to a call. - -2020-08-28 Przemyslaw Wirkus - - PR target/96357 - * config/aarch64/aarch64-sve.md - (cond_sub_relaxed_const): Updated and renamed from - cond_sub_any_const pattern. - (cond_sub_strict_const): New pattern. - -2020-08-28 Wei Wentao - - * doc/rtl.texi: Fix typo. - -2020-08-28 Uros Bizjak - - PR target/96744 - * config/i386/i386-expand.c (split_double_mode): Also handle - E_P2HImode and E_P2QImode. - * config/i386/sse.md (MASK_DWI): New define_mode_iterator. - (mov): New expander for P2HI,P2QI. - (*mov_internal): New define_insn_and_split to split - movement of P2QI/P2HI to 2 movqi/movhi patterns after reload. - -2020-08-28 liuhongt - - * common/config/i386/i386-common.c (ix86_handle_option): Set - AVX512DQ when AVX512VP2INTERSECT exists. - -2020-08-27 Jakub Jelinek - - PR target/65146 - * config/i386/i386.c (iamcu_alignment): Don't decrease alignment - for TYPE_ATOMIC types. - (ix86_local_alignment): Likewise. - (ix86_minimum_alignment): Likewise. - (x86_field_alignment): Likewise, and emit a -Wpsabi diagnostic - for it. - -2020-08-27 Bill Schmidt - - PR target/96787 - * config/rs6000/rs6000.c (rs6000_sibcall_aix): Support - indirect call for ELFv2. - -2020-08-27 Richard Biener - - PR tree-optimization/96522 - * tree-ssa-address.c (copy_ref_info): Reset flow-sensitive - info of the copied points-to. Transfer bigger alignment - via the access type. - * tree-ssa-sccvn.c (eliminate_dom_walker::eliminate_stmt): - Reset all flow-sensitive info. - -2020-08-27 Martin Liska - - * alias.c (init_alias_analysis): Set exact argument of a vector - growth function to true. - * calls.c (internal_arg_pointer_based_exp_scan): Likewise. - * cfgbuild.c (find_many_sub_basic_blocks): Likewise. - * cfgexpand.c (expand_asm_stmt): Likewise. - * cfgrtl.c (rtl_create_basic_block): Likewise. - * combine.c (combine_split_insns): Likewise. - (combine_instructions): Likewise. - * config/aarch64/aarch64-sve-builtins.cc (function_expander::add_output_operand): Likewise. - (function_expander::add_input_operand): Likewise. - (function_expander::add_integer_operand): Likewise. - (function_expander::add_address_operand): Likewise. - (function_expander::add_fixed_operand): Likewise. - * df-core.c (df_worklist_dataflow_doublequeue): Likewise. - * dwarf2cfi.c (update_row_reg_save): Likewise. - * early-remat.c (early_remat::init_block_info): Likewise. - (early_remat::finalize_candidate_indices): Likewise. - * except.c (sjlj_build_landing_pads): Likewise. - * final.c (compute_alignments): Likewise. - (grow_label_align): Likewise. - * function.c (temp_slots_at_level): Likewise. - * fwprop.c (build_single_def_use_links): Likewise. - (update_uses): Likewise. - * gcc.c (insert_wrapper): Likewise. - * genautomata.c (create_state_ainsn_table): Likewise. - (add_vect): Likewise. - (output_dead_lock_vect): Likewise. - * genmatch.c (capture_info::capture_info): Likewise. - (parser::finish_match_operand): Likewise. - * genrecog.c (optimize_subroutine_group): Likewise. - (merge_pattern_info::merge_pattern_info): Likewise. - (merge_into_decision): Likewise. - (print_subroutine_start): Likewise. - (main): Likewise. - * gimple-loop-versioning.cc (loop_versioning::loop_versioning): Likewise. - * gimple.c (gimple_set_bb): Likewise. - * graphite-isl-ast-to-gimple.c (translate_isl_ast_node_user): Likewise. - * haifa-sched.c (sched_extend_luids): Likewise. - (extend_h_i_d): Likewise. - * insn-addr.h (insn_addresses_new): Likewise. - * ipa-cp.c (gather_context_independent_values): Likewise. - (find_more_contexts_for_caller_subset): Likewise. - * ipa-devirt.c (final_warning_record::grow_type_warnings): Likewise. - (ipa_odr_read_section): Likewise. - * ipa-fnsummary.c (evaluate_properties_for_edge): Likewise. - (ipa_fn_summary_t::duplicate): Likewise. - (analyze_function_body): Likewise. - (ipa_merge_fn_summary_after_inlining): Likewise. - (read_ipa_call_summary): Likewise. - * ipa-icf.c (sem_function::bb_dict_test): Likewise. - * ipa-prop.c (ipa_alloc_node_params): Likewise. - (parm_bb_aa_status_for_bb): Likewise. - (ipa_compute_jump_functions_for_edge): Likewise. - (ipa_analyze_node): Likewise. - (update_jump_functions_after_inlining): Likewise. - (ipa_read_edge_info): Likewise. - (read_ipcp_transformation_info): Likewise. - (ipcp_transform_function): Likewise. - * ipa-reference.c (ipa_reference_write_optimization_summary): Likewise. - * ipa-split.c (execute_split_functions): Likewise. - * ira.c (find_moveable_pseudos): Likewise. - * lower-subreg.c (decompose_multiword_subregs): Likewise. - * lto-streamer-in.c (input_eh_regions): Likewise. - (input_cfg): Likewise. - (input_struct_function_base): Likewise. - (input_function): Likewise. - * modulo-sched.c (set_node_sched_params): Likewise. - (extend_node_sched_params): Likewise. - (schedule_reg_moves): Likewise. - * omp-general.c (omp_construct_simd_compare): Likewise. - * passes.c (pass_manager::create_pass_tab): Likewise. - (enable_disable_pass): Likewise. - * predict.c (determine_unlikely_bbs): Likewise. - * profile.c (compute_branch_probabilities): Likewise. - * read-rtl-function.c (function_reader::parse_block): Likewise. - * read-rtl.c (rtx_reader::read_rtx_code): Likewise. - * reg-stack.c (stack_regs_mentioned): Likewise. - * regrename.c (regrename_init): Likewise. - * rtlanal.c (T>::add_single_to_queue): Likewise. - * sched-deps.c (init_deps_data_vector): Likewise. - * sel-sched-ir.c (sel_extend_global_bb_info): Likewise. - (extend_region_bb_info): Likewise. - (extend_insn_data): Likewise. - * symtab.c (symtab_node::create_reference): Likewise. - * tracer.c (tail_duplicate): Likewise. - * trans-mem.c (tm_region_init): Likewise. - (get_bb_regions_instrumented): Likewise. - * tree-cfg.c (init_empty_tree_cfg_for_function): Likewise. - (build_gimple_cfg): Likewise. - (create_bb): Likewise. - (move_block_to_fn): Likewise. - * tree-complex.c (tree_lower_complex): Likewise. - * tree-if-conv.c (predicate_rhs_code): Likewise. - * tree-inline.c (copy_bb): Likewise. - * tree-into-ssa.c (get_ssa_name_ann): Likewise. - (mark_phi_for_rewrite): Likewise. - * tree-object-size.c (compute_builtin_object_size): Likewise. - (init_object_sizes): Likewise. - * tree-predcom.c (initialize_root_vars_store_elim_1): Likewise. - (initialize_root_vars_store_elim_2): Likewise. - (prepare_initializers_chain_store_elim): Likewise. - * tree-ssa-address.c (addr_for_mem_ref): Likewise. - (multiplier_allowed_in_address_p): Likewise. - * tree-ssa-coalesce.c (ssa_conflicts_new): Likewise. - * tree-ssa-forwprop.c (simplify_vector_constructor): Likewise. - * tree-ssa-loop-ivopts.c (addr_offset_valid_p): Likewise. - (get_address_cost_ainc): Likewise. - * tree-ssa-loop-niter.c (discover_iteration_bound_by_body_walk): Likewise. - * tree-ssa-pre.c (add_to_value): Likewise. - (phi_translate_1): Likewise. - (do_pre_regular_insertion): Likewise. - (do_pre_partial_partial_insertion): Likewise. - (init_pre): Likewise. - * tree-ssa-propagate.c (ssa_prop_init): Likewise. - (update_call_from_tree): Likewise. - * tree-ssa-reassoc.c (optimize_range_tests_cmp_bitwise): Likewise. - * tree-ssa-sccvn.c (vn_reference_lookup_3): Likewise. - (vn_reference_lookup_pieces): Likewise. - (eliminate_dom_walker::eliminate_push_avail): Likewise. - * tree-ssa-strlen.c (set_strinfo): Likewise. - (get_stridx_plus_constant): Likewise. - (zero_length_string): Likewise. - (find_equal_ptrs): Likewise. - (printf_strlen_execute): Likewise. - * tree-ssa-threadedge.c (set_ssa_name_value): Likewise. - * tree-ssanames.c (make_ssa_name_fn): Likewise. - * tree-streamer-in.c (streamer_read_tree_bitfields): Likewise. - * tree-vect-loop.c (vect_record_loop_mask): Likewise. - (vect_get_loop_mask): Likewise. - (vect_record_loop_len): Likewise. - (vect_get_loop_len): Likewise. - * tree-vect-patterns.c (vect_recog_mask_conversion_pattern): Likewise. - * tree-vect-slp.c (vect_slp_convert_to_external): Likewise. - (vect_bb_slp_scalar_cost): Likewise. - (vect_bb_vectorization_profitable_p): Likewise. - (vectorizable_slp_permutation): Likewise. - * tree-vect-stmts.c (vectorizable_call): Likewise. - (vectorizable_simd_clone_call): Likewise. - (scan_store_can_perm_p): Likewise. - (vectorizable_store): Likewise. - * expr.c: Likewise. - * vec.c (test_safe_grow_cleared): Likewise. - * vec.h (vec_safe_grow): Likewise. - (vec_safe_grow_cleared): Likewise. - (vl_ptr>::safe_grow): Likewise. - (vl_ptr>::safe_grow_cleared): Likewise. - * config/c6x/c6x.c (insn_set_clock): Likewise. - -2020-08-27 Richard Biener - - * tree-pretty-print.c (dump_mem_ref): Handle TARGET_MEM_REFs. - (dump_generic_node): Use dump_mem_ref also for TARGET_MEM_REF. - -2020-08-27 Alex Coplan - - * lra-constraints.c (canonicalize_reload_addr): New. - (curr_insn_transform): Use canonicalize_reload_addr to ensure we - generate canonical RTL for an address reload. - -2020-08-27 Zhiheng Xie - - * config/aarch64/aarch64-simd-builtins.def: Add proper FLAG - for rounding intrinsics. - -2020-08-27 Zhiheng Xie - - * config/aarch64/aarch64-simd-builtins.def: Add proper FLAG - for min/max intrinsics. - -2020-08-27 Richard Biener - - PR tree-optimization/96579 - * tree-ssa-reassoc.c (linearize_expr_tree): If we expand - rhs via special ops make sure to swap operands. - -2020-08-27 Richard Biener - - PR tree-optimization/96565 - * tree-ssa-dse.c (dse_classify_store): Remove defs with - no uses from further processing. - -2020-08-26 Göran Uddeborg - - PR gcov-profile/96285 - * common.opt, doc/invoke.texi: Clarify wording of - -fprofile-exclude-files and adjust -fprofile-filter-files to - match. - -2020-08-26 H.J. Lu - - PR target/96802 - * config/i386/i386-options.c (ix86_valid_target_attribute_inner_p): - Reject target("no-general-regs-only"). - -2020-08-26 Jozef Lawrynowicz - - * config/msp430/constraints.md (K): Change unused constraint to - constraint to a const_int between 1 and 19. - (P): New constraint. - * config/msp430/msp430-protos.h (msp430x_logical_shift_right): Remove. - (msp430_expand_shift): New. - (msp430_output_asm_shift_insns): New. - * config/msp430/msp430.c (msp430_rtx_costs): Remove shift costs. - (CSH): Remove. - (msp430_expand_helper): Remove hard-coded generation of some inline - shift insns. - (use_helper_for_const_shift): New. - (msp430_expand_shift): New. - (msp430_output_asm_shift_insns): New. - (msp430_print_operand): Add new 'W' operand selector. - (msp430x_logical_shift_right): Remove. - * config/msp430/msp430.md (HPSI): New define_mode_iterator. - (HDI): Likewise. - (any_shift): New define_code_iterator. - (shift_insn): New define_code_attr. - Adjust unnamed insn patterns searched for by combine. - (ashlhi3): Remove. - (slli_1): Remove. - (430x_shift_left): Remove. - (slll_1): Remove. - (slll_2): Remove. - (ashlsi3): Remove. - (ashldi3): Remove. - (ashrhi3): Remove. - (srai_1): Remove. - (430x_arithmetic_shift_right): Remove. - (srap_1): Remove. - (srap_2): Remove. - (sral_1): Remove. - (sral_2): Remove. - (ashrsi3): Remove. - (ashrdi3): Remove. - (lshrhi3): Remove. - (srli_1): Remove. - (430x_logical_shift_right): Remove. - (srlp_1): Remove. - (srll_1): Remove. - (srll_2x): Remove. - (lshrsi3): Remove. - (lshrdi3): Remove. - (3): New define_expand. - (hi3_430): New define_insn. - (si3_const): Likewise. - (ashl3_430x): Likewise. - (ashr3_430x): Likewise. - (lshr3_430x): Likewise. - (*bitbranch4_z): Replace renamed predicate msp430_bitpos with - const_0_to_15_operand. - * config/msp430/msp430.opt: New option -mmax-inline-shift=. - * config/msp430/predicates.md (const_1_to_8_operand): New predicate. - (const_0_to_15_operand): Rename msp430_bitpos predicate. - (const_1_to_19_operand): New predicate. - * doc/invoke.texi: Document -mmax-inline-shift=. - -2020-08-26 Aldy Hernandez - - * tree-ssa-dom.c (simplify_stmt_for_jump_threading): Abstract code out to... - * tree-vrp.c (find_case_label_range): ...here. Rewrite for to use irange - API. - (simplify_stmt_for_jump_threading): Call find_case_label_range instead of - duplicating the code in simplify_stmt_for_jump_threading. - * tree-vrp.h (find_case_label_range): New prototype. - -2020-08-26 Richard Biener - - PR tree-optimization/96698 - * tree-vectorizer.h (loop_vec_info::reduc_latch_defs): New. - (loop_vec_info::reduc_latch_slp_defs): Likewise. - * tree-vect-stmts.c (vect_transform_stmt): Only record - stmts to update PHI latches from, perform the update ... - * tree-vect-loop.c (vect_transform_loop): ... here after - vectorizing those PHIs. - (info_for_reduction): Properly handle non-reduction PHIs. - -2020-08-26 Martin Liska - - * cgraphunit.c (process_symver_attribute): Match only symver - TREE_PURPOSE. - -2020-08-26 Richard Biener - - PR tree-optimization/96783 - * tree-vect-stmts.c (get_group_load_store_type): Use - VMAT_ELEMENTWISE for negative strides when we cannot - use VMAT_STRIDED_SLP. - -2020-08-26 Martin Liska - - * doc/invoke.texi: Document how are pie and pic options merged. - -2020-08-26 Zhiheng Xie - - * config/aarch64/aarch64-simd-builtins.def: Add proper FLAG - for add/sub arithmetic intrinsics. - -2020-08-26 Jakub Jelinek - - PR debug/96729 - * dwarf2out.c (dwarf2out_next_real_insn): Adjust function comment. - (dwarf2out_var_location): Look for next_note only if next_real is - non-NULL, in that case look for the first non-deleted - NOTE_INSN_VAR_LOCATION between loc_note and next_real, if any. - -2020-08-26 Iain Buclaw - - * config/tilepro/gen-mul-tables.cc (main): Define IN_TARGET_CODE to 1 - in the target file. - -2020-08-26 Martin Liska - - * cgraphunit.c (process_symver_attribute): Allow multiple - symver attributes for one symbol. - * doc/extend.texi: Document the change. - -2020-08-25 H.J. Lu - - PR target/95863 - * config/i386/i386.h (CTZ_DEFINED_VALUE_AT_ZERO): Return 0/2. - (CLZ_DEFINED_VALUE_AT_ZERO): Likewise. - -2020-08-25 Roger Sayle - - PR middle-end/87256 - * config/pa/pa.c (hppa_rtx_costs_shadd_p): New helper function - to check for coefficients supported by shNadd and shladd,l. - (hppa_rtx_costs): Rewrite to avoid using estimates based upon - FACTOR and enable recursing deeper into RTL expressions. - -2020-08-25 Roger Sayle - - * config/pa/pa.md (ashldi3): Additionally, on !TARGET_64BIT - generate a two instruction shd/zdep sequence when shifting - registers by suitable constants. - (shd_internal): New define_expand to provide gen_shd_internal. - -2020-08-25 Richard Sandiford - - * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Rename - __ARM_FEATURE_SVE_VECTOR_OPERATIONS to - __ARM_FEATURE_SVE_VECTOR_OPERATORS. - -2020-08-25 Richard Sandiford - - * config/aarch64/aarch64-sve-builtins.cc (add_sve_type_attribute): - Take the ACLE name of the type as a parameter and add it as fourth - argument to the "SVE type" attribute. - (register_builtin_types): Update call accordingly. - (register_tuple_type): Likewise. Construct the name of the type - earlier in order to do this. - (get_arm_sve_vector_bits_attributes): New function. - (handle_arm_sve_vector_bits_attribute): Report a more sensible - error message if the attribute is applied to an SVE tuple type. - Don't allow the attribute to be applied to an existing fixed-length - SVE type. Mangle the new type as __SVE_VLS. - Add a dummy TYPE_DECL to the new type. - -2020-08-25 Richard Sandiford - - * config/aarch64/aarch64-sve-builtins.cc (DEF_SVE_TYPE): Add a - leading "u" to each mangled name. - -2020-08-25 Richard Biener - - PR tree-optimization/96548 - PR tree-optimization/96760 - * tree-ssa-loop-im.c (tree_ssa_lim): Recompute RPO after - store-motion. - -2020-08-25 Jakub Jelinek - - PR tree-optimization/96722 - * gimple.c (infer_nonnull_range): Formatting fix. - (infer_nonnull_range_by_dereference): Return false for clobber stmts. - -2020-08-25 Jakub Jelinek - - PR tree-optimization/96758 - * tree-ssa-strlen.c (handle_builtin_string_cmp): If both cstlen1 - and cstlen2 are set, set cmpsiz to their minimum, otherwise use the - one that is set. If bound is used and smaller than cmpsiz, set cmpsiz - to bound. If both cstlen1 and cstlen2 are set, perform the optimization. - -2020-08-25 Martin Jambor - - PR tree-optimization/96730 - * tree-sra.c (create_access): Disqualify any aggregate with negative - offset access. - (build_ref_for_model): Add assert that offset is non-negative. - -2020-08-25 Wei Wentao - - * rtl.def: Fix typo in comment. - -2020-08-25 Roger Sayle - - PR tree-optimization/21137 - * fold-const.c (fold_binary_loc) [NE_EXPR/EQ_EXPR]: Call - STRIP_NOPS when checking whether to simplify ((x>>C1)&C2) != 0. - -2020-08-25 Andrew Pinski - - PR middle-end/64242 - * config/mips/mips.md (builtin_longjmp): Restore the frame - pointer and stack pointer and gp. - -2020-08-25 Richard Biener - - PR debug/96690 - * dwarf2out.c (reference_to_unused): Make FUNCTION_DECL - processing more consistent with respect to - symtab->global_info_ready. - (tree_add_const_value_attribute): Unconditionally call - rtl_for_decl_init to do all mangling early but throw - away the result if early_dwarf. - -2020-08-25 Hongtao Liu - - PR target/96755 - * config/i386/sse.md: Correct the mode of NOT operands to - SImode. - -2020-08-25 Jakub Jelinek - - PR tree-optimization/96715 - * match.pd (copysign(x,-x) -> -x): New simplification. - -2020-08-25 Jakub Jelinek - - PR target/95450 - * fold-const.c (native_interpret_real): For MODE_COMPOSITE_P modes - punt if the to be returned REAL_CST does not encode to the bitwise - same representation. - -2020-08-24 Gerald Pfeifer - - * doc/install.texi (Configuration): Switch valgrind.com to https. - -2020-08-24 Christophe Lyon - - PR target/94538 - PR target/94538 - * config/arm/thumb1.md: Disable set-constant splitter when - TARGET_HAVE_MOVT. - (thumb1_movsi_insn): Fix -mpure-code - alternative. - -2020-08-24 Martin Liska - - * tree-vect-data-refs.c (dr_group_sort_cmp): Work on - data_ref_pair. - (vect_analyze_data_ref_accesses): Work on groups. - (vect_find_stmt_data_reference): Add group_id argument and fill - up dataref_groups vector. - * tree-vect-loop.c (vect_get_datarefs_in_loop): Pass new - arguments. - (vect_analyze_loop_2): Likewise. - * tree-vect-slp.c (vect_slp_analyze_bb_1): Pass argument. - (vect_slp_bb_region): Likewise. - (vect_slp_region): Likewise. - (vect_slp_bb):Work on the entire BB. - * tree-vectorizer.h (vect_analyze_data_ref_accesses): Add new - argument. - (vect_find_stmt_data_reference): Likewise. - -2020-08-24 Martin Liska - - PR tree-optimization/96597 - * tree-ssa-sccvn.c (vn_reference_lookup_call): Add missing - initialization of ::punned. - (vn_reference_insert): Use consistently false instead of 0. - (vn_reference_insert_pieces): Likewise. - -2020-08-24 Hans-Peter Nilsson - - PR target/93372 - * reorg.c (fill_slots_from_thread): Allow trial insns that clobber - TARGET_FLAGS_REGNUM as delay-slot fillers. - -2020-08-23 H.J. Lu - - PR target/96744 - * config/i386/i386-options.c (IX86_ATTR_IX86_YES): New. - (IX86_ATTR_IX86_NO): Likewise. - (ix86_opt_type): Add ix86_opt_ix86_yes and ix86_opt_ix86_no. - (ix86_valid_target_attribute_inner_p): Handle general-regs-only, - ix86_opt_ix86_yes and ix86_opt_ix86_no. - (ix86_option_override_internal): Check opts->x_ix86_target_flags - instead of opts->x_ix86_target_flags. - * doc/extend.texi: Document target("general-regs-only") function - attribute. - -2020-08-21 Richard Sandiford - - * doc/extend.texi: Update links to Arm docs. - * doc/invoke.texi: Likewise. - -2020-08-21 Hongtao Liu - - PR target/96262 - * config/i386/i386-expand.c - (ix86_expand_vec_shift_qihi_constant): Refine. - -2020-08-21 Alex Coplan - - PR jit/63854 - * gcc.c (set_static_spec): New. - (set_static_spec_owned): New. - (set_static_spec_shared): New. - (driver::maybe_putenv_COLLECT_LTO_WRAPPER): Use - set_static_spec_owned() to take ownership of lto_wrapper_file - such that it gets freed in driver::finalize. - (driver::maybe_run_linker): Use set_static_spec_shared() to - ensure that we don't try and free() the static string "ld", - also ensuring that any previously-allocated string in - linker_name_spec is freed. Likewise with argv0. - (driver::finalize): Use set_static_spec_shared() when resetting - specs that previously had allocated strings; remove if(0) - around call to free(). - -2020-08-21 Senthil Kumar Selvaraj - - * emit-rtl.c (try_split): Call copy_frame_info_to_split_insn - to split certain RTX_FRAME_RELATED_P insns. - * recog.c (copy_frame_info_to_split_insn): New function. - (peep2_attempt): Split copying of frame related info of - RTX_FRAME_RELATED_P insns into above function and call it. - * recog.h (copy_frame_info_to_split_insn): Declare it. - -2020-08-21 liuhongt - - PR target/88808 - * config/i386/i386.c (ix86_preferred_reload_class): Allow - QImode data go into mask registers. - * config/i386/i386.md: (*movhi_internal): Adjust constraints - for mask registers. - (*movqi_internal): Ditto. - (*anddi_1): Support mask register operations - (*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. - (define_peephole2): Move constant 0/-1 directly into mask - registers. - * config/i386/predicates.md (mask_reg_operand): New predicate. - * config/i386/sse.md (define_split): Add post-reload splitters - that would convert "generic" patterns to mask patterns. - (*knotsi_1_zext): New define_insn. - -2020-08-21 liuhongt - - * config/i386/x86-tune-costs.h (skylake_cost): Adjust cost - model. - -2020-08-21 liuhongt - - * config/i386/i386.c (inline_secondary_memory_needed): - No memory is needed between mask regs and gpr. - (ix86_hard_regno_mode_ok): Add condition TARGET_AVX512F for - mask regno. - * config/i386/i386.h (enum reg_class): Add INT_MASK_REGS. - (REG_CLASS_NAMES): Ditto. - (REG_CLASS_CONTENTS): Ditto. - * config/i386/i386.md: Exclude mask register in - define_peephole2 which is avaiable only for gpr. - -2020-08-21 H.J. Lu - - PR target/71453 - * config/i386/i386.h (struct processor_costs): Add member - mask_to_integer, integer_to_mask, mask_load[3], mask_store[3], - mask_move. - * config/i386/x86-tune-costs.h (ix86_size_cost, i386_cost, - i386_cost, pentium_cost, lakemont_cost, pentiumpro_cost, - geode_cost, k6_cost, athlon_cost, k8_cost, amdfam10_cost, - bdver_cost, znver1_cost, znver2_cost, skylake_cost, - btver1_cost, btver2_cost, pentium4_cost, nocona_cost, - atom_cost, slm_cost, intel_cost, generic_cost, core_cost): - Initialize mask_load[3], mask_store[3], mask_move, - integer_to_mask, mask_to_integer for all target costs. - * config/i386/i386.c (ix86_register_move_cost): Using cost - model of mask registers. - (inline_memory_move_cost): Ditto. - (ix86_register_move_cost): Ditto. - -2020-08-20 Iain Buclaw - - * config/vxworks.h (VXWORKS_ADDITIONAL_CPP_SPEC): Don't include - VxWorks header files if -fself-test is used. - (STARTFILE_PREFIX_SPEC): Avoid using VSB_DIR if -fself-test is used. - -2020-08-20 Joe Ramsay - - PR target/96683 - * config/arm/mve.md (mve_vst1q_f): Require MVE memory operand for - destination. - (mve_vst1q_): Likewise. - -2020-08-19 2020-08-19 Carl Love - - * config/rs6000/rs6000-builtin.def (BU_P10V_0, BU_P10V_1, - BU_P10V_2, BU_P10V_3): Rename BU_P10V_VSX_0, BU_P10V_VSX_1, - BU_P10V_VSX_2, BU_P10V_VSX_3 respectively. - (BU_P10V_4): Remove. - (BU_P10V_AV_0, BU_P10V_AV_1, BU_P10V_AV_2, BU_P10V_AV_3, BU_P10V_AV_4): - New definitions for Power 10 Altivec macros. - (VSTRIBR, VSTRIHR, VSTRIBL, VSTRIHL, VSTRIBR_P, VSTRIHR_P, - VSTRIBL_P, VSTRIHL_P, MTVSRBM, MTVSRHM, MTVSRWM, MTVSRDM, MTVSRQM, - VEXPANDMB, VEXPANDMH, VEXPANDMW, VEXPANDMD, VEXPANDMQ, VEXTRACTMB, - VEXTRACTMH, VEXTRACTMW, VEXTRACTMD, VEXTRACTMQ): Replace macro - expansion BU_P10V_1 with BU_P10V_AV_1. - (VCLRLB, VCLRRB, VCFUGED, VCLZDM, VCTZDM, VPDEPD, VPEXTD, VGNB, - VCNTMBB, VCNTMBH, VCNTMBW, VCNTMBD): Replace macro expansion - BU_P10V_2 with BU_P10V_AV_2. - (VEXTRACTBL, VEXTRACTHL, VEXTRACTWL, VEXTRACTDL, VEXTRACTBR, VEXTRACTHR, - VEXTRACTWR, VEXTRACTDR, VINSERTGPRBL, VINSERTGPRHL, VINSERTGPRWL, - VINSERTGPRDL, VINSERTVPRBL, VINSERTVPRHL, VINSERTVPRWL, VINSERTGPRBR, - VINSERTGPRHR, VINSERTGPRWR, VINSERTGPRDR, VINSERTVPRBR, VINSERTVPRHR, - VINSERTVPRWR, VREPLACE_ELT_V4SI, VREPLACE_ELT_UV4SI, VREPLACE_ELT_V2DF, - VREPLACE_ELT_V4SF, VREPLACE_ELT_V2DI, VREPLACE_ELT_UV2DI, VREPLACE_UN_V4SI, - VREPLACE_UN_UV4SI, VREPLACE_UN_V4SF, VREPLACE_UN_V2DI, VREPLACE_UN_UV2DI, - VREPLACE_UN_V2DF, VSLDB_V16QI, VSLDB_V8HI, VSLDB_V4SI, VSLDB_V2DI, - VSRDB_V16QI, VSRDB_V8HI, VSRDB_V4SI, VSRDB_V2DI): Replace macro expansion - BU_P10V_3 with BU_P10V_AV_3. - (VXXSPLTIW_V4SI, VXXSPLTIW_V4SF, VXXSPLTID): Replace macro expansion - BU_P10V_1 with BU_P10V_AV_1. - (XXGENPCVM_V16QI, XXGENPCVM_V8HI, XXGENPCVM_V4SI, XXGENPCVM_V2DI): - Replace macro expansion BU_P10V_2 with BU_P10V_VSX_2. - (VXXSPLTI32DX_V4SI, VXXSPLTI32DX_V4SF, VXXBLEND_V16QI, VXXBLEND_V8HI, - VXXBLEND_V4SI, VXXBLEND_V2DI, VXXBLEND_V4SF, VXXBLEND_V2DF): Replace macor - expansion BU_P10V_3 with BU_P10V_VSX_3. - (XXEVAL, VXXPERMX): Replace macro expansion BU_P10V_4 with BU_P10V_VSX_4. - (XVCVBF16SP, XVCVSPBF16): Replace macro expansion BU_VSX_1 with - BU_P10V_VSX_1. Also change MISC to CONST. - * config/rs6000/rs6000-c.c: (P10_BUILTIN_VXXPERMX): Replace with - P10V_BUILTIN_VXXPERMX. - (P10_BUILTIN_VCLRLB, P10_BUILTIN_VCLRLB, P10_BUILTIN_VCLRRB, - P10_BUILTIN_VGNB, P10_BUILTIN_XXEVAL, P10_BUILTIN_VXXPERMX, - P10_BUILTIN_VEXTRACTBL, P10_BUILTIN_VEXTRACTHL, P10_BUILTIN_VEXTRACTWL, - P10_BUILTIN_VEXTRACTDL, P10_BUILTIN_VINSERTGPRHL, - P10_BUILTIN_VINSERTGPRWL, P10_BUILTIN_VINSERTGPRDL, - P10_BUILTIN_VINSERTVPRBL, P10_BUILTIN_VINSERTVPRHL, - P10_BUILTIN_VEXTRACTBR, P10_BUILTIN_VEXTRACTHR, - P10_BUILTIN_VEXTRACTWR, P10_BUILTIN_VEXTRACTDR, - P10_BUILTIN_VINSERTGPRBR, P10_BUILTIN_VINSERTGPRHR, - P10_BUILTIN_VINSERTGPRWR, P10_BUILTIN_VINSERTGPRDR, - P10_BUILTIN_VINSERTVPRBR, P10_BUILTIN_VINSERTVPRHR, - P10_BUILTIN_VINSERTVPRWR, P10_BUILTIN_VREPLACE_ELT_UV4SI, - P10_BUILTIN_VREPLACE_ELT_V4SI, P10_BUILTIN_VREPLACE_ELT_UV2DI, - P10_BUILTIN_VREPLACE_ELT_V2DI, P10_BUILTIN_VREPLACE_ELT_V2DF, - P10_BUILTIN_VREPLACE_UN_UV4SI, P10_BUILTIN_VREPLACE_UN_V4SI, - P10_BUILTIN_VREPLACE_UN_V4SF, P10_BUILTIN_VREPLACE_UN_UV2DI, - P10_BUILTIN_VREPLACE_UN_V2DI, P10_BUILTIN_VREPLACE_UN_V2DF, - P10_BUILTIN_VSLDB_V16QI, P10_BUILTIN_VSLDB_V16QI, - P10_BUILTIN_VSLDB_V8HI, P10_BUILTIN_VSLDB_V4SI, - P10_BUILTIN_VSLDB_V2DI, P10_BUILTIN_VXXSPLTIW_V4SI, - P10_BUILTIN_VXXSPLTIW_V4SF, P10_BUILTIN_VXXSPLTID, - P10_BUILTIN_VXXSPLTI32DX_V4SI, P10_BUILTIN_VXXSPLTI32DX_V4SF, - P10_BUILTIN_VXXBLEND_V16QI, P10_BUILTIN_VXXBLEND_V8HI, - P10_BUILTIN_VXXBLEND_V4SI, P10_BUILTIN_VXXBLEND_V2DI, - P10_BUILTIN_VXXBLEND_V4SF, P10_BUILTIN_VXXBLEND_V2DF, - P10_BUILTIN_VSRDB_V16QI, P10_BUILTIN_VSRDB_V8HI, - P10_BUILTIN_VSRDB_V4SI, P10_BUILTIN_VSRDB_V2DI, - P10_BUILTIN_VSTRIBL, P10_BUILTIN_VSTRIHL, - P10_BUILTIN_VSTRIBL_P, P10_BUILTIN_VSTRIHL_P, - P10_BUILTIN_VSTRIBR, P10_BUILTIN_VSTRIHR, - P10_BUILTIN_VSTRIBR_P, P10_BUILTIN_VSTRIHR_P, - P10_BUILTIN_MTVSRBM, P10_BUILTIN_MTVSRHM, - P10_BUILTIN_MTVSRWM, P10_BUILTIN_MTVSRDM, - P10_BUILTIN_MTVSRQM, P10_BUILTIN_VCNTMBB, - P10_BUILTIN_VCNTMBH, P10_BUILTIN_VCNTMBW, - P10_BUILTIN_VCNTMBD, P10_BUILTIN_VEXPANDMB, - P10_BUILTIN_VEXPANDMH, P10_BUILTIN_VEXPANDMW, - P10_BUILTIN_VEXPANDMD, P10_BUILTIN_VEXPANDMQ, - P10_BUILTIN_VEXTRACTMB, P10_BUILTIN_VEXTRACTMH, - P10_BUILTIN_VEXTRACTMW, P10_BUILTIN_VEXTRACTMD, - P10_BUILTIN_VEXTRACTMQ, P10_BUILTIN_XVTLSBB_ZEROS, - P10_BUILTIN_XVTLSBB_ONES): Replace with - P10V_BUILTIN_VCLRLB, P10V_BUILTIN_VCLRLB, P10V_BUILTIN_VCLRRB, - P10V_BUILTIN_VGNB, P10V_BUILTIN_XXEVAL, P10V_BUILTIN_VXXPERMX, - P10V_BUILTIN_VEXTRACTBL, P10V_BUILTIN_VEXTRACTHL, P10V_BUILTIN_VEXTRACTWL, - P10V_BUILTIN_VEXTRACTDL, P10V_BUILTIN_VINSERTGPRHL, - P10V_BUILTIN_VINSERTGPRWL, P10V_BUILTIN_VINSERTGPRDL, - P10V_BUILTIN_VINSERTVPRBL,P10V_BUILTIN_VINSERTVPRHL, - P10V_BUILTIN_VEXTRACTBR, P10V_BUILTIN_VEXTRACTHR - P10V_BUILTIN_VEXTRACTWR, P10V_BUILTIN_VEXTRACTDR, - P10V_BUILTIN_VINSERTGPRBR, P10V_BUILTIN_VINSERTGPRHR, - P10V_BUILTIN_VINSERTGPRWR, P10V_BUILTIN_VINSERTGPRDR, - P10V_BUILTIN_VINSERTVPRBR, P10V_BUILTIN_VINSERTVPRHR, - P10V_BUILTIN_VINSERTVPRWR, P10V_BUILTIN_VREPLACE_ELT_UV4SI, - P10V_BUILTIN_VREPLACE_ELT_V4SI, P10V_BUILTIN_VREPLACE_ELT_UV2DI, - P10V_BUILTIN_VREPLACE_ELT_V2DI, P10V_BUILTIN_VREPLACE_ELT_V2DF, - P10V_BUILTIN_VREPLACE_UN_UV4SI, P10V_BUILTIN_VREPLACE_UN_V4SI, - P10V_BUILTIN_VREPLACE_UN_V4SF, P10V_BUILTIN_VREPLACE_UN_UV2DI, - P10V_BUILTIN_VREPLACE_UN_V2DI, P10V_BUILTIN_VREPLACE_UN_V2DF, - P10V_BUILTIN_VSLDB_V16QI, P10V_BUILTIN_VSLDB_V16QI, - P10V_BUILTIN_VSLDB_V8HI, P10V_BUILTIN_VSLDB_V4SI, - P10V_BUILTIN_VSLDB_V2DI, P10V_BUILTIN_VXXSPLTIW_V4SI, - P10V_BUILTIN_VXXSPLTIW_V4SF, P10V_BUILTIN_VXXSPLTID, - P10V_BUILTIN_VXXSPLTI32DX_V4SI, P10V_BUILTIN_VXXSPLTI32DX_V4SF, - P10V_BUILTIN_VXXBLEND_V16QI, P10V_BUILTIN_VXXBLEND_V8HI, - P10V_BUILTIN_VXXBLEND_V4SI, P10V_BUILTIN_VXXBLEND_V2DI, - P10V_BUILTIN_VXXBLEND_V4SF, P10V_BUILTIN_VXXBLEND_V2DF, - P10V_BUILTIN_VSRDB_V16QI, P10V_BUILTIN_VSRDB_V8HI, - P10V_BUILTIN_VSRDB_V4SI, P10V_BUILTIN_VSRDB_V2DI, - P10V_BUILTIN_VSTRIBL, P10V_BUILTIN_VSTRIHL, - P10V_BUILTIN_VSTRIBL_P, P10V_BUILTIN_VSTRIHL_P, - P10V_BUILTIN_VSTRIBR, P10V_BUILTIN_VSTRIHR, - P10V_BUILTIN_VSTRIBR_P, P10V_BUILTIN_VSTRIHR_P, - P10V_BUILTIN_MTVSRBM, P10V_BUILTIN_MTVSRHM, - P10V_BUILTIN_MTVSRWM, P10V_BUILTIN_MTVSRDM, - P10V_BUILTIN_MTVSRQM, P10V_BUILTIN_VCNTMBB, - P10V_BUILTIN_VCNTMBH, P10V_BUILTIN_VCNTMBW, - P10V_BUILTIN_VCNTMBD, P10V_BUILTIN_VEXPANDMB, - P10V_BUILTIN_VEXPANDMH, P10V_BUILTIN_VEXPANDMW, - P10V_BUILTIN_VEXPANDMD, P10V_BUILTIN_VEXPANDMQ, - P10V_BUILTIN_VEXTRACTMB, P10V_BUILTIN_VEXTRACTMH, - P10V_BUILTIN_VEXTRACTMW, P10V_BUILTIN_VEXTRACTMD, - P10V_BUILTIN_VEXTRACTMQ, P10V_BUILTIN_XVTLSBB_ZEROS, - P10V_BUILTIN_XVTLSBB_ONES respectively. - * config/rs6000/rs6000-call.c: Ditto above, change P10_BUILTIN_name to - P10V_BUILTIN_name. - (P10_BUILTIN_XVCVSPBF16, P10_BUILTIN_XVCVBF16SP): Change to - P10V_BUILTIN_XVCVSPBF16, P10V_BUILTIN_XVCVBF16SP respectively. - -2020-08-19 Bill Schmidt - - * config/rs6000/rs6000-logue.c (rs6000_decl_ok_for_sibcall): - Sibcalls are always legal when the caller doesn't preserve r2. - -2020-08-19 Uroš Bizjak - - * config/i386/i386-expand.c (ix86_expand_builtin) - [case IX86_BUILTIN_ENQCMD, case IX86_BUILTIN_ENQCMDS]: - Rewrite expansion to use code_for_enqcmd. - [case IX86_BUILTIN_WRSSD, case IX86_BUILTIN_WRSSQ]: - Rewrite expansion to use code_for_wrss. - [case IX86_BUILTIN_WRUSSD, case IX86_BUILTIN_WRUSSD]: - Rewrite expansion to use code_for_wrss. - -2020-08-19 Feng Xue - - PR tree-optimization/94234 - * match.pd ((PTR_A + OFF) - (PTR_B + OFF)) -> (PTR_A - PTR_B): New - simplification. - -2020-08-19 H.J. Lu - - * common/config/i386/cpuinfo.h (get_intel_cpu): Detect Rocket - Lake and Alder Lake. - -2020-08-19 Peixin Qiao - - * config/aarch64/aarch64.c (aarch64_init_cumulative_args): Remove - "fndecl && TREE_PUBLIC (fndecl)" check since it prevents the funtion - type check when calling via a function pointer or when calling a static - function. - -2020-08-19 Kewen Lin - - * opts-global.c (decode_options): Call target_option_override_hook - before it prints for --help=*. - -2020-08-18 Peter Bergner - - * config/rs6000/rs6000-builtin.def (BU_VSX_1): Rename xvcvbf16sp to - xvcvbf16spn. - * config/rs6000/rs6000-call.c (builtin_function_type): Likewise. - * config/rs6000/vsx.md: Likewise. - * doc/extend.texi: Likewise. - -2020-08-18 Aaron Sawdey - - * config/rs6000/rs6000-string.c (gen_lxvl_stxvl_move): - Helper function. - (expand_block_move): Add lxvl/stxvl, vector pair, and - unaligned VSX. - * config/rs6000/rs6000.c (rs6000_option_override_internal): - Default value for -mblock-ops-vector-pair. - * config/rs6000/rs6000.opt: Add -mblock-ops-vector-pair. - -2020-08-18 Aldy Hernandez - - * vr-values.c (check_for_binary_op_overflow): Change type of store - to range_query. - (vr_values::adjust_range_with_scev): Abstract most of the code... - (range_of_var_in_loop): ...here. Remove value_range_equiv uses. - (simplify_using_ranges::simplify_using_ranges): Change type of store - to range_query. - * vr-values.h (class range_query): New. - (class simplify_using_ranges): Use range_query. - (class vr_values): Add OVERRIDE to get_value_range. - (range_of_var_in_loop): New. - -2020-08-18 Martin Sebor - - PR middle-end/96665 - PR middle-end/78257 - * expr.c (convert_to_bytes): Replace statically allocated buffer with - a dynamically allocated one of sufficient size. - -2020-08-18 Martin Sebor - - PR tree-optimization/96670 - PR middle-end/78257 - * gimple-fold.c (gimple_fold_builtin_memchr): Call byte_representation - to get it, not string_constant. - -2020-08-18 Hu Jiangping - - * doc/gimple.texi (gimple_debug_begin_stmt_p): Add return type. - (gimple_debug_inline_entry_p, gimple_debug_nonbind_marker_p): Likewise. - -2020-08-18 Martin Sebor - - * fold-const.c (native_encode_expr): Update comment. - -2020-08-18 Uroš Bizjak - - PR target/96536 - * config/i386/i386.md (restore_stack_nonlocal): Add missing compare - RTX. Rewrite expander to use high-level functions in RTL construction. - -2020-08-18 liuhongt - - PR target/96562 - PR target/93897 - * config/i386/i386-expand.c (ix86_expand_pinsr): Don't use - pinsr for TImode. - (ix86_expand_pextr): Don't use pextr for TImode. - -2020-08-17 Uroš Bizjak - - * config/i386/i386-builtin.def (__builtin_ia32_bextri_u32) - (__builtin_ia32_bextri_u64): Use CODE_FOR_nothing. - * config/i386/i386.md (@tbm_bextri_): - Implement as parametrized name pattern. - (@rdrand): Ditto. - (@rdseed): Ditto. - * config/i386/i386-expand.c (ix86_expand_builtin) - [case IX86_BUILTIN_BEXTRI32, case IX86_BUILTIN_BEXTRI64]: - Update for parameterized name patterns. - [case IX86_BUILTIN_RDRAND16_STEP, case IX86_BUILTIN_RDRAND32_STEP] - [case IX86_BUILTIN_RDRAND64_STEP]: Ditto. - [case IX86_BUILTIN_RDSEED16_STEP, case IX86_BUILTIN_RDSEED32_STEP] - [case IX86_BUILTIN_RDSEED64_STEP]: Ditto. - -2020-08-17 Aldy Hernandez - - * vr-values.c (vr_values::get_value_range): Add stmt param. - (vr_values::extract_range_from_comparison): Same. - (vr_values::extract_range_from_assignment): Pass stmt to - extract_range_from_comparison. - (vr_values::adjust_range_with_scev): Pass stmt to get_value_range. - (simplify_using_ranges::vrp_evaluate_conditional): Add stmt param. - Pass stmt to get_value_range. - (simplify_using_ranges::vrp_visit_cond_stmt): Pass stmt to - get_value_range. - (simplify_using_ranges::simplify_abs_using_ranges): Same. - (simplify_using_ranges::simplify_div_or_mod_using_ranges): Same. - (simplify_using_ranges::simplify_bit_ops_using_ranges): Same. - (simplify_using_ranges::simplify_cond_using_ranges_1): Same. - (simplify_using_ranges::simplify_switch_using_ranges): Same. - (simplify_using_ranges::simplify_float_conversion_using_ranges): Same. - * vr-values.h (class vr_values): Add stmt arg to - vrp_evaluate_conditional_warnv_with_ops. - Add stmt arg to extract_range_from_comparison and get_value_range. - (simplify_using_ranges::get_value_range): Add stmt arg. - -2020-08-17 liuhongt - - PR target/96350 - * config/i386/i386.c (ix86_legitimate_constant_p): Return - false for ENDBR immediate. - (ix86_legitimate_address_p): Ditto. - * config/i386/predicates.md - (x86_64_immediate_operand): Exclude ENDBR immediate. - (x86_64_zext_immediate_operand): Ditto. - (x86_64_dwzext_immediate_operand): Ditto. - (ix86_endbr_immediate_operand): New predicate. - -2020-08-16 Roger Sayle - - * simplify-rtx.c (simplify_unary_operation_1) [SIGN_EXTEND]: - Simplify (sign_extend:M (truncate:N (lshiftrt:M x C))) to - (ashiftrt:M x C) when the shift sets the high bits appropriately. - -2020-08-14 Martin Sebor - - PR middle-end/78257 - * builtins.c (expand_builtin_memory_copy_args): Rename called function. - (expand_builtin_stpcpy_1): Remove argument from call. - (expand_builtin_memcmp): Rename called function. - (inline_expand_builtin_bytecmp): Same. - * expr.c (convert_to_bytes): New function. - (constant_byte_string): New function (formerly string_constant). - (string_constant): Call constant_byte_string. - (byte_representation): New function. - * expr.h (byte_representation): Declare. - * fold-const-call.c (fold_const_call): Rename called function. - * fold-const.c (c_getstr): Remove an argument. - (getbyterep): Define a new function. - * fold-const.h (c_getstr): Remove an argument. - (getbyterep): Declare a new function. - * gimple-fold.c (gimple_fold_builtin_memory_op): Rename callee. - (gimple_fold_builtin_string_compare): Same. - (gimple_fold_builtin_memchr): Same. - -2020-08-14 David Malcolm - - * doc/analyzer.texi (Overview): Add tip about how to get a - gimple dump if the analyzer ICEs. - -2020-08-14 Uroš Bizjak - - * config/i386/i386-builtin.def (__builtin_ia32_llwpcb) - (__builtin_ia32_slwpcb, __builtin_ia32_lwpval32) - (__builtin_ia32_lwpval64, __builtin_ia32_lwpins32) - (__builtin_ia32_lwpins64): Use CODE_FOR_nothing. - * config/i386/i386.md (@lwp_llwpcb): - Implement as parametrized name pattern. - (@lwp_slwpcb): Ditto. - (@lwp_lwpval): Ditto. - (@lwp_lwpins): Ditto. - * config/i386/i386-expand.c (ix86_expand_special_args_builtin) - [case VOID_FTYPE_UINT_UINT_UINT, case VOID_FTYPE_UINT64_UINT_UINT] - [case UCHAR_FTYPE_UINT_UINT_UINT, case UCHAR_FTYPE_UINT64_UINT_UINT]: - Remove. - (ix86_expand_builtin) - [ case IX86_BUILTIN_LLWPCB, case IX86_BUILTIN_LLWPCB]: - Update for parameterized name patterns. - [case IX86_BUILTIN_LWPVAL32, case IX86_BUILTIN_LWPVAL64] - [case IX86_BUILTIN_LWPINS32, case IX86_BUILTIN_LWPINS64]: Expand here. - -2020-08-14 Lewis Hyatt - - * common.opt: Add new option -fdiagnostics-plain-output. - * doc/invoke.texi: Document it. - * opts-common.c (decode_cmdline_options_to_array): Implement it. - (decode_cmdline_option): Add missing const qualifier to argv. - -2020-08-14 Jakub Jelinek - Jonathan Wakely - Jonathan Wakely - - * system.h: Include type_traits. - * vec.h (vec::embedded_size): Use offsetof and asserts - on vec_stdlayout, which is conditionally a vec (for standard layout T) - and otherwise vec_embedded. - -2020-08-14 Jojo R - - * config/csky/csky-elf.h (ASM_SPEC): Use mfloat-abi. - * config/csky/csky-linux-elf.h (ASM_SPEC): mfloat-abi. - -2020-08-13 David Malcolm - - PR analyzer/93032 - PR analyzer/93938 - PR analyzer/94011 - PR analyzer/94099 - PR analyzer/94399 - PR analyzer/94458 - PR analyzer/94503 - PR analyzer/94640 - PR analyzer/94688 - PR analyzer/94689 - PR analyzer/94839 - PR analyzer/95026 - PR analyzer/95042 - PR analyzer/95240 - * Makefile.in (ANALYZER_OBJS): Add analyzer/region.o, - analyzer/region-model-impl-calls.o, - analyzer/region-model-manager.o, - analyzer/region-model-reachability.o, analyzer/store.o, and - analyzer/svalue.o. - * doc/analyzer.texi: Update for changes to analyzer - implementation. - * tristate.h (tristate::get_value): New accessor. - -2020-08-13 Uroš Bizjak - - * config/i386/i386-builtin.def (CET_NORMAL): Merge to CET BDESC array. - (__builtin_ia32_rddspd, __builtin_ia32_rddspq, __builtin_ia32_incsspd) - (__builtin_ia32_incsspq, __builtin_ia32_wrssd, __builtin_ia32_wrssq) - (__builtin_ia32_wrussd, __builtin_ia32_wrussq): Use CODE_FOR_nothing. - * config/i386/i386-builtins.c: Remove handling of CET_NORMAL builtins. - * config/i386/i386.md (@rdssp): Implement as parametrized - name pattern. Use SWI48 mode iterator. Introduce input operand - and remove explicit XOR zeroing from insn template. - (@incssp): Implement as parametrized name pattern. - Use SWI48 mode iterator. - (@wrss): Ditto. - (@wruss): Ditto. - (rstorssp): Remove expander. Rename insn pattern from *rstorssp. - Use DImode memory operand. - (clrssbsy): Remove expander. Rename insn pattern from *clrssbsy. - Use DImode memory operand. - (save_stack_nonlocal): Update for parametrized name patterns. - Use cleared register as an argument to gen_rddsp. - (restore_stack_nonlocal): Update for parametrized name patterns. - * config/i386/i386-expand.c (ix86_expand_builtin): - [case IX86_BUILTIN_RDSSPD, case IX86_BUILTIN_RDSSPQ]: Expand here. - [case IX86_BUILTIN_INCSSPD, case IX86_BUILTIN_INCSSPQ]: Ditto. - [case IX86_BUILTIN_RSTORSSP, case IX86_BUILTIN_CLRSSBSY]: - Generate DImode memory operand. - [case IX86_BUILTIN_WRSSD, case IX86_BUILTIN_WRSSQ] - [case IX86_BUILTIN_WRUSSD, case IX86_BUILTIN_WRUSSD]: - Update for parameterized name patterns. - -2020-08-13 Peter Bergner - - PR target/96506 - * config/rs6000/rs6000-call.c (rs6000_promote_function_mode): Disallow - MMA types as return values. - (rs6000_function_arg): Disallow MMA types as function arguments. - -2020-08-13 Richard Sandiford - - Revert: - 2020-08-12 Peixin Qiao - - * config/aarch64/aarch64.c (aarch64_function_value): Add if - condition to check ag_mode after entering if condition of - aarch64_vfp_is_call_or_return_candidate. If TARGET_FLOAT is - set as false by -mgeneral-regs-only, report the diagnostic - information of -mgeneral-regs-only imcompatible with the use - of fp/simd register(s). - -2020-08-13 Martin Liska - - PR ipa/96482 - * ipa-cp.c (ipcp_bits_lattice::meet_with_1): Mask m_value - with m_mask. - -2020-08-13 Jakub Jelinek - - * gimplify.c (gimplify_omp_taskloop_expr): New function. - (gimplify_omp_for): Use it. For OMP_FOR_NON_RECTANGULAR - loops adjust in outer taskloop the var-outer decls. - * omp-expand.c (expand_omp_taskloop_for_inner): Handle non-rectangular - loops. - (expand_omp_for): Don't reject non-rectangular taskloop. - * omp-general.c (omp_extract_for_data): Don't assert that - non-rectangular loops have static schedule, instead treat loop->m1 - or loop->m2 as if loop->n1 or loop->n2 is non-constant. - -2020-08-13 Hongtao Liu - - PR target/96246 - * config/i386/sse.md (_load_mask, - _load_mask): Extend to generate blendm - instructions. - (_blendm, _blendm): Change - define_insn to define_expand. - -2020-08-12 Roger Sayle - Uroš Bizjak - - PR target/96558 - * config/i386/i386.md (peephole2): Only reorder register clearing - instructions to allow use of xor for general registers. - -2020-08-12 Martin Liska - - PR ipa/96482 - * ipa-cp.c (ipcp_bits_lattice::meet_with_1): Drop value bits - for bits that are unknown. - (ipcp_bits_lattice::set_to_constant): Likewise. - * tree-ssa-ccp.c (get_default_value): Add sanity check that - IPA CP bit info has all bits set to zero in bits that - are unknown. - -2020-08-12 Peixin Qiao - - * config/aarch64/aarch64.c (aarch64_function_value): Add if - condition to check ag_mode after entering if condition of - aarch64_vfp_is_call_or_return_candidate. If TARGET_FLOAT is - set as false by -mgeneral-regs-only, report the diagnostic - information of -mgeneral-regs-only imcompatible with the use - of fp/simd register(s). - -2020-08-12 Jakub Jelinek - - PR tree-optimization/96535 - * toplev.c (process_options): Move flag_unroll_loops and - flag_cunroll_grow_size handling from here to ... - * opts.c (finish_options): ... here. For flag_cunroll_grow_size, - don't check for AUTODETECT_VALUE, but instead check - opts_set->x_flag_cunroll_grow_size. - * common.opt (funroll-completely-grow-size): Default to 0. - * config/rs6000/rs6000.c (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): - Redefine. - (rs6000_override_options_after_change): New function. - (rs6000_option_override_internal): Call it. Move there the - flag_cunroll_grow_size, unroll_only_small_loops and - flag_rename_registers handling. - -2020-08-12 Tom de Vries - - * config/nvptx/nvptx.c (nvptx_assemble_decl_begin): Make elt_size an - unsigned HOST_WIDE_INT. Print init_frag.remaining using - HOST_WIDE_INT_PRINT_UNSIGNED. - -2020-08-12 Roger Sayle - Uroš Bizjak - - * config/i386/i386.md (peephole2): Reduce unnecessary - register shuffling produced by register allocation. - -2020-08-12 Aldy Hernandez - - * ipa-fnsummary.c (evaluate_conditions_for_known_args): Use vec<> - instead of std::vector<>. - (evaluate_properties_for_edge): Same. - (ipa_fn_summary_t::duplicate): Same. - (estimate_ipcp_clone_size_and_time): Same. - * vec.h (::embedded_size): Change vec_embedded - type to contain a char[]. - -2020-08-12 Andreas Krebbel - - PR target/96308 - * config/s390/s390.c (s390_cannot_force_const_mem): Reject an - unary minus for everything not being a numeric constant. - (legitimize_tls_address): Move a NEG out of the CONST rtx. - -2020-08-12 Andreas Krebbel - - PR target/96456 - * config/s390/s390.h (TARGET_NONSIGNALING_VECTOR_COMPARE_OK): New - macro. - * config/s390/vector.md (vcond_comparison_operator): Use new macro - for the check. - -2020-08-11 Jakub Jelinek - - PR rtl-optimization/96539 - * expr.c (emit_block_move_hints): Don't copy anything if x and y - are the same and neither is MEM_VOLATILE_P. - -2020-08-11 Jakub Jelinek - - PR c/96549 - * tree.c (get_narrower): Use TREE_TYPE (ret) instead of - TREE_TYPE (win) for COMPOUND_EXPRs. - -2020-08-11 Jan Hubicka - - * predict.c (not_loop_guard_equal_edge_p): New function. - (maybe_predict_edge): New function. - (predict_paths_for_bb): Use it. - (predict_paths_leading_to_edge): Use it. - -2020-08-11 Martin Liska - - * dbgcnt.def (DEBUG_COUNTER): Add ipa_cp_bits. - * ipa-cp.c (ipcp_store_bits_results): Use it when we store known - bits for parameters. - -2020-08-10 Marek Polacek - - * doc/sourcebuild.texi: Document dg-ice. - -2020-08-10 Roger Sayle - - * config/i386/i386-expand.c (ix86_expand_int_movcc): Expand - signed MIN_EXPR against zero as "x < 0 ? x : 0" instead of - "x <= 0 ? x : 0" to enable sign_bit_compare_p optimizations. - -2020-08-10 Aldy Hernandez - - * value-range.h (gt_ggc_mx): Declare inline. - (gt_pch_nx): Same. - -2020-08-10 Marc Glisse - - PR tree-optimization/95433 - * match.pd (X * C1 == C2): Handle wrapping overflow. - * expr.c (maybe_optimize_mod_cmp): Qualify call to mod_inv. - (mod_inv): Move... - * wide-int.cc (mod_inv): ... here. - * wide-int.h (mod_inv): Declare it. - -2020-08-10 Jan Hubicka - - * predict.c (filter_predictions): Document semantics of filter. - (equal_edge_p): Rename to ... - (not_equal_edge_p): ... this; reverse semantics. - (remove_predictions_associated_with_edge): Fix. - -2020-08-10 Hongtao Liu - - PR target/96243 - * config/i386/i386-expand.c (ix86_expand_sse_cmp): Refine for - maskcmp. - (ix86_expand_mask_vec_cmp): Change prototype. - * config/i386/i386-protos.h (ix86_expand_mask_vec_cmp): Change prototype. - * config/i386/i386.c (ix86_print_operand): Remove operand - modifier 'I'. - * config/i386/sse.md - (*_cmp3): Deleted. - (*_cmp3): Ditto. - (*_ucmp3): Ditto. - (*_ucmp3, - avx512f_maskcmp3): Ditto. - -2020-08-09 Roger Sayle - - * expmed.c (init_expmed_one_conv): Restore all->reg's mode. - (init_expmed_one_mode): Set all->reg to desired mode. - -2020-08-08 Peter Bergner - - PR target/96530 - * config/rs6000/rs6000.c (rs6000_invalid_conversion): Use canonical - types for type comparisons. Refactor code to simplify it. - -2020-08-08 Jakub Jelinek - - PR fortran/93553 - * tree-nested.c (convert_nonlocal_omp_clauses): For - OMP_CLAUSE_REDUCTION, OMP_CLAUSE_LASTPRIVATE and OMP_CLAUSE_LINEAR - save info->new_local_var_chain around walks of the clause gimple - sequences and declare_vars if needed into the sequence. - -2020-08-08 Jakub Jelinek - - PR tree-optimization/96424 - * omp-expand.c: Include tree-eh.h. - (expand_omp_for_init_vars): Handle -fexceptions -fnon-call-exceptions - by forcing floating point comparison into a bool temporary. - -2020-08-07 Marc Glisse - - * generic-match-head.c (optimize_vectors_before_lowering_p): New - function. - * gimple-match-head.c (optimize_vectors_before_lowering_p): - Likewise. - * match.pd ((v ? w : 0) ? a : b, c1 ? c2 ? a : b : b): Use it. - -2020-08-07 Richard Biener - - PR tree-optimization/96514 - * tree-if-conv.c (if_convertible_bb_p): If the last stmt - is a call that is control-altering, fail. - -2020-08-07 Jose E. Marchesi - - * config/bpf/bpf.md: Remove trailing whitespaces. - * config/bpf/constraints.md: Likewise. - * config/bpf/predicates.md: Likewise. - -2020-08-07 Michael Meissner - - * config/rs6000/rs6000.md (bswaphi2_reg): Add ISA 3.1 support. - (bswapsi2_reg): Add ISA 3.1 support. - (bswapdi2): Rename bswapdi2_xxbrd to bswapdi2_brd. - (bswapdi2_brd,bswapdi2_xxbrd): Rename. Add ISA 3.1 support. - -2020-08-07 Alan Modra - - PR target/96493 - * config/rs6000/predicates.md (current_file_function_operand): Don't - accept functions that differ in r2 usage. - -2020-08-06 Hans-Peter Nilsson - - * config/mmix/mmix.md (MM): New mode_iterator. - ("mov"): New expander to expand for all MM-modes. - ("*movqi_expanded", "*movhi_expanded", "*movsi_expanded") - ("*movsf_expanded", "*movdf_expanded"): Rename from the - corresponding mov named pattern. Add to the condition that - either operand must be a register_operand. - ("*movdi_expanded"): Similar, but also allow STCO in the condition. - -2020-08-06 Richard Sandiford - - PR target/96191 - * config/arm/arm.md (arm_stack_protect_test_insn): Zero out - operand 2 after use. - * config/arm/thumb1.md (thumb1_stack_protect_test_insn): Likewise. - -2020-08-06 Peter Bergner - - PR target/96446 - * config/rs6000/mma.md (*movpxi): Add xxsetaccz generation. - Disable split for zero constant source operand. - (mma_xxsetaccz): Change to define_expand. Call gen_movpxi. - -2020-08-06 Jakub Jelinek - - PR tree-optimization/96480 - * tree-ssa-reassoc.c (suitable_cond_bb): Add TEST_SWAPPED_P argument. - If TEST_BB ends in cond and has one edge to *OTHER_BB and another - through an empty bb to that block too, if PHI args don't match, retry - them through the other path from TEST_BB. - (maybe_optimize_range_tests): Adjust callers. Handle such LAST_BB - through inversion of the condition. - -2020-08-06 Jose E. Marchesi - - * config/bpf/bpf-helpers.h (KERNEL_HELPER): Define. - (KERNEL_VERSION): Remove. - * config/bpf/bpf-helpers.def: Delete. - * config/bpf/bpf.c (bpf_handle_fndecl_attribute): New function. - (bpf_attribute_table): Define. - (bpf_helper_names): Delete. - (bpf_helper_code): Likewise. - (enum bpf_builtins): Adjust to new helpers mechanism. - (bpf_output_call): Likewise. - (bpf_init_builtins): Likewise. - (bpf_init_builtins): Likewise. - * doc/extend.texi (BPF Function Attributes): New section. - (BPF Kernel Helpers): Delete section. - -2020-08-06 Richard Biener - - PR tree-optimization/96491 - * tree-ssa-sink.c (sink_common_stores_to_bb): Avoid - sinking across abnormal edges. - -2020-08-06 Richard Biener - - PR tree-optimization/96483 - * tree-ssa-pre.c (create_component_ref_by_pieces_1): Handle - POLY_INT_CST. - -2020-08-06 Richard Biener - - * graphite-isl-ast-to-gimple.c (ivs_params): Use hash_map instead - of std::map. - (ivs_params_clear): Adjust. - (gcc_expression_from_isl_ast_expr_id): Likewise. - (graphite_create_new_loop): Likewise. - (add_parameters_to_ivs_params): Likewise. - -2020-08-06 Roger Sayle - Uroš Bizjak - - * config/i386/i386.md (MAXMIN_IMODE): No longer needed. - (3): Support SWI248 and general_operand for - second operand, when TARGET_CMOVE. - (3_1 splitter): Optimize comparisons against - 0, 1 and -1 to use "test" instead of "cmp". - (*di3_doubleword): Likewise, allow general_operand - and enable on TARGET_CMOVE. - (peephole2): Convert clearing a register after a flag setting - instruction into an xor followed by the original flag setter. - -2020-08-06 Gerald Pfeifer - - * ipa-fnsummary.c (INCLUDE_VECTOR): Define. - Remove direct inclusion of . - -2020-08-06 Kewen Lin - - * config/rs6000/rs6000.c (rs6000_adjust_vect_cost_per_loop): New - function. - (rs6000_finish_cost): Call rs6000_adjust_vect_cost_per_loop. - * tree-vect-loop.c (vect_estimate_min_profitable_iters): Add cost - modeling for vector with length. - (vect_rgroup_iv_might_wrap_p): New function, factored out from... - * tree-vect-loop-manip.c (vect_set_loop_controls_directly): ...this. - Update function comment. - * tree-vect-stmts.c (vect_gen_len): Update function comment. - * tree-vectorizer.h (vect_rgroup_iv_might_wrap_p): New declare. - -2020-08-06 Kewen Lin - - * tree-vectorizer.c (try_vectorize_loop_1): Skip the epilogue loops - for dbgcnt check. - -2020-08-05 Marc Glisse - - PR tree-optimization/95906 - PR target/70314 - * match.pd ((c ? a : b) op d, (c ? a : b) op (c ? d : e), - (v ? w : 0) ? a : b, c1 ? c2 ? a : b : b): New transformations. - (op (c ? a : b)): Update to match the new transformations. - -2020-08-05 Richard Sandiford - - PR target/96191 - * config/aarch64/aarch64.md (stack_protect_test_): Set the - CC register directly, instead of a GPR. Replace the original GPR - destination with an extra scratch register. Zero out operand 3 - after use. - (stack_protect_test): Update accordingly. - -2020-08-05 Richard Sandiford - - * config/aarch64/aarch64.md (load_pair_sw_) - (load_pair_dw_, load_pair_dw_tftf) - (store_pair_sw_) - (store_pair_dw_, store_pair_dw_tftf) - (*load_pair_extendsidi2_aarch64) - (*load_pair_zero_extendsidi2_aarch64): Use %z for the memory operand. - * config/aarch64/aarch64-simd.md (load_pair) - (vec_store_pair, load_pair) - (vec_store_pair): Likewise. - -2020-08-05 Richard Biener - - * tree-ssa-loop-im.c (invariantness_dom_walker): Remove. - (invariantness_dom_walker::before_dom_children): Move to ... - (compute_invariantness): ... this function. - (move_computations): Inline ... - (tree_ssa_lim): ... here, share RPO order and avoid some - cfun references. - (analyze_memory_references): Remove sorting of location - lists, instead assert they are sorted already when checking. - (prev_flag_edges): Remove. - (execute_sm_if_changed): Pass down and adjust prev edge state. - (execute_sm_exit): Likewise. - (hoist_memory_references): Likewise. Commit edge insertions - of each processed exit. - (store_motion_loop): Do not commit edge insertions on all - edges in the function. - (tree_ssa_lim_initialize): Do not call alloc_aux_for_edges. - (tree_ssa_lim_finalize): Do not call free_aux_for_edges. - -2020-08-05 Richard Biener - - * genmatch.c (fail_label): New global. - (expr::gen_transform): Branch to fail_label instead of - returning. Fix indent of call argument checking. - (dt_simplify::gen_1): Compute and emit fail_label, branch - to it instead of returning early. - -2020-08-05 Jakub Jelinek - - * omp-expand.c (expand_omp_for): Don't disallow combined non-rectangular - loops. - -2020-08-05 Jakub Jelinek - - PR middle-end/96459 - * omp-low.c (lower_omp_taskreg): Call lower_reduction_clauses even in - for host teams. - -2020-08-05 Jakub Jelinek - - * omp-expand.c (expand_omp_for_init_counts): Remember - first_inner_iterations, factor and n1o from the number of iterations - computation in *fd. - (expand_omp_for_init_vars): Use more efficient logical iteration number - to actual iterator values computation even for non-rectangular loops - where number of loop iterations could not be computed at compile time. - -2020-08-05 2020-08-04 Carl Love - - * config/rs6000/altivec.h (vec_blendv, vec_permx): Add define. - * config/rs6000/altivec.md (UNSPEC_XXBLEND, UNSPEC_XXPERMX.): New - unspecs. - (VM3): New define_mode. - (VM3_char): New define_attr. - (xxblend_ mode VM3): New define_insn. - (xxpermx): New define_expand. - (xxpermx_inst): New define_insn. - * config/rs6000/rs6000-builtin.def (VXXBLEND_V16QI, VXXBLEND_V8HI, - VXXBLEND_V4SI, VXXBLEND_V2DI, VXXBLEND_V4SF, VXXBLEND_V2DF): New - BU_P10V_3 definitions. - (XXBLEND): New BU_P10_OVERLOAD_3 definition. - (XXPERMX): New BU_P10_OVERLOAD_4 definition. - * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): - (P10_BUILTIN_VXXPERMX): Add if statement. - * config/rs6000/rs6000-call.c (P10_BUILTIN_VXXBLEND_V16QI, - P10_BUILTIN_VXXBLEND_V8HI, P10_BUILTIN_VXXBLEND_V4SI, - P10_BUILTIN_VXXBLEND_V2DI, P10_BUILTIN_VXXBLEND_V4SF, - P10_BUILTIN_VXXBLEND_V2DF, P10_BUILTIN_VXXPERMX): Define - overloaded arguments. - (rs6000_expand_quaternop_builtin): Add if case for CODE_FOR_xxpermx. - (builtin_quaternary_function_type): Add v16uqi_type and xxpermx_type - variables, add case statement for P10_BUILTIN_VXXPERMX. - (builtin_function_type): Add case statements for - P10_BUILTIN_VXXBLEND_V16QI, P10_BUILTIN_VXXBLEND_V8HI, - P10_BUILTIN_VXXBLEND_V4SI, P10_BUILTIN_VXXBLEND_V2DI. - * doc/extend.texi: Add documentation for vec_blendv and vec_permx. - -2020-08-05 2020-08-04 Carl Love - - * config/rs6000/altivec.h (vec_splati, vec_splatid, vec_splati_ins): - Add defines. - * config/rs6000/altivec.md (UNSPEC_XXSPLTIW, UNSPEC_XXSPLTID, - UNSPEC_XXSPLTI32DX): New. - (vxxspltiw_v4si, vxxspltiw_v4sf_inst, vxxspltidp_v2df_inst, - vxxsplti32dx_v4si_inst, vxxsplti32dx_v4sf_inst): New define_insn. - (vxxspltiw_v4sf, vxxspltidp_v2df, vxxsplti32dx_v4si, - vxxsplti32dx_v4sf.): New define_expands. - * config/rs6000/predicates.md (u1bit_cint_operand, - s32bit_cint_operand, c32bit_cint_operand): New predicates. - * config/rs6000/rs6000-builtin.def (VXXSPLTIW_V4SI, VXXSPLTIW_V4SF, - VXXSPLTID): New definitions. - (VXXSPLTI32DX_V4SI, VXXSPLTI32DX_V4SF): New BU_P10V_3 - definitions. - (XXSPLTIW, XXSPLTID): New definitions. - (XXSPLTI32DX): Add definitions. - * config/rs6000/rs6000-call.c (P10_BUILTIN_VEC_XXSPLTIW, - P10_BUILTIN_VEC_XXSPLTID, P10_BUILTIN_VEC_XXSPLTI32DX): - New definitions. - * config/rs6000/rs6000-protos.h (rs6000_constF32toI32): New extern - declaration. - * config/rs6000/rs6000.c (rs6000_constF32toI32): New function. - * doc/extend.texi: Add documentation for vec_splati, - vec_splatid, and vec_splati_ins. - -2020-08-05 2020-08-04 Carl Love - - * config/rs6000/altivec.h (vec_sldb, vec_srdb): New defines. - * config/rs6000/altivec.md (UNSPEC_SLDB, UNSPEC_SRDB): New. - (SLDB_lr): New attribute. - (VSHIFT_DBL_LR): New iterator. - (vsdb_): New define_insn. - * config/rs6000/rs6000-builtin.def (VSLDB_V16QI, VSLDB_V8HI, - VSLDB_V4SI, VSLDB_V2DI, VSRDB_V16QI, VSRDB_V8HI, VSRDB_V4SI, - VSRDB_V2DI): New BU_P10V_3 definitions. - (SLDB, SRDB): New BU_P10_OVERLOAD_3 definitions. - * config/rs6000/rs6000-call.c (P10_BUILTIN_VEC_SLDB, - P10_BUILTIN_VEC_SRDB): New definitions. - (rs6000_expand_ternop_builtin) [CODE_FOR_vsldb_v16qi, - CODE_FOR_vsldb_v8hi, CODE_FOR_vsldb_v4si, CODE_FOR_vsldb_v2di, - CODE_FOR_vsrdb_v16qi, CODE_FOR_vsrdb_v8hi, CODE_FOR_vsrdb_v4si, - CODE_FOR_vsrdb_v2di]: Add clauses. - * doc/extend.texi: Add description for vec_sldb and vec_srdb. - -2020-08-05 2020-08-04 Carl Love - - * config/rs6000/altivec.h: Add define for vec_replace_elt and - vec_replace_unaligned. - * config/rs6000/vsx.md (UNSPEC_REPLACE_ELT, UNSPEC_REPLACE_UN): New - unspecs. - (REPLACE_ELT): New mode iterator. - (REPLACE_ELT_char, REPLACE_ELT_sh, REPLACE_ELT_max): New mode attributes. - (vreplace_un_, vreplace_elt__inst): New. - * config/rs6000/rs6000-builtin.def (VREPLACE_ELT_V4SI, - VREPLACE_ELT_UV4SI, VREPLACE_ELT_V4SF, VREPLACE_ELT_UV2DI, - VREPLACE_ELT_V2DF, VREPLACE_UN_V4SI, VREPLACE_UN_UV4SI, - VREPLACE_UN_V4SF, VREPLACE_UN_V2DI, VREPLACE_UN_UV2DI, - VREPLACE_UN_V2DF, (REPLACE_ELT, REPLACE_UN, VREPLACE_ELT_V2DI): New builtin - entries. - * config/rs6000/rs6000-call.c (P10_BUILTIN_VEC_REPLACE_ELT, - P10_BUILTIN_VEC_REPLACE_UN): New builtin argument definitions. - (rs6000_expand_quaternop_builtin): Add 3rd argument checks for - CODE_FOR_vreplace_elt_v4si, CODE_FOR_vreplace_elt_v4sf, - CODE_FOR_vreplace_un_v4si, CODE_FOR_vreplace_un_v4sf. - (builtin_function_type) [P10_BUILTIN_VREPLACE_ELT_UV4SI, - P10_BUILTIN_VREPLACE_ELT_UV2DI, P10_BUILTIN_VREPLACE_UN_UV4SI, - P10_BUILTIN_VREPLACE_UN_UV2DI]: New cases. - * doc/extend.texi: Add description for vec_replace_elt and - vec_replace_unaligned builtins. - -2020-08-05 2020-08-04 Carl Love - - * config/rs6000/altivec.h (vec_insertl, vec_inserth): New defines. - * config/rs6000/rs6000-builtin.def (VINSERTGPRBL, VINSERTGPRHL, - VINSERTGPRWL, VINSERTGPRDL, VINSERTVPRBL, VINSERTVPRHL, VINSERTVPRWL, - VINSERTGPRBR, VINSERTGPRHR, VINSERTGPRWR, VINSERTGPRDR, VINSERTVPRBR, - VINSERTVPRHR, VINSERTVPRWR): New builtins. - (INSERTL, INSERTH): New builtins. - * config/rs6000/rs6000-call.c (P10_BUILTIN_VEC_INSERTL, - P10_BUILTIN_VEC_INSERTH): New overloaded definitions. - (P10_BUILTIN_VINSERTGPRBL, P10_BUILTIN_VINSERTGPRHL, - P10_BUILTIN_VINSERTGPRWL, P10_BUILTIN_VINSERTGPRDL, - P10_BUILTIN_VINSERTVPRBL, P10_BUILTIN_VINSERTVPRHL, - P10_BUILTIN_VINSERTVPRWL): Add case entries. - * config/rs6000/vsx.md (define_c_enum): Add UNSPEC_INSERTL, - UNSPEC_INSERTR. - (define_expand): Add vinsertvl_, vinsertvr_, - vinsertgl_, vinsertgr_, mode is VI2. - (define_ins): vinsertvl_internal_, vinsertvr_internal_, - vinsertgl_internal_, vinsertgr_internal_, mode VEC_I. - * doc/extend.texi: Add documentation for vec_insertl, vec_inserth. - -2020-08-05 2020-08-04 Carl Love - - * config/rs6000/altivec.md: (UNSPEC_EXTRACTL, UNSPEC_EXTRACTR) - (vextractl, vextractr) - (vextractl_internal, vextractr_internal for mode VI2) - (VI2): Move to ... - * config/rs6000/vsx.md: (UNSPEC_EXTRACTL, UNSPEC_EXTRACTR) - (vextractl, vextractr) - (vextractl_internal, vextractr_internal for mode VI2) - (VI2): ..here. - * doc/extend.texi: Update documentation for vec_extractl. - Replace builtin name vec_extractr with vec_extracth. Update - description of vec_extracth. - -2020-08-04 Jim Wilson - - * doc/invoke.texi (AArch64 Options): Delete duplicate - -mstack-protector-guard docs. - -2020-08-04 Roger Sayle - - * config/nvptx/nvptx.md (smulhi3_highpart, smulsi3_highpart) - (umulhi3_highpart, umulsi3_highpart): New instructions. - -2020-08-04 Andrew Stubbs - - * config/gcn/gcn-run.c (R_AMDGPU_NONE): Delete. - (R_AMDGPU_ABS32_LO): Delete. - (R_AMDGPU_ABS32_HI): Delete. - (R_AMDGPU_ABS64): Delete. - (R_AMDGPU_REL32): Delete. - (R_AMDGPU_REL64): Delete. - (R_AMDGPU_ABS32): Delete. - (R_AMDGPU_GOTPCREL): Delete. - (R_AMDGPU_GOTPCREL32_LO): Delete. - (R_AMDGPU_GOTPCREL32_HI): Delete. - (R_AMDGPU_REL32_LO): Delete. - (R_AMDGPU_REL32_HI): Delete. - (reserved): Delete. - (R_AMDGPU_RELATIVE64): Delete. - -2020-08-04 Omar Tahir - - * config/arm/arm-cpus.in (armv8.1-m.main): Tune for Cortex-M55. - -2020-08-04 Hu Jiangping - - * config/aarch64/aarch64.c (aarch64_if_then_else_costs): Delete - redundant extra_cost variable. - -2020-08-04 Zhiheng Xie - - * config/aarch64/aarch64-builtins.c (aarch64_call_properties): - Use FLOAT_MODE_P macro instead of enumerating all floating-point - modes and add global flag FLAG_AUTO_FP. - -2020-08-04 Jakub Jelinek - - * doc/extend.texi (symver): Add @cindex for symver function attribute. - -2020-08-04 Marc Glisse - - PR tree-optimization/95433 - * match.pd (X * C1 == C2): New transformation. - -2020-08-04 Aldy Hernandez - - * gimple-ssa-sprintf.c (get_int_range): Adjust for irange API. - (format_integer): Same. - (handle_printf_call): Same. - -2020-08-04 Andrew Stubbs - - * config/gcn/gcn.md ("ti3"): New. - -2020-08-04 Richard Biener - - PR tree-optimization/88240 - * tree-ssa-sccvn.h (vn_reference_s::punned): New flag. - * tree-ssa-sccvn.c (vn_reference_insert): Initialize punned. - (vn_reference_insert_pieces): Likewise. - (visit_reference_op_call): Likewise. - (visit_reference_op_load): Track whether a ref was punned. - * tree-ssa-pre.c (do_hoist_insertion): Refuse to perform hoist - insertion on punned floating point loads. - -2020-08-04 Sudakshina Das - - * config/aarch64/aarch64.c (aarch64_gen_store_pair): Add case - for E_V4SImode. - (aarch64_gen_load_pair): Likewise. - (aarch64_copy_one_block_and_progress_pointers): Handle 256 bit copy. - (aarch64_expand_cpymem): Expand copy_limit to 256bits where - appropriate. - -2020-08-04 Andrea Corallo - - * config/aarch64/aarch64.md (aarch64_fjcvtzs): Add missing - clobber. - * doc/sourcebuild.texi (aarch64_fjcvtzs_hw) Document new - target supports option. - -2020-08-04 Tom de Vries - - PR target/96428 - * config/nvptx/nvptx.c (nvptx_gen_shuffle): Handle V2SI/V2DI. - -2020-08-04 Jakub Jelinek - - PR middle-end/96426 - * tree-vect-generic.c (expand_vector_conversion): Replace .VEC_CONVERT - call with GIMPLE_NOP if there is no lhs. - -2020-08-04 Jakub Jelinek - - PR debug/96354 - * gimple-fold.c (maybe_canonicalize_mem_ref_addr): Add IS_DEBUG - argument. Return false instead of gcc_unreachable if it is true and - get_addr_base_and_unit_offset returns NULL. - (fold_stmt_1) : Adjust caller. - -2020-08-04 Aldy Hernandez - - * vr-values.c (simplify_using_ranges::vrp_evaluate_conditional): - Call is_gimple_min_invariant dropped from previous patch. - -2020-08-04 Jakub Jelinek - - * omp-expand.c (expand_omp_for_init_counts): For triangular loops - compute number of iterations at runtime more efficiently. - (expand_omp_for_init_vars): Adjust immediate dominators. - (extract_omp_for_update_vars): Likewise. - -2020-08-04 Aldy Hernandez - - * vr-values.c (simplify_using_ranges::two_valued_val_range_p): - Use irange API. - -2020-08-04 Aldy Hernandez - - * vr-values.c (simplify_conversion_using_ranges): Convert to irange API. - -2020-08-04 Aldy Hernandez - - * vr-values.c (test_for_singularity): Use irange API. - (simplify_using_ranges::simplify_cond_using_ranges_1): Do not - special case VR_RANGE. - -2020-08-04 Aldy Hernandez - - * vr-values.c (simplify_using_ranges::vrp_evaluate_conditional): Adjust - for irange API. - -2020-08-04 Aldy Hernandez - - * vr-values.c (simplify_using_ranges::op_with_boolean_value_range_p): Adjust - for irange API. - -2020-08-04 Aldy Hernandez - - * tree-ssanames.c (get_range_info): Use irange instead of value_range. - * tree-ssanames.h (get_range_info): Same. - -2020-08-04 Aldy Hernandez - - * fold-const.c (expr_not_equal_to): Adjust for irange API. - -2020-08-04 Aldy Hernandez - - * builtins.c (determine_block_size): Remove ad-hoc range canonicalization. - -2020-08-04 Xionghu Luo - - PR rtl-optimization/71309 - * dse.c (find_shift_sequence): Use subreg of shifted from high part - register to avoid loading from address. - -2020-08-03 Jonathan Wakely - - * doc/cpp.texi (Variadic Macros): Use the exact ... token in - code examples. - -2020-08-03 Nathan Sidwell - - * doc/invoke.texi: Refer to c++20 - -2020-08-03 Julian Brown - Thomas Schwinge - - * gimplify.c (gimplify_omp_target_update): Allow GOMP_MAP_TO_PSET - without a preceding data-movement mapping. - -2020-08-03 Iain Sandoe - - * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): UNDEF before - use. - (DEF_MIN_OSX_VERSION): Only define if there's no existing - def. - -2020-08-03 Iain Sandoe - - * config/darwin.c (IN_TARGET_CODE): Remove. - (darwin_mergeable_constant_section): Handle poly-int machine modes. - (machopic_select_rtx_section): Likewise. - -2020-08-03 Aldy Hernandez - - PR tree-optimization/96430 - * range-op.cc (operator_tests): Do not shift by 31 on targets with - integer's smaller than 32 bits. - -2020-08-03 Martin Jambor - - * hsa-brig-format.h: Moved to brig/brigfrontend. - * hsa-brig.c: Removed. - * hsa-builtins.def: Likewise. - * hsa-common.c: Likewise. - * hsa-common.h: Likewise. - * hsa-dump.c: Likewise. - * hsa-gen.c: Likewise. - * hsa-regalloc.c: Likewise. - * ipa-hsa.c: Likewise. - * omp-grid.c: Likewise. - * omp-grid.h: Likewise. - * Makefile.in (BUILTINS_DEF): Remove hsa-builtins.def. - (OBJS): Remove hsa-common.o, hsa-gen.o, hsa-regalloc.o, hsa-brig.o, - hsa-dump.o, ipa-hsa.c and omp-grid.o. - (GTFILES): Removed hsa-common.c and omp-expand.c. - * builtins.def: Remove processing of hsa-builtins.def. - (DEF_HSA_BUILTIN): Remove. - * common.opt (flag_disable_hsa): Remove. - (-Whsa): Ignore. - * config.in (ENABLE_HSA): Removed. - * configure.ac: Removed handling configuration for hsa offloading. - (ENABLE_HSA): Removed. - * configure: Regenerated. - * doc/install.texi (--enable-offload-targets): Remove hsa from the - example. - (--with-hsa-runtime): Reword to reference any HSA run-time, not - specifically HSA offloading. - * doc/invoke.texi (Option Summary): Remove -Whsa. - (Warning Options): Likewise. - (Optimize Options): Remove hsa-gen-debug-stores. - * doc/passes.texi (Regular IPA passes): Remove section on IPA HSA - pass. - * gimple-low.c (lower_stmt): Remove GIMPLE_OMP_GRID_BODY case. - * gimple-pretty-print.c (dump_gimple_omp_for): Likewise. - (dump_gimple_omp_block): Likewise. - (pp_gimple_stmt_1): Likewise. - * gimple-walk.c (walk_gimple_stmt): Likewise. - * gimple.c (gimple_build_omp_grid_body): Removed function. - (gimple_copy): Remove GIMPLE_OMP_GRID_BODY case. - * gimple.def (GIMPLE_OMP_GRID_BODY): Removed. - * gimple.h (gf_mask): Removed GF_OMP_PARALLEL_GRID_PHONY, - OMP_FOR_KIND_GRID_LOOP, GF_OMP_FOR_GRID_PHONY, - GF_OMP_FOR_GRID_INTRA_GROUP, GF_OMP_FOR_GRID_GROUP_ITER and - GF_OMP_TEAMS_GRID_PHONY. Renumbered GF_OMP_FOR_KIND_SIMD and - GF_OMP_TEAMS_HOST. - (gimple_build_omp_grid_body): Removed declaration. - (gimple_has_substatements): Remove GIMPLE_OMP_GRID_BODY case. - (gimple_omp_for_grid_phony): Removed. - (gimple_omp_for_set_grid_phony): Likewise. - (gimple_omp_for_grid_intra_group): Likewise. - (gimple_omp_for_grid_intra_group): Likewise. - (gimple_omp_for_grid_group_iter): Likewise. - (gimple_omp_for_set_grid_group_iter): Likewise. - (gimple_omp_parallel_grid_phony): Likewise. - (gimple_omp_parallel_set_grid_phony): Likewise. - (gimple_omp_teams_grid_phony): Likewise. - (gimple_omp_teams_set_grid_phony): Likewise. - (CASE_GIMPLE_OMP): Remove GIMPLE_OMP_GRID_BODY case. - * lto-section-in.c (lto_section_name): Removed hsa. - * lto-streamer.h (lto_section_type): Removed LTO_section_ipa_hsa. - * lto-wrapper.c (compile_images_for_offload_targets): Remove special - handling of hsa. - * omp-expand.c: Do not include hsa-common.h and gt-omp-expand.h. - (parallel_needs_hsa_kernel_p): Removed. - (grid_launch_attributes_trees): Likewise. - (grid_launch_attributes_trees): Likewise. - (grid_create_kernel_launch_attr_types): Likewise. - (grid_insert_store_range_dim): Likewise. - (grid_get_kernel_launch_attributes): Likewise. - (get_target_arguments): Remove code passing HSA grid sizes. - (grid_expand_omp_for_loop): Remove. - (grid_arg_decl_map): Likewise. - (grid_remap_kernel_arg_accesses): Likewise. - (grid_expand_target_grid_body): Likewise. - (expand_omp): Remove call to grid_expand_target_grid_body. - (omp_make_gimple_edges): Remove GIMPLE_OMP_GRID_BODY case. - * omp-general.c: Do not include hsa-common.h. - (omp_maybe_offloaded): Do not check for HSA offloading. - (omp_context_selector_matches): Likewise. - * omp-low.c: Do not include hsa-common.h and omp-grid.h. - (build_outer_var_ref): Remove handling of GIMPLE_OMP_GRID_BODY. - (scan_sharing_clauses): Remove handling of OMP_CLAUSE__GRIDDIM_. - (scan_omp_parallel): Remove handling of the phoney variant. - (check_omp_nesting_restrictions): Remove handling of - GIMPLE_OMP_GRID_BODY and GF_OMP_FOR_KIND_GRID_LOOP. - (scan_omp_1_stmt): Remove handling of GIMPLE_OMP_GRID_BODY. - (lower_omp_for_lastprivate): Remove handling of gridified loops. - (lower_omp_for): Remove phony loop handling. - (lower_omp_taskreg): Remove phony construct handling. - (lower_omp_teams): Likewise. - (lower_omp_grid_body): Removed. - (lower_omp_1): Remove GIMPLE_OMP_GRID_BODY case. - (execute_lower_omp): Do not call omp_grid_gridify_all_targets. - * opts.c (common_handle_option): Do not handle hsa when processing - OPT_foffload_. - * params.opt (hsa-gen-debug-stores): Remove. - * passes.def: Remove pass_ipa_hsa and pass_gen_hsail. - * timevar.def: Remove TV_IPA_HSA. - * toplev.c: Do not include hsa-common.h. - (compile_file): Do not call hsa_output_brig. - * tree-core.h (enum omp_clause_code): Remove OMP_CLAUSE__GRIDDIM_. - (tree_omp_clause): Remove union field dimension. - * tree-nested.c (convert_nonlocal_omp_clauses): Remove the - OMP_CLAUSE__GRIDDIM_ case. - (convert_local_omp_clauses): Likewise. - * tree-pass.h (make_pass_gen_hsail): Remove declaration. - (make_pass_ipa_hsa): Likewise. - * tree-pretty-print.c (dump_omp_clause): Remove GIMPLE_OMP_GRID_BODY - case. - * tree.c (omp_clause_num_ops): Remove the element corresponding to - OMP_CLAUSE__GRIDDIM_. - (omp_clause_code_name): Likewise. - (walk_tree_1): Remove GIMPLE_OMP_GRID_BODY case. - * tree.h (OMP_CLAUSE__GRIDDIM__DIMENSION): Remove. - (OMP_CLAUSE__GRIDDIM__SIZE): Likewise. - (OMP_CLAUSE__GRIDDIM__GROUP): Likewise. - -2020-08-03 Bu Le - - * config/aarch64/aarch64-sve.md (sub3): Add support for - unpacked vectors. - -2020-08-03 Jozef Lawrynowicz - - * config/msp430/msp430.h (ASM_SPEC): Don't pass on "-md" option. - -2020-08-03 Yunde Zhong - - PR rtl-optimization/95696 - * regrename.c (regrename_analyze): New param include_all_block_p - with default value TRUE. If set to false, avoid disrupting SMS - schedule. - * regrename.h (regrename_analyze): Adjust prototype. - -2020-08-03 Wei Wentao - - * doc/tm.texi.in (VECTOR_STORE_FLAG_VALUE): Fix a typo. - * doc/tm.texi: Regenerate. - -2020-08-03 Richard Sandiford - - * doc/invoke.texi: Add missing comma after octeontx2f95mm entry. - -2020-08-03 Qian jianhua - - * config/aarch64/aarch64-cores.def (a64fx): New core. - * config/aarch64/aarch64-tune.md: Regenerated. - * config/aarch64/aarch64.c (a64fx_prefetch_tune, a64fx_tunings): New. - * doc/invoke.texi: Add a64fx to the list. - -2020-08-03 Roger Sayle - - PR rtl-optimization/61494 - * simplify-rtx.c (simplify_binary_operation_1) [MINUS]: Don't - simplify x - 0.0 with -fsignaling-nans. - -2020-08-03 Roger Sayle - - * genmatch.c (decision_tree::gen): Emit stub functions for - tree code operand counts that have no simplifications. - (main): Correct comment typo. - -2020-08-03 Jonathan Wakely - - * gimple-ssa-sprintf.c: Fix typos in comments. - -2020-08-03 Tamar Christina - - * config/aarch64/driver-aarch64.c (readline): Check return value fgets. - -2020-08-03 Richard Biener - - * doc/match-and-simplify.texi: Amend accordingly. - -2020-08-03 Richard Biener - - * genmatch.c (parser::gimple): New. - (parser::parser): Initialize gimple flag member. - (parser::parse_expr): Error on ! operator modifier when - not targeting GIMPLE. - (main): Pass down gimple flag to parser ctor. - -2020-08-03 Aldy Hernandez - - * Makefile.in (GTFILES): Move value-range.h up. - * gengtype-lex.l: Set yylval to handle GTY markers on templates. - * ipa-cp.c (initialize_node_lattices): Call value_range - constructor. - (ipcp_propagate_stage): Use in-place new so value_range construct - is called. - * ipa-fnsummary.c (evaluate_conditions_for_known_args): Use std - vec instead of GCC's vec<>. - (evaluate_properties_for_edge): Adjust for std vec. - (ipa_fn_summary_t::duplicate): Same. - (estimate_ipcp_clone_size_and_time): Same. - * ipa-prop.c (ipa_get_value_range): Use in-place new for - value_range. - * ipa-prop.h (struct GTY): Remove class keyword for m_vr. - * range-op.cc (empty_range_check): Rename to... - (empty_range_varying): ...this and adjust for varying. - (undefined_shift_range_check): Adjust for irange. - (range_operator::wi_fold): Same. - (range_operator::fold_range): Adjust for irange. Special case - single pairs for performance. - (range_operator::op1_range): Adjust for irange. - (range_operator::op2_range): Same. - (value_range_from_overflowed_bounds): Same. - (value_range_with_overflow): Same. - (create_possibly_reversed_range): Same. - (range_true): Same. - (range_false): Same. - (range_true_and_false): Same. - (get_bool_state): Adjust for irange and tweak for performance. - (operator_equal::fold_range): Adjust for irange. - (operator_equal::op1_range): Same. - (operator_equal::op2_range): Same. - (operator_not_equal::fold_range): Same. - (operator_not_equal::op1_range): Same. - (operator_not_equal::op2_range): Same. - (build_lt): Same. - (build_le): Same. - (build_gt): Same. - (build_ge): Same. - (operator_lt::fold_range): Same. - (operator_lt::op1_range): Same. - (operator_lt::op2_range): Same. - (operator_le::fold_range): Same. - (operator_le::op1_range): Same. - (operator_le::op2_range): Same. - (operator_gt::fold_range): Same. - (operator_gt::op1_range): Same. - (operator_gt::op2_range): Same. - (operator_ge::fold_range): Same. - (operator_ge::op1_range): Same. - (operator_ge::op2_range): Same. - (operator_plus::wi_fold): Same. - (operator_plus::op1_range): Same. - (operator_plus::op2_range): Same. - (operator_minus::wi_fold): Same. - (operator_minus::op1_range): Same. - (operator_minus::op2_range): Same. - (operator_min::wi_fold): Same. - (operator_max::wi_fold): Same. - (cross_product_operator::wi_cross_product): Same. - (operator_mult::op1_range): New. - (operator_mult::op2_range): New. - (operator_mult::wi_fold): Adjust for irange. - (operator_div::wi_fold): Same. - (operator_exact_divide::op1_range): Same. - (operator_lshift::fold_range): Same. - (operator_lshift::wi_fold): Same. - (operator_lshift::op1_range): New. - (operator_rshift::op1_range): New. - (operator_rshift::fold_range): Adjust for irange. - (operator_rshift::wi_fold): Same. - (operator_cast::truncating_cast_p): Abstract out from - operator_cast::fold_range. - (operator_cast::fold_range): Adjust for irange and tweak for - performance. - (operator_cast::inside_domain_p): Abstract out from fold_range. - (operator_cast::fold_pair): Same. - (operator_cast::op1_range): Use abstracted methods above. Adjust - for irange and tweak for performance. - (operator_logical_and::fold_range): Adjust for irange. - (operator_logical_and::op1_range): Same. - (operator_logical_and::op2_range): Same. - (unsigned_singleton_p): New. - (operator_bitwise_and::remove_impossible_ranges): New. - (operator_bitwise_and::fold_range): New. - (wi_optimize_and_or): Adjust for irange. - (operator_bitwise_and::wi_fold): Same. - (set_nonzero_range_from_mask): New. - (operator_bitwise_and::simple_op1_range_solver): New. - (operator_bitwise_and::op1_range): Adjust for irange. - (operator_bitwise_and::op2_range): Same. - (operator_logical_or::fold_range): Same. - (operator_logical_or::op1_range): Same. - (operator_logical_or::op2_range): Same. - (operator_bitwise_or::wi_fold): Same. - (operator_bitwise_or::op1_range): Same. - (operator_bitwise_or::op2_range): Same. - (operator_bitwise_xor::wi_fold): Same. - (operator_bitwise_xor::op1_range): New. - (operator_bitwise_xor::op2_range): New. - (operator_trunc_mod::wi_fold): Adjust for irange. - (operator_logical_not::fold_range): Same. - (operator_logical_not::op1_range): Same. - (operator_bitwise_not::fold_range): Same. - (operator_bitwise_not::op1_range): Same. - (operator_cst::fold_range): Same. - (operator_identity::fold_range): Same. - (operator_identity::op1_range): Same. - (class operator_unknown): New. - (operator_unknown::fold_range): New. - (class operator_abs): Adjust for irange. - (operator_abs::wi_fold): Same. - (operator_abs::op1_range): Same. - (operator_absu::wi_fold): Same. - (class operator_negate): Same. - (operator_negate::fold_range): Same. - (operator_negate::op1_range): Same. - (operator_addr_expr::fold_range): Same. - (operator_addr_expr::op1_range): Same. - (pointer_plus_operator::wi_fold): Same. - (pointer_min_max_operator::wi_fold): Same. - (pointer_and_operator::wi_fold): Same. - (pointer_or_operator::op1_range): New. - (pointer_or_operator::op2_range): New. - (pointer_or_operator::wi_fold): Adjust for irange. - (integral_table::integral_table): Add entries for IMAGPART_EXPR - and POINTER_DIFF_EXPR. - (range_cast): Adjust for irange. - (build_range3): New. - (range3_tests): New. - (widest_irange_tests): New. - (multi_precision_range_tests): New. - (operator_tests): New. - (range_tests): New. - * range-op.h (class range_operator): Adjust for irange. - (range_cast): Same. - * tree-vrp.c (range_fold_binary_symbolics_p): Adjust for irange and - tweak for performance. - (range_fold_binary_expr): Same. - (masked_increment): Change to extern. - * tree-vrp.h (masked_increment): New. - * tree.c (cache_wide_int_in_type_cache): New function abstracted - out from wide_int_to_tree_1. - (wide_int_to_tree_1): Cache 0, 1, and MAX for pointers. - * value-range-equiv.cc (value_range_equiv::deep_copy): Use kind - method. - (value_range_equiv::move): Same. - (value_range_equiv::check): Adjust for irange. - (value_range_equiv::intersect): Same. - (value_range_equiv::union_): Same. - (value_range_equiv::dump): Same. - * value-range.cc (irange::operator=): Same. - (irange::maybe_anti_range): New. - (irange::copy_legacy_range): New. - (irange::set_undefined): Adjust for irange. - (irange::swap_out_of_order_endpoints): Abstract out from set(). - (irange::set_varying): Adjust for irange. - (irange::irange_set): New. - (irange::irange_set_anti_range): New. - (irange::set): Adjust for irange. - (value_range::set_nonzero): Move to header file. - (value_range::set_zero): Move to header file. - (value_range::check): Rename to... - (irange::verify_range): ...this. - (value_range::num_pairs): Rename to... - (irange::legacy_num_pairs): ...this, and adjust for irange. - (value_range::lower_bound): Rename to... - (irange::legacy_lower_bound): ...this, and adjust for irange. - (value_range::upper_bound): Rename to... - (irange::legacy_upper_bound): ...this, and adjust for irange. - (value_range::equal_p): Rename to... - (irange::legacy_equal_p): ...this. - (value_range::operator==): Move to header file. - (irange::equal_p): New. - (irange::symbolic_p): Adjust for irange. - (irange::constant_p): Same. - (irange::singleton_p): Same. - (irange::value_inside_range): Same. - (irange::may_contain_p): Same. - (irange::contains_p): Same. - (irange::normalize_addresses): Same. - (irange::normalize_symbolics): Same. - (irange::legacy_intersect): Same. - (irange::legacy_union): Same. - (irange::union_): Same. - (irange::intersect): Same. - (irange::irange_union): New. - (irange::irange_intersect): New. - (subtract_one): New. - (irange::invert): Adjust for irange. - (dump_bound_with_infinite_markers): New. - (irange::dump): Adjust for irange. - (debug): Add irange versions. - (range_has_numeric_bounds_p): Adjust for irange. - (vrp_val_max): Move to header file. - (vrp_val_min): Move to header file. - (DEFINE_INT_RANGE_GC_STUBS): New. - (DEFINE_INT_RANGE_INSTANCE): New. - * value-range.h (class irange): New. - (class int_range): New. - (class value_range): Rename to a instantiation of int_range. - (irange::legacy_mode_p): New. - (value_range::value_range): Remove. - (irange::kind): New. - (irange::num_pairs): Adjust for irange. - (irange::type): Adjust for irange. - (irange::tree_lower_bound): New. - (irange::tree_upper_bound): New. - (irange::type): Adjust for irange. - (irange::min): Same. - (irange::max): Same. - (irange::varying_p): Same. - (irange::undefined_p): Same. - (irange::zero_p): Same. - (irange::nonzero_p): Same. - (irange::supports_type_p): Same. - (range_includes_zero_p): Same. - (gt_ggc_mx): New. - (gt_pch_nx): New. - (irange::irange): New. - (int_range::int_range): New. - (int_range::operator=): New. - (irange::set): Moved from value-range.cc and adjusted for irange. - (irange::set_undefined): Same. - (irange::set_varying): Same. - (irange::operator==): Same. - (irange::lower_bound): Same. - (irange::upper_bound): Same. - (irange::union_): Same. - (irange::intersect): Same. - (irange::set_nonzero): Same. - (irange::set_zero): Same. - (irange::normalize_min_max): New. - (vrp_val_max): Move from value-range.cc. - (vrp_val_min): Same. - * vr-values.c (vr_values::get_lattice_entry): Call value_range - constructor. - -2020-08-02 Sergei Trofimovich - - PR bootstrap/96404 - * var-tracking.c (vt_find_locations): Fully initialize - all 'in_pending' bits. - -2020-08-01 Jan Hubicka - - * symtab.c (symtab_node::verify_base): Verify order. - (symtab_node::verify_symtab_nodes): Verify order. - -2020-08-01 Jan Hubicka - - * predict.c (estimate_bb_frequencies): Cap recursive calls by 90%. - -2020-08-01 Jojo R - - * config/csky/csky_opts.h (float_abi_type): New. - * config/csky/csky.h (TARGET_SOFT_FLOAT): New. - (TARGET_HARD_FLOAT): New. - (TARGET_HARD_FLOAT_ABI): New. - (OPTION_DEFAULT_SPECS): Use mfloat-abi. - * config/csky/csky.opt (mfloat-abi): New. - * doc/invoke.texi (C-SKY Options): Document -mfloat-abi=. - -2020-08-01 Cooper Qu - - * config/csky/t-csky-linux: Delete big endian CPUs' multilib. - -2020-07-31 Roger Sayle - Tom de Vries - - PR target/90928 - * config/nvptx/nvptx.c (nvptx_truly_noop_truncation): Implement. - (TARGET_TRULY_NOOP_TRUNCATION): Define. - -2020-07-31 Richard Biener - - PR debug/96383 - * langhooks-def.h (lhd_finalize_early_debug): Declare. - (LANG_HOOKS_FINALIZE_EARLY_DEBUG): Define. - (LANG_HOOKS_INITIALIZER): Amend. - * langhooks.c: Include cgraph.h and debug.h. - (lhd_finalize_early_debug): Default implementation from - former code in finalize_compilation_unit. - * langhooks.h (lang_hooks::finalize_early_debug): Add. - * cgraphunit.c (symbol_table::finalize_compilation_unit): - Call the finalize_early_debug langhook. - -2020-07-31 Richard Biener - - * genmatch.c (expr::force_leaf): Add and initialize. - (expr::gen_transform): Honor force_leaf by passing - NULL as sequence argument to maybe_push_res_to_seq. - (parser::parse_expr): Allow ! marker on result expression - operations. - * doc/match-and-simplify.texi: Amend. - -2020-07-31 Kewen Lin - - * tree-vect-loop.c (vect_get_known_peeling_cost): Don't consider branch - taken costs for prologue and epilogue if they don't exist. - (vect_estimate_min_profitable_iters): Likewise. - -2020-07-31 Martin Liska - - * cgraph.h: Remove leading empty lines. - * cgraphunit.c (enum cgraph_order_sort_kind): Remove - ORDER_UNDEFINED. - (struct cgraph_order_sort): Add constructors. - (cgraph_order_sort::process): New. - (cgraph_order_cmp): New. - (output_in_order): Simplify and push nodes to vector. - -2020-07-31 Richard Biener - - PR middle-end/96369 - * fold-const.c (fold_range_test): Special-case constant - LHS for short-circuiting operations. - -2020-07-31 Martin Liska - - * gcov-io.h (GCOV_PREALLOCATED_KVP): New. - -2020-07-31 Zhiheng Xie - - * config/aarch64/aarch64-builtins.c (aarch64_general_add_builtin): - Add new argument ATTRS. - (aarch64_call_properties): New function. - (aarch64_modifies_global_state_p): Likewise. - (aarch64_reads_global_state_p): Likewise. - (aarch64_could_trap_p): Likewise. - (aarch64_add_attribute): Likewise. - (aarch64_get_attributes): Likewise. - (aarch64_init_simd_builtins): Add attributes for each built-in function. - -2020-07-31 Richard Biener - - PR debug/78288 - * var-tracking.c (vt_find_locations): Use - rev_post_order_and_mark_dfs_back_seme and separately iterate - over toplevel SCCs. - -2020-07-31 Richard Biener - - * cfganal.h (rev_post_order_and_mark_dfs_back_seme): Adjust - prototype. - * cfganal.c (rpoamdbs_bb_data): New struct with pre BB data. - (tag_header): New helper. - (cmp_edge_dest_pre): Likewise. - (rev_post_order_and_mark_dfs_back_seme): Compute SCCs, - find SCC exits and perform a DFS walk with extra edges to - compute a RPO with adjacent SCC members when requesting an - iteration optimized order and populate the toplevel SCC array. - * tree-ssa-sccvn.c (do_rpo_vn): Remove ad-hoc computation - of max_rpo and fill it in from SCC extent info instead. - -2020-07-30 Will Schmidt - - * config/rs6000/altivec.h (vec_test_lsbb_all_ones): New define. - (vec_test_lsbb_all_zeros): New define. - * config/rs6000/rs6000-builtin.def (BU_P10_VSX_1): New built-in - handling macro. - (XVTLSBB_ZEROS, XVTLSBB_ONES): New builtin defines. - (xvtlsbb_all_zeros, xvtlsbb_all_ones): New builtin overloads. - * config/rs6000/rs6000-call.c (P10_BUILTIN_VEC_XVTLSBB_ZEROS, - P10_BUILTIN_VEC_XVTLSBB_ONES): New altivec_builtin_types entries. - * config/rs6000/rs6000.md (UNSPEC_XVTLSBB): New unspec. - * config/rs6000/vsx.md (*xvtlsbb_internal): New instruction define. - (xvtlsbbo, xvtlsbbz): New instruction expands. - -2020-07-30 Cooper Qu - - * config/riscv/riscv-opts.h (stack_protector_guard): New enum. - * config/riscv/riscv.c (riscv_option_override): Handle - the new options. - * config/riscv/riscv.md (stack_protect_set): New pattern to handle - flexible stack protector guard settings. - (stack_protect_set_): Ditto. - (stack_protect_test): Ditto. - (stack_protect_test_): Ditto. - * config/riscv/riscv.opt (mstack-protector-guard=, - mstack-protector-guard-reg=, mstack-protector-guard-offset=): New - options. - * doc/invoke.texi (Option Summary) [RISC-V Options]: - Add -mstack-protector-guard=, -mstack-protector-guard-reg=, and - -mstack-protector-guard-offset=. - (RISC-V Options): Ditto. - -2020-07-30 H.J. Lu - - PR bootstrap/96202 - * configure: Regenerated. - -2020-07-30 Richard Biener - - PR tree-optimization/96370 - * tree-ssa-reassoc.c (rewrite_expr_tree): Add operation - code parameter and use it instead of picking it up from - the stmt that is being rewritten. - (reassociate_bb): Pass down the operation code. - -2020-07-30 Roger Sayle - Tom de Vries - - * config/nvptx/nvptx.md (nvptx_vector_index_operand): New predicate. - (VECELEM): New mode attribute for a vector's uppercase element mode. - (Vecelem): New mode attribute for a vector's lowercase element mode. - (*vec_set_0, *vec_set_1, *vec_set_2) - (*vec_set_3): New instructions. - (vec_set): New expander to generate one of the above insns. - (vec_extract): New instruction. - -2020-07-30 Martin Liska - - PR target/95435 - * config/i386/x86-tune-costs.h: Use libcall for large sizes for - -m32. Start using libcall from 128+ bytes. - -2020-07-30 Martin Liska - - * config/i386/x86-tune-costs.h: Change code formatting. - -2020-07-29 Roger Sayle - - * config/nvptx/nvptx.md (recip2): New instruction. - -2020-07-29 Fangrui Song - - PR debug/95096 - * opts.c (common_handle_option): Don't make -gsplit-dwarf imply -g. - * doc/invoke.texi (-gsplit-dwarf): Update documentation. - -2020-07-29 Joe Ramsay - - * config/arm/arm-protos.h (arm_coproc_mem_operand_no_writeback): - Declare prototype. - (arm_mve_mode_and_operands_type_check): Declare prototype. - * config/arm/arm.c (arm_coproc_mem_operand): Refactor to use - _arm_coproc_mem_operand. - (arm_coproc_mem_operand_wb): New function to cover full, limited - and no writeback. - (arm_coproc_mem_operand_no_writeback): New constraint for memory - operand with no writeback. - (arm_print_operand): Extend 'E' specifier for memory operand - that does not support writeback. - (arm_mve_mode_and_operands_type_check): New constraint check for - MVE memory operands. - * config/arm/constraints.md: Add Uj constraint for VFP vldr.16 - and vstr.16. - * config/arm/vfp.md (*mov_load_vfp_hf16): New pattern for - vldr.16. - (*mov_store_vfp_hf16): New pattern for vstr.16. - (*mov_vfp_16): Remove MVE moves. - -2020-07-29 Richard Biener - - PR tree-optimization/96349 - * tree-ssa-loop-split.c (stmt_semi_invariant_p_1): When the - condition runs into a loop PHI with an abnormal entry value give up. - -2020-07-29 Richard Biener - - * tree-vectorizer.c (vectorize_loops): Reset the SCEV - cache if we removed any SIMD UID SSA defs. - * gimple-loop-interchange.cc (pass_linterchange::execute): - Reset the scev cache if we interchanged a loop. - -2020-07-29 Richard Biener - - PR tree-optimization/95679 - * tree-ssa-propagate.h - (substitute_and_fold_engine::propagate_into_phi_args): Return - whether anything changed. - * tree-ssa-propagate.c - (substitute_and_fold_engine::propagate_into_phi_args): Likewise. - (substitute_and_fold_dom_walker::before_dom_children): Update - something_changed. - -2020-07-29 Stefan Schulze Frielinghaus - - * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): - Ensure that loop variable npeel_tmp advances in each iteration. - -2020-07-29 Hans-Peter Nilsson - - * config/mmix/mmix.h (NO_FUNCTION_CSE): Define to 1. - -2020-07-29 Hans-Peter Nilsson - - * config/mmix/mmix.h (ASM_OUTPUT_EXTERNAL): Define to - default_elf_asm_output_external. - -2020-07-28 Sergei Trofimovich - - PR ipa/96291 - * ipa-cp.c (has_undead_caller_from_outside_scc_p): Consider - unoptimized callers as undead. - -2020-07-28 Roger Sayle - Richard Biener - - * match.pd (popcount(x)&1 -> parity(x)): New simplification. - (parity(~x) -> parity(x)): New simplification. - (parity(x)^parity(y) -> parity(x^y)): New simplification. - (parity(x&1) -> x&1): New simplification. - (popcount(x) -> x>>C): New simplification. - -2020-07-28 Roger Sayle - Tom de Vries - - * config/nvptx/nvptx.md (extendqihi2): New instruction. - (ashl3, ashr3, lshr3): Support HImode. - -2020-07-28 Jakub Jelinek - - PR middle-end/96335 - * calls.c (maybe_warn_rdwr_sizes): Add FNDECL and FNTYPE arguments, - instead of trying to rediscover them in the body. - (initialize_argument_information): Adjust caller. - -2020-07-28 Kewen Lin - - * tree-vect-loop.c (vect_get_known_peeling_cost): Factor out some code - to determine peel_iters_epilogue to... - (vect_get_peel_iters_epilogue): ...this new function. - (vect_estimate_min_profitable_iters): Refactor cost calculation on - peel_iters_prologue and peel_iters_epilogue. - -2020-07-27 Martin Sebor - - PR tree-optimization/84079 - * gimple-array-bounds.cc (array_bounds_checker::check_addr_expr): - Only allow just-past-the-end references for the most significant - array bound. - -2020-07-27 Hu Jiangping - - PR driver/96247 - * opts.c (check_alignment_argument): Set the -falign-Name - on/off flag on and set the -falign-Name string value null, - when the command-line specified argument is zero. - -2020-07-27 Martin Liska - - PR tree-optimization/96058 - * expr.c (string_constant): Build string_constant only - for a type that has same precision as char_type_node - and is an integral type. - -2020-07-27 Richard Biener - - * var-tracking.c (variable_tracking_main_1): Remove call - to mark_dfs_back_edges. - -2020-07-27 Martin Liska - - PR tree-optimization/96128 - * tree-vect-generic.c (expand_vector_comparison): Do not expand - vector comparison with VEC_COND_EXPR. - -2020-07-27 H.J. Lu - - PR bootstrap/96203 - * common.opt: Add -fcf-protection=check. - * flag-types.h (cf_protection_level): Add CF_CHECK. - * lto-wrapper.c (merge_and_complain): Issue an error for - mismatching -fcf-protection values with -fcf-protection=check. - Otherwise, merge -fcf-protection values. - * doc/invoke.texi: Document -fcf-protection=check. - -2020-07-27 Martin Liska - - PR lto/45375 - * symbol-summary.h: Call vec_safe_reserve before grow is called - in order to grow to a reasonable size. - * vec.h (vec_safe_reserve): Add missing function for vl_ptr - type. - -2020-07-26 Hans-Peter Nilsson - - * configure.ac (out-of-tree linker .hidden support): Don't turn off - for mmix-knuth-mmixware. - * configure: Regenerate. - -2020-07-26 Aaron Sawdey - - * config/rs6000/rs6000.c (rs6000_option_override_internal): - Set the default value for -mblock-ops-unaligned-vsx. - * config/rs6000/rs6000.opt: Add -mblock-ops-unaligned-vsx. - * doc/invoke.texi: Document -mblock-ops-unaligned-vsx. - -2020-07-25 Hans-Peter Nilsson - - * config/mmix/mmix.c (TARGET_ASM_OUTPUT_IDENT): Override the default - with default_asm_output_ident_directive. - -2020-07-25 Andrew Stubbs - - * config/gcn/gcn.c (gcn_scalar_mode_supported_p): New function. - (TARGET_SCALAR_MODE_SUPPORTED_P): New define. - -2020-07-24 David Edelsohn - Clement Chigot - - * config.gcc (powerpc-ibm-aix7.1): Use t-aix64 and biarch64 for - cpu_is_64bit. - * config/rs6000/aix71.h (ASM_SPEC): Remove aix64 option. - (ASM_SPEC32): New. - (ASM_SPEC64): New. - (ASM_CPU_SPEC): Remove vsx and altivec options. - (CPP_SPEC_COMMON): Rename from CPP_SPEC. - (CPP_SPEC32): New. - (CPP_SPEC64): New. - (CPLUSPLUS_CPP_SPEC): Rename to CPLUSPLUS_CPP_SPEC_COMMON.. - (TARGET_DEFAULT): Use 64 bit mask if BIARCH. - (LIB_SPEC_COMMON): Rename from LIB_SPEC. - (LIB_SPEC32): New. - (LIB_SPEC64): New. - (LINK_SPEC_COMMON): Rename from LINK_SPEC. - (LINK_SPEC32): New. - (LINK_SPEC64): New. - (STARTFILE_SPEC): Add 64 bit version of crtcxa and crtdbase. - (ASM_SPEC): Define 32 and 64 bit alternatives using DEFAULT_ARCH64_P. - (CPP_SPEC): Same. - (CPLUSPLUS_CPP_SPEC): Same. - (LIB_SPEC): Same. - (LINK_SPEC): Same. - (SUBTARGET_EXTRA_SPECS): Add new 32/64 specs. - * config/rs6000/aix72.h (TARGET_DEFAULT): Use 64 bit mask if BIARCH. - * config/rs6000/defaultaix64.h: Delete. - -2020-07-24 Segher Boessenkool - - * config/rs6000/rs6000.opt: Delete -mpower10. - -2020-07-24 Alexandre Oliva - - * config/i386/intelmic-mkoffload.c - (generate_target_descr_file): Use dumppfx for save_temps - files. Pass -dumpbase et al down to the compiler. - (generate_target_offloadend_file): Likewise. - (generate_host_descr_file): Likewise. - (prepare_target_image): Likewise. Move out_obj_filename - setting... - (main): ... here. Detect -dumpbase, set dumppfx too. - -2020-07-24 Alexandre Oliva - - PR driver/96230 - * gcc.c (process_command): Adjust and document conditions to - reset dumpbase_ext. - -2020-07-24 Matthias Klose - - * config/aarch64/aarch64.c (+aarch64_offload_options, - TARGET_OFFLOAD_OPTIONS): New. - -2020-07-24 Uroš Bizjak - - PR target/95750 - * config/i386/sync.md (mmem_thread_fence): Emit mfence_sse2 for -Os. - -2020-07-23 Roger Sayle - - PR rtl-optimization/96298 - * simplify-rtx.c (simplify_binary_operation_1) [XOR]: Xor doesn't - distribute over xor, so (a^b)^(c^b) is not the same as (a^c)^b. - -2020-07-23 Dong JianQiang - - PR gcov-profile/96267 - * gcov-io.c (gcov_open): enable if IN_GCOV_TOOL. - -2020-07-23 Kewen Lin - - * config/rs6000/rs6000.c (adjust_vectorization_cost): Renamed to ... - (rs6000_adjust_vect_cost_per_stmt): ... here. - (rs6000_add_stmt_cost): Rename adjust_vectorization_cost to - rs6000_adjust_vect_cost_per_stmt. - -2020-07-23 Kewen Lin - - * tree-ssa-loop-ivopts.c (get_mem_type_for_internal_fn): Handle - IFN_LEN_LOAD and IFN_LEN_STORE. - (get_alias_ptr_type_for_ptr_address): Likewise. - -2020-07-23 Kito Cheng - - PR target/96260 - * asan.c (asan_shadow_offset_set_p): New. - * asan.h (asan_shadow_offset_set_p): Ditto. - * toplev.c (process_options): Allow -fsanitize=kernel-address - even TARGET_ASAN_SHADOW_OFFSET not implemented, only check when - asan stack protection is enabled. - -2020-07-22 Peter Bergner - - PR target/96236 - * config/rs6000/rs6000-call.c (rs6000_gimple_fold_mma_builtin): Handle - little-endian memory ordering. - -2020-07-22 Nathan Sidwell - - * dumpfile.c (parse_dump_option): Deal with filenames - containing '-' - -2020-07-22 Nathan Sidwell - - * incpath.c (add_path): Avoid multiple strlen calls. - -2020-07-22 Jozef Lawrynowicz - - * expmed.c (expand_sdiv_pow2): Check return value from emit_store_flag - is not NULL_RTX before use. - -2020-07-22 Jozef Lawrynowicz - - * expr.c (convert_modes): Allow a constant integer to be converted to - any scalar int mode. - -2020-07-22 Przemyslaw Wirkus - - * config/aarch64/aarch64-ldpstp.md: Add two peepholes for adjusted vector - V2SI, V2SF, V2DI, V2DF load pair and store pair modes. - * config/aarch64/aarch64-protos.h (aarch64_gen_adjusted_ldpstp): - Change mode parameter to machine_mode. - (aarch64_operands_adjust_ok_for_ldpstp): Change mode parameter to - machine_mode. - * config/aarch64/aarch64.c (aarch64_operands_adjust_ok_for_ldpstp): - Change mode parameter to machine_mode. - (aarch64_gen_adjusted_ldpstp): Change mode parameter to machine_mode. - * config/aarch64/iterators.md (VP_2E): New iterator for 2 element vectors. - -2020-07-22 Wei Wentao - - * doc/languages.texi: Fix “then”/“than” typo. - -2020-07-21 Sunil K Pandey - - PR target/95237 - * config/i386/i386-protos.h (ix86_local_alignment): Add - another function parameter may_lower alignment. Default is - false. - * config/i386/i386.c (ix86_lower_local_decl_alignment): New - function. - (ix86_local_alignment): Amend ix86_local_alignment to accept - another parameter may_lower. If may_lower is true, new align - may be lower than incoming alignment. If may_lower is false, - new align will be greater or equal to incoming alignment. - (TARGET_LOWER_LOCAL_DECL_ALIGNMENT): Define. - * doc/tm.texi: Regenerate. - * doc/tm.texi.in (TARGET_LOWER_LOCAL_DECL_ALIGNMENT): New - hook. - * target.def (lower_local_decl_alignment): New hook. - -2020-07-21 Uroš Bizjak - - PR target/95750 - * config/i386/sync.md (mfence_sse2): Enable for - TARGET_64BIT and TARGET_SSE2. - (mfence_nosse): Always enable. - -2020-07-21 Jozef Lawrynowicz - - * config/msp430/msp430-protos.h (msp430_do_not_relax_short_jumps): - Remove. - * config/msp430/msp430.c (msp430_do_not_relax_short_jumps): Likewise. - * config/msp430/msp430.md (cbranchhi4_real): Remove special case for - msp430_do_not_relax_short_jumps. - -2020-07-21 Jozef Lawrynowicz - - * config/msp430/msp430.md: New "extendqipsi2" define_insn. - -2020-07-21 Jozef Lawrynowicz - - * config/msp430/msp430.h (NO_FUNCTION_CSE): Set to true at -O2 and - above. - -2020-07-21 Xionghu Luo - - PR rtl-optimization/89310 - * config/rs6000/rs6000.md (movsf_from_si2): New define_insn_and_split. - -2020-07-20 Hans-Peter Nilsson - - * config/mmix/mmix.c (mmix_expand_prologue): Calculate the total - allocated size and set current_function_static_stack_size, if - flag_stack_usage_info. - -2020-07-20 Sergei Trofimovich - - PR target/96190 - * config/sparc/linux.h (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC - to get crtendS.o for !no-pie mode. - * config/sparc/linux64.h (ENDFILE_SPEC): Ditto. - -2020-07-20 Yang Yang - - * tree-vect-stmts.c (vectorizable_simd_clone_call): Add - VIEW_CONVERT_EXPRs if the arguments types and return type - of simd clone function are distinct with the vectype of stmt. - -2020-07-20 Uroš Bizjak - - PR target/95750 - * config/i386/i386.h (TARGET_AVOID_MFENCE): - Rename from TARGET_USE_XCHG_FOR_ATOMIC_STORE. - * config/i386/sync.md (mfence_sse2): Disable for TARGET_AVOID_MFENCE. - (mfence_nosse): Enable also for TARGET_AVOID_MFENCE. Emit stack - referred memory in word_mode. - (mem_thread_fence): Do not generate mfence_sse2 pattern when - TARGET_AVOID_MFENCE is true. - (atomic_store): Update for rename. - * config/i386/x86-tune.def (X86_TUNE_AVOID_MFENCE): - Rename from X86_TUNE_USE_XCHG_FOR_ATOMIC_STORE. - -2020-07-20 Martin Sebor - - PR middle-end/95189 - PR middle-end/95886 - * builtins.c (inline_expand_builtin_string_cmp): Rename... - (inline_expand_builtin_bytecmp): ...to this. - (builtin_memcpy_read_str): Don't expect data to be nul-terminated. - (expand_builtin_memory_copy_args): Handle object representations - with embedded nul bytes. - (expand_builtin_memcmp): Same. - (expand_builtin_strcmp): Adjust call to naming change. - (expand_builtin_strncmp): Same. - * expr.c (string_constant): Create empty strings with nonzero size. - * fold-const.c (c_getstr): Rename locals and update comments. - * tree.c (build_string): Accept null pointer argument. - (build_string_literal): Same. - * tree.h (build_string): Provide a default. - (build_string_literal): Same. - -2020-07-20 Richard Biener - - * cfganal.c (rev_post_order_and_mark_dfs_back_seme): Remove - write-only post array. - -2020-07-20 Jakub Jelinek - - PR libstdc++/93121 - * gimple-fold.c (fold_const_aggregate_ref_1): For COMPONENT_REF - of a bitfield not aligned on byte boundaries try to - fold_ctor_reference DECL_BIT_FIELD_REPRESENTATIVE if any and - adjust it depending on endianity. - -2020-07-20 Jakub Jelinek - - PR libstdc++/93121 - * fold-const.c (native_encode_initializer): Handle bit-fields. - -2020-07-20 Kewen Lin - - * config/rs6000/rs6000.c (rs6000_option_override_internal): - Set param_vect_partial_vector_usage to 0 explicitly. - * doc/invoke.texi (vect-partial-vector-usage): Document new option. - * optabs-query.c (get_len_load_store_mode): New function. - * optabs-query.h (get_len_load_store_mode): New declare. - * params.opt (vect-partial-vector-usage): New. - * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Add the - handlings for vectorization using length-based partial vectors, call - vect_gen_len for length generation, and rename some variables with - items instead of scalars. - (vect_set_loop_condition_partial_vectors): Add the handlings for - vectorization using length-based partial vectors. - (vect_do_peeling): Allow remaining eiters less than epilogue vf for - LOOP_VINFO_USING_PARTIAL_VECTORS_P. - * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Init - epil_using_partial_vectors_p. - (_loop_vec_info::~_loop_vec_info): Call release_vec_loop_controls - for lengths destruction. - (vect_verify_loop_lens): New function. - (vect_analyze_loop): Add handlings for epilogue of loop when it's - marked to use vectorization using partial vectors. - (vect_analyze_loop_2): Add the check to allow only one vectorization - approach using partial vectorization at the same time. Check param - vect-partial-vector-usage for partial vectors decision. Mark - LOOP_VINFO_EPIL_USING_PARTIAL_VECTORS_P if the epilogue is - considerable to use partial vectors. Call release_vec_loop_controls - for lengths destruction. - (vect_estimate_min_profitable_iters): Adjust for loop vectorization - using length-based partial vectors. - (vect_record_loop_mask): Init factor to 1 for vectorization using - mask-based partial vectors. - (vect_record_loop_len): New function. - (vect_get_loop_len): Likewise. - * tree-vect-stmts.c (check_load_store_for_partial_vectors): Add - checks for vectorization using length-based partial vectors. Factor - some code to lambda function get_valid_nvectors. - (vectorizable_store): Add handlings when using length-based partial - vectors. - (vectorizable_load): Likewise. - (vect_gen_len): New function. - * tree-vectorizer.h (struct rgroup_controls): Add field factor - mainly for length-based partial vectors. - (vec_loop_lens): New typedef. - (_loop_vec_info): Add lens and epil_using_partial_vectors_p. - (LOOP_VINFO_EPIL_USING_PARTIAL_VECTORS_P): New macro. - (LOOP_VINFO_LENS): Likewise. - (LOOP_VINFO_FULLY_WITH_LENGTH_P): Likewise. - (vect_record_loop_len): New declare. - (vect_get_loop_len): Likewise. - (vect_gen_len): Likewise. - -2020-07-20 Hans-Peter Nilsson - - * config/mmix/mmix.c (mmix_option_override): Reinstate default - integer-emitting targetm.asm_out pseudos when dumping detailed - assembly-code. - (mmix_assemble_integer): Update comment. - -2020-07-19 H.J. Lu - - PR target/95973 - PR target/96238 - * config/i386/cpuid.h: Add include guard. - (__cpuidex): New. - -2020-07-18 H.J. Lu - - PR target/95620 - * config/i386/x86-64.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): New. - -2020-07-18 Peter Bergner - - PR target/92488 - * config/rs6000/dfp.md (trunctdsd2): New define_insn. - * config/rs6000/rs6000.md (define_attr "isa"): Add p9. - (define_attr "enabled"): Handle p9. - -2020-07-17 Roger Sayle - - * function.c (assign_parm_setup_block): Use the macro - TRULY_NOOP_TRUNCATION_MODES_P instead of calling - targetm.truly_noop_truncation directly. - -2020-07-17 H.J. Lu - - PR target/96186 - PR target/88713 - * config/i386/sse.md (VF_AVX512VL_VF1_128_256): Renamed to ... - (VF1_AVX512ER_128_256): This. Drop DF vector modes. - (rsqrt2): Replace VF_AVX512VL_VF1_128_256 with - VF1_AVX512ER_128_256. - -2020-07-17 Tamar Christina - - * doc/sourcebuild.texi (dg-set-compiler-env-var, - dg-set-target-env-var): Document. - -2020-07-17 Tamar Christina - - * config/arm/driver-arm.c (host_detect_local_cpu): Add GCC_CPUINFO. - -2020-07-17 Tamar Christina - - * config/aarch64/driver-aarch64.c (host_detect_local_cpu): - Add GCC_CPUINFO. - -2020-07-17 Tamar Christina - - * config/aarch64/driver-aarch64.c (INCLUDE_SET): New. - (parse_field): Use std::string. - (split_words, readline, find_field): New. - (host_detect_local_cpu): Fix truncation issues. - -2020-07-17 Andrew Stubbs - - * config/gcn/mkoffload.c (EM_AMDGPU): Undefine before defining. - (ELFOSABI_AMDGPU_HSA): Likewise. - (ELFABIVERSION_AMDGPU_HSA): Likewise. - (EF_AMDGPU_MACH_AMDGCN_GFX803): Likewise. - (EF_AMDGPU_MACH_AMDGCN_GFX900): Likewise. - (EF_AMDGPU_MACH_AMDGCN_GFX906): Likewise. - (reserved): Delete. - -2020-07-17 Andrew Pinski - Dmitrij Pochepko - - PR target/93720 - * config/aarch64/aarch64.c (aarch64_evpc_ins): New function. - (aarch64_expand_vec_perm_const_1): Call it. - * config/aarch64/aarch64-simd.md (aarch64_simd_vec_copy_lane): Make - public, and add a "@" prefix. - -2020-07-17 Andrew Pinski - Dmitrij Pochepko - - PR target/82199 - * config/aarch64/aarch64.c (aarch64_evpc_reencode): New function. - (aarch64_expand_vec_perm_const_1): Call it. - -2020-07-17 Zhiheng Xie - - * config/aarch64/aarch64-builtins.c (enum aarch64_type_qualifiers): - Add new field flags. - (VAR1): Add new field FLAG in macro. - (VAR2): Likewise. - (VAR3): Likewise. - (VAR4): Likewise. - (VAR5): Likewise. - (VAR6): Likewise. - (VAR7): Likewise. - (VAR8): Likewise. - (VAR9): Likewise. - (VAR10): Likewise. - (VAR11): Likewise. - (VAR12): Likewise. - (VAR13): Likewise. - (VAR14): Likewise. - (VAR15): Likewise. - (VAR16): Likewise. - (aarch64_general_fold_builtin): Likewise. - (aarch64_general_gimple_fold_builtin): Likewise. - * config/aarch64/aarch64-simd-builtins.def: Add default flag for - each built-in function. - * config/aarch64/geniterators.sh: Add new field in BUILTIN macro. - -2020-07-17 Andreas Krebbel - - PR target/96127 - * config/s390/s390.c (s390_expand_insv): Invoke the movstrict - expanders to generate the pattern. - * config/s390/s390.md ("*movstricthi", "*movstrictqi"): Remove the - '*' to have callable expanders. - -2020-07-16 Hans-Peter Nilsson - Segher Boessenkool - - PR target/93372 - * combine.c (is_just_move): Take an rtx_insn* as argument. Use - single_set on it. - -2020-07-16 Uroš Bizjak - - PR target/96189 - * config/i386/sync.md - (peephole2 to remove unneded compare after CMPXCHG): - New pattern, also handle XOR zeroing and load of -1 by OR. - -2020-07-16 Eric Botcazou - - * config/i386/i386.c (ix86_compute_frame_layout): Minor tweak. - (ix86_adjust_stack_and_probe): Delete. - (ix86_adjust_stack_and_probe_stack_clash): Rename to above and add - PROTECTION_AREA parameter. If it is true, probe PROBE_INTERVAL plus - a small dope beyond SIZE bytes. - (ix86_emit_probe_stack_range): Use local variable. - (ix86_expand_prologue): Adjust calls to ix86_adjust_stack_and_probe - and tidy up the stack checking code. - * explow.c (get_stack_check_protect): Fix head comment. - (anti_adjust_stack_and_probe_stack_clash): Likewise. - (allocate_dynamic_stack_space): Add comment. - * tree-nested.c (lookup_field_for_decl): Set the DECL_IGNORED_P and - TREE_NO_WARNING but not TREE_ADDRESSABLE flags on the field. - -2020-07-16 Andrew Stubbs - - * config/gcn/mkoffload.c: Include simple-object.h and elf.h. - (EM_AMDGPU): New macro. - (ELFOSABI_AMDGPU_HSA): New macro. - (ELFABIVERSION_AMDGPU_HSA): New macro. - (EF_AMDGPU_MACH_AMDGCN_GFX803): New macro. - (EF_AMDGPU_MACH_AMDGCN_GFX900): New macro. - (EF_AMDGPU_MACH_AMDGCN_GFX906): New macro. - (R_AMDGPU_NONE): New macro. - (R_AMDGPU_ABS32_LO): New macro. - (R_AMDGPU_ABS32_HI): New macro. - (R_AMDGPU_ABS64): New macro. - (R_AMDGPU_REL32): New macro. - (R_AMDGPU_REL64): New macro. - (R_AMDGPU_ABS32): New macro. - (R_AMDGPU_GOTPCREL): New macro. - (R_AMDGPU_GOTPCREL32_LO): New macro. - (R_AMDGPU_GOTPCREL32_HI): New macro. - (R_AMDGPU_REL32_LO): New macro. - (R_AMDGPU_REL32_HI): New macro. - (reserved): New macro. - (R_AMDGPU_RELATIVE64): New macro. - (gcn_s1_name): Delete global variable. - (gcn_s2_name): Delete global variable. - (gcn_o_name): Delete global variable. - (gcn_cfile_name): Delete global variable. - (files_to_cleanup): New global variable. - (offload_abi): New global variable. - (tool_cleanup): Use files_to_cleanup, not explicit list. - (copy_early_debug_info): New function. - (main): New local variables gcn_s1_name, gcn_s2_name, gcn_o_name, - gcn_cfile_name. - Create files_to_cleanup obstack. - Recognize -march options. - Copy early debug info from input .o files. - -2020-07-16 Andrea Corallo - - * Makefile.in (TAGS): Remove 'params.def'. - -2020-07-16 Roger Sayle - - * target.def (TARGET_TRULY_NOOP_TRUNCATION): Clarify that - targets that return false, indicating SUBREGs shouldn't be - used, also need to provide a trunc?i?i2 optab that performs this - truncation. - * doc/tm.texi: Regenerate. - -2020-07-15 Uroš Bizjak - - PR target/96189 - * config/i386/sync.md - (peephole2 to remove unneded compare after CMPXCHG): New pattern. - -2020-07-15 Jakub Jelinek - - PR libgomp/96198 - * omp-general.h (struct omp_for_data): Rename min_inner_iterations - member to first_inner_iterations, adjust comment. - * omp-general.c (omp_extract_for_data): Adjust for the above change. - Always use n1first and n2first to compute it, rather than depending - on single_nonrect_cond_code. Similarly, always compute factor - as (m2 - m1) * outer_step / inner_step rather than sometimes m1 - m2 - depending on single_nonrect_cond_code. - * omp-expand.c (expand_omp_for_init_vars): Rename min_inner_iterations - to first_inner_iterations and min_inner_iterationsd to - first_inner_iterationsd. - -2020-07-15 Jakub Jelinek - - PR target/96174 - * config/i386/avx512fintrin.h (_mm512_cmpeq_pd_mask, - _mm512_mask_cmpeq_pd_mask, _mm512_cmplt_pd_mask, - _mm512_mask_cmplt_pd_mask, _mm512_cmple_pd_mask, - _mm512_mask_cmple_pd_mask, _mm512_cmpunord_pd_mask, - _mm512_mask_cmpunord_pd_mask, _mm512_cmpneq_pd_mask, - _mm512_mask_cmpneq_pd_mask, _mm512_cmpnlt_pd_mask, - _mm512_mask_cmpnlt_pd_mask, _mm512_cmpnle_pd_mask, - _mm512_mask_cmpnle_pd_mask, _mm512_cmpord_pd_mask, - _mm512_mask_cmpord_pd_mask, _mm512_cmpeq_ps_mask, - _mm512_mask_cmpeq_ps_mask, _mm512_cmplt_ps_mask, - _mm512_mask_cmplt_ps_mask, _mm512_cmple_ps_mask, - _mm512_mask_cmple_ps_mask, _mm512_cmpunord_ps_mask, - _mm512_mask_cmpunord_ps_mask, _mm512_cmpneq_ps_mask, - _mm512_mask_cmpneq_ps_mask, _mm512_cmpnlt_ps_mask, - _mm512_mask_cmpnlt_ps_mask, _mm512_cmpnle_ps_mask, - _mm512_mask_cmpnle_ps_mask, _mm512_cmpord_ps_mask, - _mm512_mask_cmpord_ps_mask): Move outside of __OPTIMIZE__ guarded - section. - -2020-07-15 Jakub Jelinek - - PR target/96176 - * builtins.c: Include gimple-ssa.h, tree-ssa-live.h and - tree-outof-ssa.h. - (expand_expr_force_mode): If exp is a SSA_NAME with different mode - from MODE and get_gimple_for_ssa_name is a cast from MODE, use the - cast's rhs. - -2020-07-15 Jiufu Guo - - * config/rs6000/rs6000.c (rs6000_loop_unroll_adjust): Refine hook. - -2020-07-14 David Edelsohn - - * config/rs6000/rs6000.md (rotldi3_insert_sf): Add TARGET_POWERPC64 - condition. - * config/rs6000/rs6000.c (rs6000_expand_vector_init): Add - TARGET_POWERPC64 requirement to TARGET_P8_VECTOR case. - -2020-07-14 Lewis Hyatt - - PR preprocessor/49973 - PR other/86904 - * common.opt: Handle -ftabstop here instead of in c-family - options. Add -fdiagnostics-column-unit= and - -fdiagnostics-column-origin= options. - * opts.c (common_handle_option): Handle the new options. - * diagnostic-format-json.cc (json_from_expanded_location): Add - diagnostic_context argument. Use it to convert column numbers as per - the new options. - (json_from_location_range): Likewise. - (json_from_fixit_hint): Likewise. - (json_end_diagnostic): Pass the new context argument to helper - functions above. Add "column-origin" field to the output. - (test_unknown_location): Add the new context argument to calls to - helper functions. - (test_bad_endpoints): Likewise. - * diagnostic-show-locus.c - (exploc_with_display_col::exploc_with_display_col): Support - tabstop parameter. - (layout_point::layout_point): Make use of class - exploc_with_display_col. - (layout_range::layout_range): Likewise. - (struct line_bounds): Clarify that the units are now always - display columns. Rename members accordingly. Add constructor. - (layout::print_source_line): Add support for tab expansion. - (make_range): Adapt to class layout_range changes. - (layout::maybe_add_location_range): Likewise. - (layout::layout): Adapt to class exploc_with_display_col changes. - (layout::calculate_x_offset_display): Support tabstop parameter. - (layout::print_annotation_line): Adapt to struct line_bounds changes. - (layout::print_line): Likewise. - (line_label::line_label): Add diagnostic_context argument. - (get_affected_range): Likewise. - (get_printed_columns): Likewise. - (layout::print_any_labels): Adapt to struct line_label changes. - (class correction): Add m_tabstop member. - (correction::correction): Add tabstop argument. - (correction::compute_display_cols): Use m_tabstop. - (class line_corrections): Add m_context member. - (line_corrections::line_corrections): Add diagnostic_context argument. - (line_corrections::add_hint): Use m_context to handle tabstops. - (layout::print_trailing_fixits): Adapt to class line_corrections - changes. - (test_layout_x_offset_display_utf8): Support tabstop parameter. - (test_layout_x_offset_display_tab): New selftest. - (test_one_liner_colorized_utf8): Likewise. - (test_tab_expansion): Likewise. - (test_diagnostic_show_locus_one_liner_utf8): Call the new tests. - (diagnostic_show_locus_c_tests): Likewise. - (test_overlapped_fixit_printing): Adapt to helper class and - function changes. - (test_overlapped_fixit_printing_utf8): Likewise. - (test_overlapped_fixit_printing_2): Likewise. - * diagnostic.h (enum diagnostics_column_unit): New enum. - (struct diagnostic_context): Add members for the new options. - (diagnostic_converted_column): Declare. - (json_from_expanded_location): Add new context argument. - * diagnostic.c (diagnostic_initialize): Initialize new members. - (diagnostic_converted_column): New function. - (maybe_line_and_column): Be willing to output a column of 0. - (diagnostic_get_location_text): Convert column number as per the new - options. - (diagnostic_report_current_module): Likewise. - (assert_location_text): Add origin and column_unit arguments for - testing the new functionality. - (test_diagnostic_get_location_text): Test the new functionality. - * doc/invoke.texi: Document the new options and behavior. - * input.h (location_compute_display_column): Add tabstop argument. - * input.c (location_compute_display_column): Likewise. - (test_cpp_utf8): Add selftests for tab expansion. - * tree-diagnostic-path.cc (default_tree_make_json_for_path): Pass the - new context argument to json_from_expanded_location(). - -2020-07-14 Jakub Jelinek - - PR middle-end/96194 - * expr.c (expand_constructor): Don't create temporary for store to - volatile MEM if exp has an addressable type. - -2020-07-14 Nathan Sidwell - - * hash-map.h (hash_map::get): Note it is a pointer to value. - * incpath.h (incpath_kind): Align comments. - -2020-07-14 Nathan Sidwell - - * tree-core.h (tree_decl_with_vis, tree_function_decl): - Note additional padding on 64-bits - * tree.c (cache_integer_cst): Note why no caching of enum literals. - (get_tree_code_name): Robustify error case. - -2020-07-14 Nathan Sidwell - - * doc/gty.texi: Fic gt_cleare_cache name. - * doc/invoke.texi: Remove duplicate opindex Wabi-tag. - -2020-07-14 Jakub Jelinek - - * omp-general.h (struct omp_for_data): Add adjn1 member. - * omp-general.c (omp_extract_for_data): For non-rect loop, punt on - count computing if n1, n2 or step are not INTEGER_CST earlier. - Narrow the outer iterator range if needed so that non-rect loop - has at least one iteration for each outer range iteration. Compute - adjn1. - * omp-expand.c (expand_omp_for_init_vars): Use adjn1 if non-NULL - instead of the outer loop's n1. - -2020-07-14 Matthias Klose - - PR lto/95604 - * lto-wrapper.c (merge_and_complain): Add decoded options as parameter, - error on different values for -fcf-protection. - (append_compiler_options): Pass -fcf-protection option. - (find_and_merge_options): Add decoded options as parameter, - pass decoded_options to merge_and_complain. - (run_gcc): Pass decoded options to find_and_merge_options. - * lto-opts.c (lto_write_options): Pass -fcf-protection option. - -2020-07-13 Alan Modra - - * config/rs6000/rs6000.md (sibcall_local): Merge sibcall_local32 - and sibcall_local64. - (sibcall_value_local): Similarly. - -2020-07-13 Nathan Sidwell - - * Makefile.in (distclean): Remove long gone cxxmain.c - -2020-07-13 H.J. Lu - - PR target/95443 - * config/i386/i386.md (cmpstrnsi): Pass a copy of the string - length to cmpstrnqi patterns. - -2020-07-13 Jakub Jelinek - - PR ipa/96130 - * ipa-fnsummary.c (analyze_function_body): Treat NULL bb->aux - as false predicate. - -2020-07-13 Richard Biener - - PR tree-optimization/96163 - * tree-vect-slp.c (vect_schedule_slp_instance): Put new stmts - at least after region begin. - -2020-07-13 Szabolcs Nagy - - * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Add - __ARM_FEATURE_PAC_DEFAULT support. - -2020-07-13 Szabolcs Nagy - - PR target/94891 - * doc/extend.texi: Update the text for __builtin_return_address. - -2020-07-13 Szabolcs Nagy - - PR target/94891 - * config/aarch64/aarch64.c (aarch64_return_address_signing_enabled): - Disable return address signing if __builtin_eh_return is used. - -2020-07-13 Szabolcs Nagy - - PR target/94891 - PR target/94791 - * config/aarch64/aarch64-protos.h (aarch64_return_addr_rtx): Declare. - * config/aarch64/aarch64.c (aarch64_return_addr_rtx): New. - (aarch64_return_addr): Use aarch64_return_addr_rtx. - * config/aarch64/aarch64.h (PROFILE_HOOK): Likewise. - -2020-07-13 Richard Sandiford - - PR middle-end/95114 - * tree.h (virtual_method_call_p): Add a default-false parameter - that indicates whether the function is being called from dump - routines. - (obj_type_ref_class): Likewise. - * tree.c (virtual_method_call_p): Likewise. - * ipa-devirt.c (obj_type_ref_class): Likewise. Lazily add ODR - type information for the type when the parameter is false. - * tree-pretty-print.c (dump_generic_node): Update calls to - virtual_method_call_p and obj_type_ref_class accordingly. - -2020-07-13 Julian Brown - Thomas Schwinge - - * gimplify.c (gimplify_scan_omp_clauses): Do not strip - GOMP_MAP_TO_PSET/GOMP_MAP_POINTER for OpenACC enter/exit data - directives (see also PR92929). - -2020-07-13 Roger Sayle - - * convert.c (convert_to_integer_1): Narrow integer operations - even on targets that require explicit truncation instructions. - -2020-07-13 Hans-Peter Nilsson - - PR target/93372 - * config/cris/cris-passes.def: New file. - * config/cris/t-cris (PASSES_EXTRA): Add cris-passes.def. - * config/cris/cris.c: Add infrastructure bits and pass execute - function cris_postdbr_cmpelim. - * config/cris/cris-protos.h (make_pass_cris_postdbr_cmpelim): Declare. - -2020-07-13 Hans-Peter Nilsson - - * config/cris/t-cris: Remove gt-cris.h-related excessive cargo. - -2020-07-13 Hans-Peter Nilsson - - PR target/93372 - * config/cris/cris.md ("*add3_addi"): New splitter. - ("*addi_b_"): New pattern. - ("*addsi3"): Remove stale %-related comment. - -2020-07-13 Hans-Peter Nilsson - - * config/cris/cris.md ("setnz_subst", "setnz_subst", "setcc_subst"): - Use match_dup in output template, not match_operand. - -2020-07-13 Richard Biener - - * var-tracking.c (bb_heap_node_t): Remove unused typedef. - (vt_find_locations): Eliminate visited bitmap in favor of - RPO order check. Dump statistics about the number of - local BB dataflow computes. - -2020-07-13 Richard Biener - - PR middle-end/94600 - * expr.c (expand_constructor): Make a temporary also if we're - storing to volatile memory. - -2020-07-13 Xionghu Luo - - * config/rs6000/rs6000.md (rotl_unspec): New - define_insn_and_split. - -2020-07-13 Xionghu Luo - - * config/rs6000/rs6000.c (rs6000_expand_vector_init): - Move V4SF to V4SI, init vector like V4SI and move to V4SF back. - -2020-07-11 Roger Sayle - - * internal-fn.c (expand_mul_overflow): When checking for signed - overflow from a widening multiplication, we access the truncated - lowpart RES twice, so keep this value in a pseudo register. - -2020-07-11 Richard Sandiford - - PR tree-optimization/96146 - * value-range.cc (value_range::set): Only decompose POLY_INT_CST - bounds to integers for VR_RANGE. Decay to VR_VARYING for anti-ranges - involving POLY_INT_CSTs. - -2020-07-10 David Edelsohn - - PR target/77373 - * config/rs6000/rs6000.c (rs6000_xcoff_select_section): Only - create named section for VAR_DECL or FUNCTION_DECL. - -2020-07-10 Joseph Myers - - * glimits.h [__STDC_VERSION__ > 201710L] (BOOL_MAX, BOOL_WIDTH): - New macros. - -2020-07-10 Alexander Popov - - * shrink-wrap.c (try_shrink_wrapping): Improve debug output. - -2020-07-10 Richard Sandiford - - PR middle-end/96151 - * expr.c (expand_expr_real_2): When reducing bit fields, - clear the target if it has a different mode from the expression. - (reduce_to_bit_field_precision): Don't do that here. Instead - assert that the target already has the correct mode. - -2020-07-10 Richard Sandiford - - PR target/92789 - PR target/95726 - * config/arm/arm.c (arm_attribute_table): Add - "Advanced SIMD type". - (arm_comp_type_attributes): Check that the "Advanced SIMD type" - attributes are equal. - * config/arm/arm-builtins.c: Include stringpool.h and - attribs.h. - (arm_mangle_builtin_vector_type): Use the mangling recorded - in the "Advanced SIMD type" attribute. - (arm_init_simd_builtin_types): Add an "Advanced SIMD type" - attribute to each Advanced SIMD type, using the mangled type - as the attribute's single argument. - -2020-07-10 Carl Love - - * config/rs6000/vsx.md (VSX_MM): New define_mode_iterator. - (VSX_MM4): New define_mode_iterator. - (vec_mtvsrbmi): New define_insn. - (vec_mtvsr_): New define_insn. - (vec_cntmb_): New define_insn. - (vec_extract_): New define_insn. - (vec_expand_): New define_insn. - (define_c_enum unspec): Add entries UNSPEC_MTVSBM, UNSPEC_VCNTMB, - UNSPEC_VEXTRACT, UNSPEC_VEXPAND. - * config/rs6000/altivec.h ( vec_genbm, vec_genhm, vec_genwm, - vec_gendm, vec_genqm, vec_cntm, vec_expandm, vec_extractm): Add - defines. - * config/rs6000/rs6000-builtin.def: Add defines BU_P10_2, BU_P10_1. - (BU_P10_1): Add definitions for mtvsrbm, mtvsrhm, mtvsrwm, - mtvsrdm, mtvsrqm, vexpandmb, vexpandmh, vexpandmw, vexpandmd, - vexpandmq, vextractmb, vextractmh, vextractmw, vextractmd, vextractmq. - (BU_P10_2): Add definitions for cntmbb, cntmbh, cntmbw, cntmbd. - (BU_P10_OVERLOAD_1): Add definitions for mtvsrbm, mtvsrhm, - mtvsrwm, mtvsrdm, mtvsrqm, vexpandm, vextractm. - (BU_P10_OVERLOAD_2): Add defition for cntm. - * config/rs6000/rs6000-call.c (rs6000_expand_binop_builtin): Add - checks for CODE_FOR_vec_cntmbb_v16qi, CODE_FOR_vec_cntmb_v8hi, - CODE_FOR_vec_cntmb_v4si, CODE_FOR_vec_cntmb_v2di. - (altivec_overloaded_builtins): Add overloaded argument entries for - P10_BUILTIN_VEC_MTVSRBM, P10_BUILTIN_VEC_MTVSRHM, - P10_BUILTIN_VEC_MTVSRWM, P10_BUILTIN_VEC_MTVSRDM, - P10_BUILTIN_VEC_MTVSRQM, P10_BUILTIN_VEC_VCNTMBB, - P10_BUILTIN_VCNTMBB, P10_BUILTIN_VCNTMBH, - P10_BUILTIN_VCNTMBW, P10_BUILTIN_VCNTMBD, - P10_BUILTIN_VEXPANDMB, P10_BUILTIN_VEXPANDMH, - P10_BUILTIN_VEXPANDMW, P10_BUILTIN_VEXPANDMD, - P10_BUILTIN_VEXPANDMQ, P10_BUILTIN_VEXTRACTMB, - P10_BUILTIN_VEXTRACTMH, P10_BUILTIN_VEXTRACTMW, - P10_BUILTIN_VEXTRACTMD, P10_BUILTIN_VEXTRACTMQ. - (builtin_function_type): Add case entries for P10_BUILTIN_MTVSRBM, - P10_BUILTIN_MTVSRHM, P10_BUILTIN_MTVSRWM, P10_BUILTIN_MTVSRDM, - P10_BUILTIN_MTVSRQM, P10_BUILTIN_VCNTMBB, P10_BUILTIN_VCNTMBH, - P10_BUILTIN_VCNTMBW, P10_BUILTIN_VCNTMBD, - P10_BUILTIN_VEXPANDMB, P10_BUILTIN_VEXPANDMH, - P10_BUILTIN_VEXPANDMW, P10_BUILTIN_VEXPANDMD, - P10_BUILTIN_VEXPANDMQ. - * config/rs6000/rs6000-builtin.def (altivec_overloaded_builtins): Add - entries for MTVSRBM, MTVSRHM, MTVSRWM, MTVSRDM, MTVSRQM, VCNTM, - VEXPANDM, VEXTRACTM. - -2020-07-10 Bill Seurer, 507-253-3502, seurer@us.ibm.com <(no_default)> - - PR target/95581 - * config/rs6000/rs6000-call.c: Add new type v16qi_ftype_pcvoid. - (altivec_init_builtins) Change __builtin_altivec_mask_for_load to use - v16qi_ftype_pcvoid with correct number of parameters. - -2020-07-10 H.J. Lu - - PR target/96144 - * config/i386/i386-expand.c (ix86_emit_swsqrtsf): Check - TARGET_AVX512VL when enabling FMA. - -2020-07-10 Andrea Corallo - Mihail-Calin Ionescu - Iain Apreotesei - - * config/arm/arm-protos.h (arm_target_insn_ok_for_lob): New - prototype. - * config/arm/arm.c (TARGET_INVALID_WITHIN_DOLOOP): Define. - (arm_invalid_within_doloop): Implement invalid_within_doloop hook. - (arm_target_insn_ok_for_lob): New function. - * config/arm/arm.h (TARGET_HAVE_LOB): Define macro. - * config/arm/thumb2.md (*doloop_end_internal, doloop_begin) - (dls_insn): Add new patterns. - (doloop_end): Modify to select LR when LOB is available. - * config/arm/unspecs.md: Add new unspec. - * doc/sourcebuild.texi (arm_v8_1_lob_ok) - (arm_thumb2_ok_no_arm_v8_1_lob): Document new target supports - options. - -2020-07-10 Richard Biener - - PR tree-optimization/96133 - * gimple-fold.c (fold_array_ctor_reference): Do not - recurse to folding a CTOR that does not fully cover the - asked for object. - -2020-07-10 Cui,Lili - - * common/config/i386/cpuinfo.h - (get_intel_cpu): Handle sapphirerapids. - * common/config/i386/i386-common.c - (processor_names): Add sapphirerapids and alderlake. - (processor_alias_table): Add sapphirerapids and alderlake. - * common/config/i386/i386-cpuinfo.h - (processor_subtypes): Add INTEL_COREI7_ALDERLAKE and - INTEL_COREI7_ALDERLAKE. - * config.gcc: Add -march=sapphirerapids and alderlake. - * config/i386/driver-i386.c - (host_detect_local_cpu) Handle sapphirerapids and alderlake. - * config/i386/i386-c.c - (ix86_target_macros_internal): Handle sapphirerapids and alderlake. - * config/i386/i386-options.c - (m_SAPPHIRERAPIDS) : Define. - (m_ALDERLAKE): Ditto. - (m_CORE_AVX512) : Add m_SAPPHIRERAPIDS. - (processor_cost_table): Add sapphirerapids and alderlake. - (ix86_option_override_internal) Handle PTA_WAITPKG, PTA_ENQCMD, - PTA_CLDEMOTE, PTA_SERIALIZE, PTA_TSXLDTRK. - * config/i386/i386.h - (ix86_size_cost) : Define SAPPHIRERAPIDS and ALDERLAKE. - (processor_type) : Add PROCESSOR_SAPPHIRERAPIDS and - PROCESSOR_ALDERLAKE. - (PTA_ENQCMD): New. - (PTA_CLDEMOTE): Ditto. - (PTA_SERIALIZE): Ditto. - (PTA_TSXLDTRK): New. - (PTA_SAPPHIRERAPIDS): Ditto. - (PTA_ALDERLAKE): Ditto. - (processor_type) : Add PROCESSOR_SAPPHIRERAPIDS and - PROCESSOR_ALDERLAKE. - * doc/extend.texi: Add sapphirerapids and alderlake. - * doc/invoke.texi: Add sapphirerapids and alderlake. - -2020-07-10 Martin Liska - - * dumpfile.c [profile-report]: Add new profile dump. - * dumpfile.h (enum tree_dump_index): Ad TDI_profile_report. - * passes.c (pass_manager::dump_profile_report): Change stderr - to dump_file. - -2020-07-10 Kewen Lin - - * tree-vect-loop.c (vect_transform_loop): Use LOOP_VINFO_NITERS which - is adjusted by considering peeled prologue for non - vect_use_loop_mask_for_alignment_p cases. - -2020-07-09 Peter Bergner - - PR target/96125 - * config/rs6000/rs6000-call.c (rs6000_init_builtins): Define the MMA - specific types __vector_quad and __vector_pair, and initialize the - MMA built-ins if TARGET_EXTRA_BUILTINS is set. - (mma_init_builtins): Don't test for mask set in rs6000_builtin_mask. - Remove now unneeded mask variable. - * config/rs6000/rs6000.c (rs6000_option_override_internal): Add the - OPTION_MASK_MMA flag for power10 if not already set. - -2020-07-09 Richard Biener - - PR tree-optimization/96133 - * tree-vect-slp.c (vect_build_slp_tree_1): Compare load_p - status between stmts. - -2020-07-09 H.J. Lu - - PR target/88713 - * config/i386/i386-expand.c (ix86_emit_swsqrtsf): Enable FMA. - * config/i386/sse.md (VF_AVX512VL_VF1_128_256): New. - (rsqrt2): Replace VF1_128_256 with VF_AVX512VL_VF1_128_256. - (rsqrtv16sf2): Removed. - -2020-07-09 Richard Biener - - * tree-vectorizer.h (vect_verify_datarefs_alignment): Remove. - (vect_slp_analyze_and_verify_instance_alignment): Rename to ... - (vect_slp_analyze_instance_alignment): ... this. - * tree-vect-data-refs.c (verify_data_ref_alignment): Remove. - (vect_verify_datarefs_alignment): Likewise. - (vect_enhance_data_refs_alignment): Do not call - vect_verify_datarefs_alignment. - (vect_slp_analyze_node_alignment): Rename from - vect_slp_analyze_and_verify_node_alignment and do not - call verify_data_ref_alignment. - (vect_slp_analyze_instance_alignment): Rename from - vect_slp_analyze_and_verify_instance_alignment. - * tree-vect-stmts.c (vectorizable_store): Dump when - we vectorize an unaligned access. - (vectorizable_load): Likewise. - * tree-vect-loop.c (vect_analyze_loop_2): Do not call - vect_verify_datarefs_alignment. - * tree-vect-slp.c (vect_slp_analyze_bb_1): Adjust. - -2020-07-09 Bin Cheng - - PR tree-optimization/95804 - * tree-loop-distribution.c (break_alias_scc_partitions): Force - negative post order to reduction partition. - -2020-07-09 Jakub Jelinek - - * omp-general.h (struct omp_for_data): Add min_inner_iterations - and factor members. - * omp-general.c (omp_extract_for_data): Initialize them and remember - them in OMP_CLAUSE_COLLAPSE_COUNT if needed and restore from there. - * omp-expand.c (expand_omp_for_init_counts): Fix up computation of - counts[fd->last_nonrect] if fd->loop.n2 is INTEGER_CST. - (expand_omp_for_init_vars): For - fd->first_nonrect + 1 == fd->last_nonrect loops with for now - INTEGER_CST fd->loop.n2 find quadratic equation roots instead of - using fallback method when possible. - -2020-07-09 Omar Tahir - - * ira.c (move_unallocated_pseudos): Zero first_moveable_pseudo and - last_moveable_pseudo before returning. - -2020-07-09 Szabolcs Nagy - - * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Add - __ARM_FEATURE_BTI_DEFAULT support. - -2020-07-09 Matthew Malcomson - - * config/aarch64/aarch64-protos.h (aarch64_indirect_call_asm): - New declaration. - * config/aarch64/aarch64.c (aarch64_regno_regclass): Handle new - stub registers class. - (aarch64_class_max_nregs): Likewise. - (aarch64_register_move_cost): Likewise. - (aarch64_sls_shared_thunks): Global array to store stub labels. - (aarch64_sls_emit_function_stub): New. - (aarch64_create_blr_label): New. - (aarch64_sls_emit_blr_function_thunks): New. - (aarch64_sls_emit_shared_blr_thunks): New. - (aarch64_asm_file_end): New. - (aarch64_indirect_call_asm): New. - (TARGET_ASM_FILE_END): Use aarch64_asm_file_end. - (TARGET_ASM_FUNCTION_EPILOGUE): Use - aarch64_sls_emit_blr_function_thunks. - * config/aarch64/aarch64.h (STB_REGNUM_P): New. - (enum reg_class): Add STUB_REGS class. - (machine_function): Introduce `call_via` array for - function-local stub labels. - * config/aarch64/aarch64.md (*call_insn, *call_value_insn): Use - aarch64_indirect_call_asm to emit code when hardening BLR - instructions. - * config/aarch64/constraints.md (Ucr): New constraint - representing registers for indirect calls. Is GENERAL_REGS - usually, and STUB_REGS when hardening BLR instruction against - SLS. - * config/aarch64/predicates.md (aarch64_general_reg): STUB_REGS class - is also a general register. - -2020-07-09 Matthew Malcomson - - * config/aarch64/aarch64-protos.h (aarch64_sls_barrier): New. - * config/aarch64/aarch64.c (aarch64_output_casesi): Emit - speculation barrier after BR instruction if needs be. - (aarch64_trampoline_init): Handle ptr_mode value & adjust size - of code copied. - (aarch64_sls_barrier): New. - (aarch64_asm_trampoline_template): Add needed barriers. - * config/aarch64/aarch64.h (AARCH64_ISA_SB): New. - (TARGET_SB): New. - (TRAMPOLINE_SIZE): Account for barrier. - * config/aarch64/aarch64.md (indirect_jump, *casesi_dispatch, - simple_return, *do_return, *sibcall_insn, *sibcall_value_insn): - Emit barrier if needs be, also account for possible barrier using - "sls_length" attribute. - (sls_length): New attribute. - (length): Determine default using any non-default sls_length - value. - -2020-07-09 Matthew Malcomson - - * config/aarch64/aarch64-protos.h (aarch64_harden_sls_retbr_p): - New. - (aarch64_harden_sls_blr_p): New. - * config/aarch64/aarch64.c (enum aarch64_sls_hardening_type): - New. - (aarch64_harden_sls_retbr_p): New. - (aarch64_harden_sls_blr_p): New. - (aarch64_validate_sls_mitigation): New. - (aarch64_override_options): Parse options for SLS mitigation. - * config/aarch64/aarch64.opt (-mharden-sls): New option. - * doc/invoke.texi: Document new option. - -2020-07-09 Kewen Lin - - * tree-vect-stmts.c (vectorizable_condition): Prohibit vectorization - with partial vectors explicitly excepting for EXTRACT_LAST_REDUCTION - or nested-cycle reduction. - -2020-07-09 Kewen Lin - - * tree-vect-loop.c (vect_analyze_loop_2): Update dumping string - for fully masking to be more common. - -2020-07-09 Kito Cheng - - * config/riscv/riscv.md (get_thread_pointer): New. - (TP_REGNUM): Ditto. - * doc/extend.texi (Target Builtins): Add RISC-V built-in section. - Document __builtin_thread_pointer. - -2020-07-09 Kito Cheng - - * config/riscv/riscv-sr.c (riscv_remove_unneeded_save_restore_calls): - Abort if any arguments on stack. - -2020-07-08 Eric Botcazou - - * gimple-fold.c (gimple_fold_builtin_memory_op): Do not fold if - either type has reverse scalar storage order. - * tree-ssa-sccvn.c (vn_reference_lookup_3): Do not propagate through - a memory copy if either type has reverse scalar storage order. - -2020-07-08 Tobias Burnus - - * config/gcn/mkoffload.c (compile_native, main): Pass -fPIC/-fpic - on to the native compiler, if used. - * config/nvptx/mkoffload.c (compile_native, main): Likewise. - -2020-07-08 Will Schmidt - - * config/rs6000/altivec.h (vec_vmsumudm): New define. - * config/rs6000/altivec.md (UNSPEC_VMSUMUDM): New unspec. - (altivec_vmsumudm): New define_insn. - * config/rs6000/rs6000-builtin.def (altivec_vmsumudm): New BU_ALTIVEC_3 - entry. (vmsumudm): New BU_ALTIVEC_OVERLOAD_3 entry. - * config/rs6000/rs6000-call.c (altivec_overloaded_builtins): Add entries for - ALTIVEC_BUILTIN_VMSUMUDM variants of vec_msum. - * doc/extend.texi: Add document for vmsumudm behind vmsum. - -2020-07-08 Richard Biener - - * tree-vect-stmts.c (get_group_load_store_type): Pass - in the SLP node and the alignment support scheme output. - Set that. - (get_load_store_type): Likewise. - (vectorizable_store): Adjust. - (vectorizable_load): Likewise. - -2020-07-08 Richard Sandiford - - PR middle-end/95694 - * expr.c (expand_expr_real_2): Get the mode from the type rather - than the rtx, and assert that it is consistent with the mode of - the rtx (where known). Optimize all constant integers, not just - those that can be represented in poly_int64. - -2020-07-08 Kewen Lin - - * config/rs6000/vsx.md (len_load_v16qi): New define_expand. - (len_store_v16qi): Likewise. - -2020-07-08 Kewen Lin - - * doc/md.texi (len_load_@var{m}): Document. - (len_store_@var{m}): Likewise. - * internal-fn.c (len_load_direct): New macro. - (len_store_direct): Likewise. - (expand_len_load_optab_fn): Likewise. - (expand_len_store_optab_fn): Likewise. - (direct_len_load_optab_supported_p): Likewise. - (direct_len_store_optab_supported_p): Likewise. - (expand_mask_load_optab_fn): New macro. Original renamed to ... - (expand_partial_load_optab_fn): ... here. Add handlings for - len_load_optab. - (expand_mask_store_optab_fn): New macro. Original renamed to ... - (expand_partial_store_optab_fn): ... here. Add handlings for - len_store_optab. - (internal_load_fn_p): Handle IFN_LEN_LOAD. - (internal_store_fn_p): Handle IFN_LEN_STORE. - (internal_fn_stored_value_index): Handle IFN_LEN_STORE. - * internal-fn.def (LEN_LOAD): New internal function. - (LEN_STORE): Likewise. - * optabs.def (len_load_optab, len_store_optab): New optab. - -2020-07-07 Anton Youdkevitch - - * config/aarch64/aarch64.c (thunderx2t99_regmove_cost, - thunderx2t99_vector_cost): Likewise. - -2020-07-07 Richard Biener - - * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Fix - group overlap condition to allow negative step DR groups. - * tree-vect-stmts.c (get_group_load_store_type): For - multi element SLP groups force VMAT_STRIDED_SLP when the step - is negative. - -2020-07-07 Qian Jianhua - - * doc/generic.texi: Fix typo. - -2020-07-07 Richard Biener - - * lto-streamer-out.c (cmp_symbol_files): Use the computed - order map to sort symbols from the same sub-file together. - (lto_output): Compute a map of sub-file to an order number - it appears in the symbol output array. - -2020-07-06 Richard Biener - - PR tree-optimization/96075 - * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Use - TYPE_SIZE_UNIT of the vector component type instead of DR_STEP - for the misalignment calculation for negative step. - -2020-07-06 Roger Sayle - - * config/nvptx/nvptx.md (*vadd_addsi4): New instruction. - (*vsub_addsi4): New instruction. - -2020-07-06 Hans-Peter Nilsson - - * config/cris/cris.md (movulsr): New peephole2. - -2020-07-06 Hans-Peter Nilsson - - * config/cris/sync.md ("cris_atomic_fetch__1"): - Correct gcc_assert of overlapping operands. - -2020-07-05 Hans-Peter Nilsson - - * config/cris/cris.c (cris_select_cc_mode): Always return - CC_NZmode for matching comparisons. Clarify comments. - * config/cris/cris-modes.def: Clarify mode comment. - * config/cris/cris.md (plusminus, plusminusumin, plusumin): New - code iterators. - (addsub, addsubbo, nd): New code iterator attributes. - ("*qihi"): Rename from "*extopqihi". Use code - iterator constructs instead of match_operator constructs. - ("*si"): Similar from - "*extopsi". - ("*addqihi_swap"): Similar from "*addxqihi_swap". - ("*si_swap"): Similar from - "*extopsi_swap". - -2020-07-05 Hans-Peter Nilsson - - * config/cris/cris.md ("*extopqihi", "*extopsi_swap") - ("*extopsi", "*addxqihi_swap"): Reinstate. - -2020-07-03 Eric Botcazou - - * gimple-fold.c (gimple_fold_builtin_memory_op): Fold calls that - were initially created for the assignment of a variable-sized - object and whose source is now a string constant. - * gimple-ssa-store-merging.c (struct merged_store_group): Document - STRING_CST for rhs_code field. - Add string_concatenation boolean field. - (merged_store_group::merged_store_group): Initialize it as well as - bit_insertion here. - (merged_store_group::do_merge): Set it upon seeing a STRING_CST. - Also set bit_insertion here upon seeing a BIT_INSERT_EXPR. - (merged_store_group::apply_stores): Clear it for small regions. - Do not create a power-of-2-sized buffer if it is still true. - And do not set bit_insertion here again. - (encode_tree_to_bitpos): Deal with BLKmode for the expression. - (merged_store_group::can_be_merged_into): Deal with STRING_CST. - (imm_store_chain_info::coalesce_immediate_stores): Set bit_insertion - to true after changing MEM_REF stores into BIT_INSERT_EXPR stores. - (count_multiple_uses): Return 0 for STRING_CST. - (split_group): Do not split the group for a string concatenation. - (imm_store_chain_info::output_merged_store): Constify and rename - some local variables. Build an array type as destination type - for a string concatenation, as well as a zero mask, and call - build_string to build the source. - (lhs_valid_for_store_merging_p): Return true for VIEW_CONVERT_EXPR. - (pass_store_merging::process_store): Accept STRING_CST on the RHS. - * gimple.h (gimple_call_alloca_for_var_p): New accessor function. - * gimplify.c (gimplify_modify_expr_to_memcpy): Set alloca_for_var. - * tree.h (CALL_ALLOCA_FOR_VAR_P): Document it for BUILT_IN_MEMCPY. - -2020-07-03 Martin Jambor - - PR ipa/96040 - * ipa-sra.c (all_callee_accesses_present_p): Do not accept type - mismatched accesses. - -2020-07-03 Roger Sayle - - * config/nvptx/nvptx.md (popcount2): New instructions. - (mulhishi3, mulsidi3, umulhisi3, umulsidi3): New instructions. - -2020-07-03 Martin Liska - Rainer Orth - - PR bootstrap/96046 - * gcov-dump.c (tag_function): Use gcov_position_t - type. - -2020-07-03 Richard Biener - - PR tree-optimization/96037 - * tree-vect-stmts.c (vect_is_simple_use): Initialize *slp_def. - -2020-07-03 Richard Biener - - * tree-vect-slp.c (vect_bb_slp_scalar_cost): Cost the - original non-pattern stmts, look at the pattern stmt - vectorization status. - -2020-07-03 Andrew Stubbs - - * config/gcn/gcn-valu.md (fold_left_plus_): New. - -2020-07-03 Richard Biener - - * tree-vectorizer.h (vec_info::insert_on_entry): New. - (vec_info::insert_seq_on_entry): Likewise. - * tree-vectorizer.c (vec_info::insert_on_entry): Implement. - (vec_info::insert_seq_on_entry): Likewise. - * tree-vect-stmts.c (vect_init_vector_1): Use - vec_info::insert_on_entry. - (vect_finish_stmt_generation): Set modified bit after - adjusting VUSE. - * tree-vect-slp.c (vect_create_constant_vectors): Simplify - by using vec_info::insert_seq_on_entry and bypassing - vec_init_vector. - (vect_schedule_slp_instance): Deal with all-constant - children later. - -2020-07-03 Roger Sayle - Tom de Vries - - PR target/90932 - * config/nvptx/nvptx.c (nvptx_vector_alignment): Use tree_to_uhwi - to access TYPE_SIZE (type). Return at least the mode's alignment. - -2020-07-02 Richard Biener - - PR tree-optimization/96028 - * tree-vect-slp.c (vect_slp_convert_to_external): Make sure - we have scalar stmts to use. - (vect_slp_analyze_node_operations): When analyzing a child - failed try externalizing the parent node. - -2020-07-02 Martin Jambor - - PR debug/95343 - * ipa-param-manipulation.c (ipa_param_adjustments::modify_call): Adjust - argument index if necessary. - -2020-07-02 Martin Liska - - PR middle-end/95830 - * tree-vect-generic.c (expand_vector_condition): Forward declaration. - (expand_vector_comparison): Do not expand a comparison if all - uses are consumed by a VEC_COND_EXPR. - (expand_vector_operation): Change void return type to bool. - (expand_vector_operations_1): Pass dce_ssa_names. - -2020-07-02 Ilya Leoshkevich - - PR bootstrap/95700 - * system.h (NULL): Redefine to nullptr. - -2020-07-02 Jakub Jelinek - - PR tree-optimization/95857 - * tree-cfg.c (group_case_labels_stmt): When removing an unreachable - base_bb, remember all forced and non-local labels on it and later - treat those as if they have NULL label_to_block. Formatting fix. - Fix a comment typo. - -2020-07-02 Richard Biener - - PR tree-optimization/96022 - * tree-vect-stmts.c (vectorizable_shift): Only use the - first vector stmt when extracting the scalar shift amount. - * tree-vect-slp.c (vect_build_slp_tree_2): Also build unary - nodes with all-scalar children from scalars but not stores. - (vect_analyze_slp_instance): Mark the node not failed. - -2020-07-02 Felix Yang - - PR tree-optimization/95961 - * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Use the - number of scalars instead of the number of vectors as an upper bound - for the loop saving info about DR in the hash table. Remove unused - local variables. - -2020-07-02 Jakub Jelinek - - * omp-expand.c (expand_omp_for): Diagnose non-rectangular loops with - invalid steps - ((m2 - m1) * incr_outer) % incr must be 0 in valid - OpenMP non-rectangular loops. Use XALLOCAVEC. - -2020-07-02 Martin Liska - - PR gcov-profile/95348 - * coverage.c (read_counts_file): Read only COUNTERS that are - not all-zero. - * gcov-dump.c (tag_function): Change signature from unsigned to - signed integer. - (tag_blocks): Likewise. - (tag_arcs): Likewise. - (tag_lines): Likewise. - (tag_counters): Likewise. - (tag_summary): Likewise. - * gcov.c (read_count_file): Read all non-zero counters - sensitively. - -2020-07-02 Kito Cheng - - * config/riscv/multilib-generator (arch_canonicalize): Handle - multi-letter extension. - Using underline as separator between different extensions. - -2020-07-01 Pip Cet - - * spellcheck.c (test_data): Add problematic strings. - (test_metric_conditions): Don't test the triangle inequality - condition, which our distance function does not satisfy. - -2020-07-01 Omar Tahir - - * config/aarch64/aarch64.c (aarch64_asm_trampoline_template): Always - generate a BTI instruction. - -2020-07-01 Jeff Law - - PR tree-optimization/94882 - * match.pd (x & y) - (x | y) - 1 -> ~(x ^ y): New simplification. - -2020-07-01 Jeff Law - - * config/m68k/m68k.c (m68k_output_btst): Drop "register" keyword. - (emit_move_sequence, output_iorsi3, output_xorsi3): Likewise. - -2020-07-01 Andrea Corallo - - * config/aarch64/aarch64-builtins.c (aarch64_builtins): Add enums - for 64bits fpsr/fpcr getter setters builtin variants. - (aarch64_init_fpsr_fpcr_builtins): New function. - (aarch64_general_init_builtins): Modify to make use of the later. - (aarch64_expand_fpsr_fpcr_setter): New function. - (aarch64_general_expand_builtin): Modify to make use of the later. - * config/aarch64/aarch64.md (@aarch64_set_) - (@aarch64_get_): New patterns replacing and - generalizing 'get_fpcr', 'set_fpsr'. - * config/aarch64/iterators.md (GET_FPSCR, SET_FPSCR): New int - iterators. - (fpscr_name): New int attribute. - * doc/extend.texi (__builtin_aarch64_get_fpcr64) - (__builtin_aarch64_set_fpcr64, __builtin_aarch64_get_fpsr64) - (__builtin_aarch64_set_fpsr64): Add into AArch64 Built-in - Functions. - -2020-07-01 Martin Liska - - * gcov.c (print_usage): Avoid trailing space for -j option. - -2020-07-01 Richard Biener - - PR tree-optimization/95839 - * tree-vect-slp.c (vect_slp_tree_uniform_p): Pre-existing - vectors are not uniform. - (vect_build_slp_tree_1): Handle BIT_FIELD_REFs of - vector registers. - (vect_build_slp_tree_2): For groups of lane extracts - from a vector register generate a permute node - with a special child representing the pre-existing vector. - (vect_prologue_cost_for_slp): Pre-existing vectors cost nothing. - (vect_slp_analyze_node_operations): Use SLP_TREE_LANES. - (vectorizable_slp_permutation): Do not generate or cost identity - permutes. - (vect_schedule_slp_instance): Handle pre-existing vector - that are function arguments. - -2020-07-01 Richard Biener - - * system.h (INCLUDE_ISL): New guarded include. - * graphite-dependences.c: Use it. - * graphite-isl-ast-to-gimple.c: Likewise. - * graphite-optimize-isl.c: Likewise. - * graphite-poly.c: Likewise. - * graphite-scop-detection.c: Likewise. - * graphite-sese-to-poly.c: Likewise. - * graphite.c: Likewise. - * graphite.h: Drop the includes here. - -2020-07-01 Martin Liska - - * gcov.c (print_usage): Shorted option description for -j - option. - -2020-07-01 Martin Liska - - * doc/gcov.texi: Rename 2 options. - * gcov.c (print_usage): Rename -i,--json-format to - -j,--json-format and -j,--human-readable to -H,--human-readable. - (process_args): Fix up parsing. Document obsolete options and - how are they changed. - -2020-07-01 Jeff Law - - * config/pa/pa.c (pa_emit_move_sequence): Drop register keyword. - (pa_output_ascii): Likewise. - -2020-07-01 Kito Cheng - - * common/config/riscv/riscv-common.c (riscv_subset_t): New field - added. - (riscv_subset_list::parsing_subset_version): Add parameter for - indicate explicitly version, and handle explicitly version. - (riscv_subset_list::handle_implied_ext): Ditto. - (riscv_subset_list::add): Ditto. - (riscv_subset_t::riscv_subset_t): Init new field. - (riscv_subset_list::to_string): Always output version info if version - explicitly specified. - (riscv_subset_list::parsing_subset_version): Handle explicitly - arch version. - (riscv_subset_list::parse_std_ext): Ditto. - (riscv_subset_list::parse_multiletter_ext): Ditto. - -2020-06-30 Richard Sandiford - - PR target/92789 - PR target/95726 - * config/aarch64/aarch64.c (aarch64_attribute_table): Add - "Advanced SIMD type". - (aarch64_comp_type_attributes): Check that the "Advanced SIMD type" - attributes are equal. - * config/aarch64/aarch64-builtins.c: Include stringpool.h and - attribs.h. - (aarch64_mangle_builtin_vector_type): Use the mangling recorded - in the "Advanced SIMD type" attribute. - (aarch64_init_simd_builtin_types): Add an "Advanced SIMD type" - attribute to each Advanced SIMD type, using the mangled type - as the attribute's single argument. - -2020-06-30 Christophe Lyon - - PR target/94743 - * config/arm/arm.c (arm_handle_isr_attribute): Warn if - -mgeneral-regs-only is not used. - -2020-06-30 Yang Yang - - PR tree-optimization/95855 - * gimple-ssa-split-paths.c (is_feasible_trace): Add extra - checks to recognize a missed if-conversion opportunity when - judging whether to duplicate a block. - -2020-06-29 Segher Boessenkool - - * doc/extend.texi: Change references to "future architecture" to - "ISA 3.1", "-mcpu=future" to "-mcpu=power10", and remove vaguer - references to "future" (because the future is now). - -2020-06-29 Segher Boessenkool - - * config/rs6000/rs6000.md (isa): Rename "fut" to "p10". - -2020-06-29 Roger Sayle - - * simplify-rtx.c (simplify_distributive_operation): New function - to un-distribute a binary operation of two binary operations. - (X & C) ^ (Y & C) to (X ^ Y) & C, when C is simple (i.e. a constant). - (simplify_binary_operation_1) : Call it from here - when appropriate. - (test_scalar_int_ops): New function for unit self-testing - scalar integer transformations in simplify-rtx.c. - (test_scalar_ops): Call test_scalar_int_ops for each integer mode. - (simplify_rtx_c_tests): Call test_scalar_ops. - -2020-06-29 Richard Biener - - PR tree-optimization/95916 - * tree-vect-slp.c (vect_schedule_slp_instance): Explicitely handle - the case of not vectorized externals. - -2020-06-29 Richard Biener - - * tree-vectorizer.h: Do not include . - -2020-06-29 Martin Liska - - * tree-ssa-ccp.c (gsi_prev_dom_bb_nondebug): Use gsi_bb - instead of gimple_stmt_iterator::bb. - * tree-ssa-math-opts.c (insert_reciprocals): Likewise. - * tree-vectorizer.h: Likewise. - -2020-06-29 Andrew Stubbs - - * config/gcn/gcn-hsa.h (DBX_REGISTER_NUMBER): New macro. - * config/gcn/gcn-protos.h (gcn_dwarf_register_number): New prototype. - * config/gcn/gcn.c (gcn_expand_prologue): Add RTX_FRAME_RELATED_P - and REG_FRAME_RELATED_EXPR to stack and frame pointer adjustments. - (gcn_dwarf_register_number): New function. - (gcn_dwarf_register_span): New function. - (TARGET_DWARF_REGISTER_SPAN): New hook macro. - -2020-06-29 Kaipeng Zhou - - PR tree-optimization/95854 - * gimple-ssa-store-merging.c (find_bswap_or_nop_1): Return NULL - if operand 1 or 2 of a BIT_FIELD_REF cannot be converted to - unsigned HOST_WIDE_INT. - -2020-06-29 Rainer Orth - - * config/sparc/sparc.c (epilogue_renumber): Remove register. - (sparc_print_operand_address): Likewise. - (sparc_type_code): Likewise. - (set_extends): Likewise. - -2020-06-29 Martin Liska - - PR tree-optimization/92860 - * optc-save-gen.awk: Add exceptions for arc target. - -2020-06-29 Frederik Harwath - - * doc/sourcebuild.texi: Describe globbing of the - dump file scanning commands "suffix" argument. - -2020-06-28 Martin Sebor - - PR c++/86568 - * calls.c (maybe_warn_rdwr_sizes): Use location of argument if - available. - * tree-ssa-ccp.c (pass_post_ipa_warn::execute): Same. Adjust - indentation. - * tree.c (get_nonnull_args): Consider the this pointer implicitly - nonnull. - * var-tracking.c (deps_vec): New type. - (var_loc_dep_vec): New function. - (VAR_LOC_DEP_VEC): Use it. - -2020-06-28 Kewen Lin - - * internal-fn.c (direct_mask_load_optab_supported_p): Use - convert_optab_supported_p instead of direct_optab_supported_p. - (direct_mask_store_optab_supported_p): Likewise. - -2020-06-27 Aldy Hernandez - - * gimple-ssa-evrp-analyze.h (vrp_visit_cond_stmt): Use - simplify_using_ranges class. - * gimple-ssa-evrp.c (class evrp_folder): New simplify_using_ranges - field. Adjust all methods to use new field. - * tree-ssa-dom.c (simplify_stmt_for_jump_threading): Use - simplify_using_ranges class. - * tree-vrp.c (class vrp_folder): New simplify_using_ranges - field. Adjust all methods to use new field. - (simplify_stmt_for_jump_threading): Use simplify_using_ranges class. - (vrp_prop::vrp_finalize): New vrp_folder argument. - (execute_vrp): Pass folder to vrp_finalize. Use - simplify_using_ranges class. - Remove cleanup_edges_and_switches call. - * vr-values.c (vr_values::op_with_boolean_value_range_p): Change - value_range_equiv uses to value_range. - (simplify_using_ranges::op_with_boolean_value_range_p): Use - simplify_using_ranges class. - (check_for_binary_op_overflow): Make static. - (vr_values::extract_range_basic): Pass this to - check_for_binary_op_overflow. - (compare_range_with_value): Change value_range_equiv uses to - value_range. - (vr_values::vr_values): Initialize simplifier field. - Remove uses of to_remove_edges and to_update_switch_stmts. - (vr_values::~vr_values): Remove uses of to_remove_edges and - to_update_switch_stmts. - (vr_values::get_vr_for_comparison): Move to simplify_using_ranges - class. - (vr_values::compare_name_with_value): Same. - (vr_values::compare_names): Same. - (vr_values::vrp_evaluate_conditional_warnv_with_ops): Same. - (vr_values::vrp_evaluate_conditional): Same. - (vr_values::vrp_visit_cond_stmt): Same. - (find_case_label_ranges): Change value_range_equiv uses to - value_range. - (vr_values::extract_range_from_stmt): Use simplify_using_ranges class. - (vr_values::simplify_truth_ops_using_ranges): Move to - simplify_using_ranges class. - (vr_values::simplify_div_or_mod_using_ranges): Same. - (vr_values::simplify_min_or_max_using_ranges): Same. - (vr_values::simplify_abs_using_ranges): Same. - (vr_values::simplify_bit_ops_using_ranges): Same. - (test_for_singularity): Change value_range_equiv uses to - value_range. - (range_fits_type_p): Same. - (vr_values::simplify_cond_using_ranges_1): Same. - (vr_values::simplify_cond_using_ranges_2): Make extern. - (vr_values::fold_cond): Move to simplify_using_ranges class. - (vr_values::simplify_switch_using_ranges): Same. - (vr_values::cleanup_edges_and_switches): Same. - (vr_values::simplify_float_conversion_using_ranges): Same. - (vr_values::simplify_internal_call_using_ranges): Same. - (vr_values::two_valued_val_range_p): Same. - (vr_values::simplify_stmt_using_ranges): Move to... - (simplify_using_ranges::simplify): ...here. - * vr-values.h (class vr_values): Move all the simplification of - statements using ranges methods and code from here... - (class simplify_using_ranges): ...to here. - (simplify_cond_using_ranges_2): New extern prototype. - -2020-06-27 Jakub Jelinek - - * omp-general.h (struct omp_for_data_loop): Add non_rect_referenced - member, move outer member. - (struct omp_for_data): Add first_nonrect and last_nonrect members. - * omp-general.c (omp_extract_for_data): Initialize first_nonrect, - last_nonrect and non_rect_referenced members. - * omp-expand.c (expand_omp_for_init_counts): Handle non-rectangular - loops. - (expand_omp_for_init_vars): Add nonrect_bounds parameter. Handle - non-rectangular loops. - (extract_omp_for_update_vars): Likewise. - (expand_omp_for_generic, expand_omp_for_static_nochunk, - expand_omp_for_static_chunk, expand_omp_simd, - expand_omp_taskloop_for_outer, expand_omp_taskloop_for_inner): Adjust - expand_omp_for_init_vars and extract_omp_for_update_vars callers. - (expand_omp_for): Don't sorry on non-composite worksharing-loop or - distribute. - -2020-06-26 H.J. Lu - - PR target/95655 - * config/i386/gnu-user.h (SUBTARGET_FRAME_POINTER_REQUIRED): - Removed. - * config/i386/i386.c (ix86_frame_pointer_required): Update - comments. - -2020-06-26 Yichao Yu - - * multiple_target.c (redirect_to_specific_clone): Fix tests - to check individual attribute rather than an attribute list. - -2020-06-26 Peter Bergner - - * config/rs6000/rs6000-call.c (cpu_is_info) : New. - * doc/extend.texi (PowerPC Built-in Functions): Document power10, - arch_3_1 and mma. - -2020-06-26 Marek Polacek - - * doc/invoke.texi (C Dialect Options): Adjust -std default for C++. - * doc/standards.texi (C Language): Correct the default dialect. - (C++ Language): Update the default for C++ to gnu++17. - -2020-06-26 Eric Botcazou - - * tree-ssa-reassoc.c (dump_range_entry): New function. - (debug_range_entry): New debug function. - (update_range_test): Invoke dump_range_entry for dumping. - (optimize_range_tests_to_bit_test): Merge the entry test in the - bit test when possible and lower the profitability threshold. - -2020-06-26 Richard Biener - - PR tree-optimization/95897 - * tree-vectorizer.h (vectorizable_induction): Remove - unused gimple_stmt_iterator * parameter. - * tree-vect-loop.c (vectorizable_induction): Likewise. - (vect_analyze_loop_operations): Adjust. - * tree-vect-stmts.c (vect_analyze_stmt): Likewise. - (vect_transform_stmt): Likewise. - * tree-vect-slp.c (vect_schedule_slp_instance): Adjust - for fold-left reductions, clarify existing reduction case. - -2020-06-25 Nick Clifton - - * config/m32r/m32r.md (movsicc): Disable pattern. - -2020-06-25 Richard Biener - - PR tree-optimization/95839 - * tree-vect-slp.c (vect_slp_analyze_bb_1): Remove premature - check on the number of datarefs. - -2020-06-25 Iain Sandoe - - * config/rs6000/rs6000-call.c (mma_init_builtins): Cast - the insn_data n_operands value to unsigned. - -2020-06-25 Richard Biener - - * tree-vect-slp.c (vect_schedule_slp_instance): Always use - vector defs to determine insertion place. - -2020-06-25 H.J. Lu - - PR target/95874 - * config/i386/i386.h (PTA_ICELAKE_CLIENT): Remove PTA_CLWB. - (PTA_ICELAKE_SERVER): Add PTA_CLWB. - (PTA_TIGERLAKE): Add PTA_CLWB. - -2020-06-25 Richard Biener - - PR tree-optimization/95866 - * tree-vect-stmts.c (vectorizable_shift): Reject incompatible - vectorized shift operands. For scalar shifts use lane zero - of a vectorized shift operand. - -2020-06-25 Martin Liska - - PR tree-optimization/95745 - PR middle-end/95830 - * gimple-isel.cc (gimple_expand_vec_cond_exprs): Delete dead - SSA_NAMEs used as the first argument of a VEC_COND_EXPR. Always - return 0. - * tree-vect-generic.c (expand_vector_condition): Remove dead - SSA_NAMEs used as the first argument of a VEC_COND_EXPR. - -2020-06-24 Will Schmidt - - PR target/94954 - * config/rs6000/altivec.h (vec_pack_to_short_fp32): Update. - * config/rs6000/altivec.md (UNSPEC_CONVERT_4F32_8F16): New unspec. - (convert_4f32_8f16): New define_expand - * config/rs6000/rs6000-builtin.def (convert_4f32_8f16): New builtin define - and overload. - * config/rs6000/rs6000-call.c (P9V_BUILTIN_VEC_CONVERT_4F32_8F16): New - overloaded builtin entry. - * config/rs6000/vsx.md (UNSPEC_VSX_XVCVSPHP): New unspec. - (vsx_xvcvsphp): New define_insn. - -2020-06-24 Roger Sayle - Segher Boessenkool - - * simplify-rtx.c (simplify_unary_operation_1): Simplify rotates by 0. - -2020-06-24 Roger Sayle - - * simplify-rtx.c (simplify_unary_operation_1): Simplify - (parity (parity x)) as (parity x), i.e. PARITY is idempotent. - -2020-06-24 Richard Biener - - PR tree-optimization/95866 - * tree-vect-slp.c (vect_slp_tree_uniform_p): New. - (vect_build_slp_tree_2): Properly reset matches[0], - ignore uniform constants. - -2020-06-24 H.J. Lu - - PR target/95660 - * common/config/i386/cpuinfo.h (get_intel_cpu): Remove brand_id. - (cpu_indicator_init): Likewise. - * config/i386/driver-i386.c (host_detect_local_cpu): Updated. - -2020-06-24 H.J. Lu - - PR target/95774 - * common/config/i386/cpuinfo.h (get_intel_cpu): Add Cooper Lake - detection with AVX512BF16. - -2020-06-24 H.J. Lu - - PR target/95843 - * common/config/i386/i386-isas.h: New file. Extracted from - gcc/config/i386/i386-builtins.c. - (_isa_names_table): Add option. - (ISA_NAMES_TABLE_START): New. - (ISA_NAMES_TABLE_END): Likewise. - (ISA_NAMES_TABLE_ENTRY): Likewise. - (isa_names_table): Defined with ISA_NAMES_TABLE_START, - ISA_NAMES_TABLE_END and ISA_NAMES_TABLE_ENTRY. Add more ISAs - from enum processor_features. - * config/i386/driver-i386.c: Include - "common/config/i386/cpuinfo.h" and - "common/config/i386/i386-isas.h". - (has_feature): New macro. - (host_detect_local_cpu): Call cpu_indicator_init to get CPU - features. Use has_feature to detect processor features. Call - Call get_intel_cpu to get the newer Intel CPU name. Use - isa_names_table to generate command-line options. - * config/i386/i386-builtins.c: Include - "common/config/i386/i386-isas.h". - (_arch_names_table): Removed. - (isa_names_table): Likewise. - -2020-06-24 H.J. Lu - - PR target/95259 - * common/config/i386/cpuinfo.h: New file. - (__processor_model): Moved from libgcc/config/i386/cpuinfo.h. - (__processor_model2): New. - (CHECK___builtin_cpu_is): New. Defined as empty if not defined. - (has_cpu_feature): New function. - (set_cpu_feature): Likewise. - (get_amd_cpu): Moved from libgcc/config/i386/cpuinfo.c. Use - CHECK___builtin_cpu_is. Return AMD CPU name. - (get_intel_cpu): Moved from libgcc/config/i386/cpuinfo.c. Use - Use CHECK___builtin_cpu_is. Return Intel CPU name. - (get_available_features): Moved from libgcc/config/i386/cpuinfo.c. - Also check FEATURE_3DNOW, FEATURE_3DNOWP, FEATURE_ADX, - FEATURE_ABM, FEATURE_CLDEMOTE, FEATURE_CLFLUSHOPT, FEATURE_CLWB, - FEATURE_CLZERO, FEATURE_CMPXCHG16B, FEATURE_CMPXCHG8B, - FEATURE_ENQCMD, FEATURE_F16C, FEATURE_FSGSBASE, FEATURE_FXSAVE, - FEATURE_HLE, FEATURE_IBT, FEATURE_LAHF_LM, FEATURE_LM, - FEATURE_LWP, FEATURE_LZCNT, FEATURE_MOVBE, FEATURE_MOVDIR64B, - FEATURE_MOVDIRI, FEATURE_MWAITX, FEATURE_OSXSAVE, - FEATURE_PCONFIG, FEATURE_PKU, FEATURE_PREFETCHWT1, FEATURE_PRFCHW, - FEATURE_PTWRITE, FEATURE_RDPID, FEATURE_RDRND, FEATURE_RDSEED, - FEATURE_RTM, FEATURE_SERIALIZE, FEATURE_SGX, FEATURE_SHA, - FEATURE_SHSTK, FEATURE_TBM, FEATURE_TSXLDTRK, FEATURE_VAES, - FEATURE_WAITPKG, FEATURE_WBNOINVD, FEATURE_XSAVE, FEATURE_XSAVEC, - FEATURE_XSAVEOPT and FEATURE_XSAVES - (cpu_indicator_init): Moved from libgcc/config/i386/cpuinfo.c. - Also update cpu_model2. - * common/config/i386/i386-cpuinfo.h (processor_vendor): Add - Add VENDOR_CENTAUR, VENDOR_CYRIX and VENDOR_NSC. - (processor_features): Moved from gcc/config/i386/i386-builtins.c. - Renamed F_XXX to FEATURE_XXX. Add FEATURE_3DNOW, FEATURE_3DNOWP, - FEATURE_ADX, FEATURE_ABM, FEATURE_CLDEMOTE, FEATURE_CLFLUSHOPT, - FEATURE_CLWB, FEATURE_CLZERO, FEATURE_CMPXCHG16B, - FEATURE_CMPXCHG8B, FEATURE_ENQCMD, FEATURE_F16C, - FEATURE_FSGSBASE, FEATURE_FXSAVE, FEATURE_HLE, FEATURE_IBT, - FEATURE_LAHF_LM, FEATURE_LM, FEATURE_LWP, FEATURE_LZCNT, - FEATURE_MOVBE, FEATURE_MOVDIR64B, FEATURE_MOVDIRI, - FEATURE_MWAITX, FEATURE_OSXSAVE, FEATURE_PCONFIG, - FEATURE_PKU, FEATURE_PREFETCHWT1, FEATURE_PRFCHW, - FEATURE_PTWRITE, FEATURE_RDPID, FEATURE_RDRND, FEATURE_RDSEED, - FEATURE_RTM, FEATURE_SERIALIZE, FEATURE_SGX, FEATURE_SHA, - FEATURE_SHSTK, FEATURE_TBM, FEATURE_TSXLDTRK, FEATURE_VAES, - FEATURE_WAITPKG, FEATURE_WBNOINVD, FEATURE_XSAVE, FEATURE_XSAVEC, - FEATURE_XSAVEOPT, FEATURE_XSAVES and CPU_FEATURE_MAX. - (SIZE_OF_CPU_FEATURES): New. - * config/i386/i386-builtins.c (processor_features): Removed. - (isa_names_table): Replace F_XXX with FEATURE_XXX. - (fold_builtin_cpu): Change __cpu_features2 to an array. - -2020-06-24 H.J. Lu - - PR target/95842 - * common/config/i386/i386-common.c (processor_alias_table): Add - processor model and priority to each entry. - (pta_size): Updated with -6. - (num_arch_names): New. - * common/config/i386/i386-cpuinfo.h: New file. - * config/i386/i386-builtins.c (feature_priority): Removed. - (processor_model): Likewise. - (_arch_names_table): Likewise. - (arch_names_table): Likewise. - (_isa_names_table): Replace P_ZERO with P_NONE. - (get_builtin_code_for_version): Replace P_ZERO with P_NONE. Use - processor_alias_table. - (fold_builtin_cpu): Replace arch_names_table with - processor_alias_table. - * config/i386/i386.h: Include "common/config/i386/i386-cpuinfo.h". - (pta): Add model and priority. - (num_arch_names): New. - -2020-06-24 Richard Biener - - * tree-vectorizer.h (vect_find_first_scalar_stmt_in_slp): - Declare. - * tree-vect-data-refs.c (vect_preserves_scalar_order_p): - Simplify for new position of vectorized SLP loads. - (vect_slp_analyze_node_dependences): Adjust for it. - (vect_slp_analyze_and_verify_node_alignment): Compute alignment - for the first stmts dataref. - * tree-vect-slp.c (vect_find_first_scalar_stmt_in_slp): New. - (vect_schedule_slp_instance): Emit loads before the - first scalar stmt. - * tree-vect-stmts.c (vectorizable_load): Do what the comment - says and use vect_find_first_scalar_stmt_in_slp. - -2020-06-24 Richard Biener - - PR tree-optimization/95856 - * tree-vectorizer.c (vect_stmt_dominates_stmt_p): Honor - region marker -1u. - -2020-06-24 Jakub Jelinek - - PR middle-end/95810 - * fold-const.c (fold_cond_expr_with_comparison): Optimize - A <= 0 ? A : -A into (type)-absu(A) rather than -abs(A). - -2020-06-24 Jakub Jelinek - - * omp-low.c (lower_omp_for): Fix two pastos. - -2020-06-24 Martin Liska - - * optc-save-gen.awk: Compare string options in cl_optimization_compare - by strcmp. - -2020-06-23 Aaron Sawdey - - * config.gcc: Identify power10 as a 64-bit processor and as valid - for --with-cpu and --with-tune. - -2020-06-23 David Edelsohn - - * Makefile.in (LANG_MAKEFRAGS): Same. - (tmake_file): Use -include. - (xmake_file): Same. - -2020-06-23 Michael Meissner - - * REVISION: Delete file meant for a private branch. - -2020-06-23 Andre Vieira - - PR target/95646 - * config/arm/arm.c: (cmse_nonsecure_entry_clear_before_return): Use - 'callee_saved_reg_p' instead of 'calL_used_or_fixed_reg_p'. - -2020-06-23 Alexandre Oliva - - * collect-utils.h (dumppfx): New. - * collect-utils.c (dumppfx): Likewise. - * lto-wrapper.c (run_gcc): Set global dumppfx. - (compile_offload_image): Pass a -dumpbase on to mkoffload. - * config/nvptx/mkoffload.c (ptx_dumpbase): New. - (main): Handle incoming -dumpbase. Set ptx_dumpbase. Obey - save_temps. - (compile_native): Pass -dumpbase et al to compiler. - * config/gcn/mkoffload.c (gcn_dumpbase): New. - (main): Handle incoming -dumpbase. Set gcn_dumpbase. Obey - save_temps. Pass -dumpbase et al to offload target compiler. - (compile_native): Pass -dumpbase et al to compiler. - -2020-06-23 Michael Meissner - - * REVISION: New file. - -2020-06-22 Segher Boessenkool - - * config/rs6000/altivec.h: Use _ARCH_PWR10, not _ARCH_PWR_FUTURE. - Update comment for ISA 3.1. - * config/rs6000/altivec.md: Use TARGET_POWER10, not TARGET_FUTURE. - * config/rs6000/driver-rs6000.c (asm_names): Use -mpwr10 for power10 - on AIX, and -mpower10 elsewhere. - * config/rs6000/future.md: Delete. - * config/rs6000/linux64.h: Update comments. Use TARGET_POWER10, not - TARGET_FUTURE. - * config/rs6000/power10.md: New file. - * config/rs6000/ppc-auxv.h: Use PPC_PLATFORM_POWER10, not - PPC_PLATFORM_FUTURE. - * config/rs6000/rs6000-builtin.def: Update comments. Use BU_P10V_* - names instead of BU_FUTURE_V_* names. Use RS6000_BTM_P10 instead of - RS6000_BTM_FUTURE. Use P10_BUILTIN_* instead of FUTURE_BUILTIN_*. - Use BU_P10_* instead of BU_FUTURE_*. - * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define - _ARCH_PWR10 instead of _ARCH_PWR_FUTURE. - (altivec_resolve_overloaded_builtin): Use P10_BUILTIN_VEC_XXEVAL, not - FUTURE_BUILTIN_VEC_XXEVAL. - * config/rs6000/rs6000-call.c: Use P10_BUILTIN_*, not FUTURE_BUILTIN_*. - Update compiler messages. - * config/rs6000/rs6000-cpus.def: Update comments. Use ISA_3_1_*, not - ISA_FUTURE_*. Use OPTION_MASK_POWER10, not OPTION_MASK_FUTURE. - * config/rs6000/rs6000-opts.h: Use PROCESSOR_POWER10, not - PROCESSOR_FUTURE. - * config/rs6000/rs6000-string.c: Ditto. - * config/rs6000/rs6000-tables.opt (rs6000_cpu_opt_value): Use "power10" - instead of "future", reorder it to right after "power9". - * config/rs6000/rs6000.c: Update comments. Use OPTION_MASK_POWER10, - not OPTION_MASK_FUTURE. Use TARGET_POWER10, not TARGET_FUTURE. Use - RS6000_BTM_P10, not RS6000_BTM_FUTURE. Update compiler messages. - Use PROCESSOR_POWER10, not PROCESSOR_FUTURE. Use ISA_3_1_MASKS_SERVER, - not ISA_FUTURE_MASKS_SERVER. - (rs6000_opt_masks): Use "power10" instead of "future". - (rs6000_builtin_mask_names): Ditto. - (rs6000_disable_incompatible_switches): Ditto. - * config/rs6000/rs6000.h: Use -mpower10, not -mfuture. Use - -mcpu=power10, not -mcpu=future. Use MASK_POWER10, not MASK_FUTURE. - Use OPTION_MASK_POWER10, not OPTION_MASK_FUTURE. Use RS6000_BTM_P10, - not RS6000_BTM_FUTURE. - * config/rs6000/rs6000.md: Use "power10", not "future". Use - TARGET_POWER10, not TARGET_FUTURE. Include "power10.md", not - "future.md". - * config/rs6000/rs6000.opt (mfuture): Delete. - (mpower10): New. - * config/rs6000/t-rs6000: Use "power10.md", not "future.md". - * config/rs6000/vsx.md: Use TARGET_POWER10, not TARGET_FUTURE. - -2020-06-22 Richard Sandiford - - * coretypes.h (first_type): Delete. - * recog.h (insn_gen_fn::operator()): Go back to using a decltype. - -2020-06-22 Srinath Parvathaneni - - * doc/sourcebuild.texi (arm_v8_1m_mve_fp_ok): Add item. - (arm_mve_hw): Likewise. - -2020-06-22 H.J. Lu - - PR target/95791 - * config/i386/i386.c (ix86_dirflag_mode_needed): Skip - EXT_REX_SSE_REG_P. - -2020-06-22 Richard Biener - - PR tree-optimization/95770 - * tree-vect-slp.c (vect_schedule_slp_instance): Also consider - external defs. - -2020-06-22 Andrew Stubbs - - * config/gcn/gcn.c (gcn_function_arg): Disallow vector arguments. - (gcn_return_in_memory): Return vectors in memory. - -2020-06-22 Jakub Jelinek - - * omp-general.c (omp_extract_for_data): For triangular loops with - all loop invariant expressions constant where the innermost loop is - executed at least once compute number of iterations at compile time. - -2020-06-22 Kito Cheng - - * config/riscv/riscv.h (ASM_SPEC): Remove riscv_expand_arch call. - (DRIVER_SELF_SPECS): New. - -2020-06-22 Kito Cheng - - * config/riscv/riscv-builtins.c (RISCV_FTYPE_NAME0): New. - (RISCV_FTYPE_ATYPES0): New. - (riscv_builtins): Using RISCV_USI_FTYPE for frflags. - * config/riscv/riscv-ftypes.def: Remove VOID argument. - -2020-06-21 David Edelsohn - - * config.gcc: Use t-aix64, biarch64 and default64 for cpu_is_64bit. - * config/rs6000/aix72.h (ASM_SPEC): Remove aix64 option. - (ASM_SPEC32): New. - (ASM_SPEC64): New. - (ASM_CPU_SPEC): Remove vsx and altivec options. - (CPP_SPEC_COMMON): Rename from CPP_SPEC. - (CPP_SPEC32): New. - (CPP_SPEC64): New. - (CPLUSPLUS_CPP_SPEC): Rename to CPLUSPLUS_CPP_SPEC_COMMON.. - (TARGET_DEFAULT): Only define if not BIARCH. - (LIB_SPEC_COMMON): Rename from LIB_SPEC. - (LIB_SPEC32): New. - (LIB_SPEC64): New. - (LINK_SPEC_COMMON): Rename from LINK_SPEC. - (LINK_SPEC32): New. - (LINK_SPEC64): New. - (STARTFILE_SPEC): Add 64 bit version of crtcxa and crtdbase. - (ASM_SPEC): Define 32 and 64 bit alternatives using DEFAULT_ARCH64_P. - (CPP_SPEC): Same. - (CPLUSPLUS_CPP_SPEC): Same. - (LIB_SPEC): Same. - (LINK_SPEC): Same. - (SUBTARGET_EXTRA_SPECS): Add new 32/64 specs. - * config/rs6000/defaultaix64.h: New file. - * config/rs6000/t-aix64: New file. - -2020-06-21 Peter Bergner - - * config/rs6000/predicates.md (mma_assemble_input_operand): New. - * config/rs6000/rs6000-builtin.def (BU_MMA_1, BU_MMA_V2, BU_MMA_3, - BU_MMA_5, BU_MMA_6, BU_VSX_1): Add support macros for defining MMA - built-in functions. - (ASSEMBLE_ACC, ASSEMBLE_PAIR, DISASSEMBLE_ACC, DISASSEMBLE_PAIR, - PMXVBF16GER2, PMXVBF16GER2NN, PMXVBF16GER2NP, PMXVBF16GER2PN, - PMXVBF16GER2PP, PMXVF16GER2, PMXVF16GER2NN, PMXVF16GER2NP, - PMXVF16GER2PN, PMXVF16GER2PP, PMXVF32GER, PMXVF32GERNN, - PMXVF32GERNP, PMXVF32GERPN, PMXVF32GERPP, PMXVF64GER, PMXVF64GERNN, - PMXVF64GERNP, PMXVF64GERPN, PMXVF64GERPP, PMXVI16GER2, PMXVI16GER2PP, - PMXVI16GER2S, PMXVI16GER2SPP, PMXVI4GER8, PMXVI4GER8PP, PMXVI8GER4, - PMXVI8GER4PP, PMXVI8GER4SPP, XVBF16GER2, XVBF16GER2NN, XVBF16GER2NP, - XVBF16GER2PN, XVBF16GER2PP, XVCVBF16SP, XVCVSPBF16, XVF16GER2, - XVF16GER2NN, XVF16GER2NP, XVF16GER2PN, XVF16GER2PP, XVF32GER, - XVF32GERNN, XVF32GERNP, XVF32GERPN, XVF32GERPP, XVF64GER, XVF64GERNN, - XVF64GERNP, XVF64GERPN, XVF64GERPP, XVI16GER2, XVI16GER2PP, XVI16GER2S, - XVI16GER2SPP, XVI4GER8, XVI4GER8PP, XVI8GER4, XVI8GER4PP, XVI8GER4SPP, - XXMFACC, XXMTACC, XXSETACCZ): Add MMA built-ins. - * config/rs6000/rs6000.c (rs6000_emit_move): Use CONST_INT_P. - Allow zero constants. - (print_operand) : New output modifier. - (rs6000_split_multireg_move): Add support for inserting accumulator - priming and depriming instructions. Add support for splitting an - assemble accumulator pattern. - * config/rs6000/rs6000-call.c (mma_init_builtins, mma_expand_builtin, - rs6000_gimple_fold_mma_builtin): New functions. - (RS6000_BUILTIN_M): New macro. - (def_builtin): Handle RS6000_BTC_QUAD and RS6000_BTC_PAIR attributes. - (bdesc_mma): Add new MMA built-in support. - (htm_expand_builtin): Use RS6000_BTC_OPND_MASK. - (rs6000_invalid_builtin): Add handling of RS6000_BTM_FUTURE and - RS6000_BTM_MMA. - (rs6000_builtin_valid_without_lhs): Handle RS6000_BTC_VOID attribute. - (rs6000_gimple_fold_builtin): Call rs6000_builtin_is_supported_p - and rs6000_gimple_fold_mma_builtin. - (rs6000_expand_builtin): Call mma_expand_builtin. - Use RS6000_BTC_OPND_MASK. - (rs6000_init_builtins): Adjust comment. Call mma_init_builtins. - (htm_init_builtins): Use RS6000_BTC_OPND_MASK. - (builtin_function_type): Handle VSX_BUILTIN_XVCVSPBF16 and - VSX_BUILTIN_XVCVBF16SP. - * config/rs6000/rs6000.h (RS6000_BTC_QUINARY, RS6000_BTC_SENARY, - RS6000_BTC_OPND_MASK, RS6000_BTC_QUAD, RS6000_BTC_PAIR, - RS6000_BTC_QUADPAIR, RS6000_BTC_GIMPLE): New defines. - (RS6000_BTC_PREDICATE, RS6000_BTC_ABS, RS6000_BTC_DST, - RS6000_BTC_TYPE_MASK, RS6000_BTC_ATTR_MASK): Adjust values. - * config/rs6000/mma.md (MAX_MMA_OPERANDS): New define_constant. - (UNSPEC_MMA_ASSEMBLE_ACC, UNSPEC_MMA_PMXVBF16GER2, - UNSPEC_MMA_PMXVBF16GER2NN, UNSPEC_MMA_PMXVBF16GER2NP, - UNSPEC_MMA_PMXVBF16GER2PN, UNSPEC_MMA_PMXVBF16GER2PP, - UNSPEC_MMA_PMXVF16GER2, UNSPEC_MMA_PMXVF16GER2NN, - UNSPEC_MMA_PMXVF16GER2NP, UNSPEC_MMA_PMXVF16GER2PN, - UNSPEC_MMA_PMXVF16GER2PP, UNSPEC_MMA_PMXVF32GER, - UNSPEC_MMA_PMXVF32GERNN, UNSPEC_MMA_PMXVF32GERNP, - UNSPEC_MMA_PMXVF32GERPN, UNSPEC_MMA_PMXVF32GERPP, - UNSPEC_MMA_PMXVF64GER, UNSPEC_MMA_PMXVF64GERNN, - UNSPEC_MMA_PMXVF64GERNP, UNSPEC_MMA_PMXVF64GERPN, - UNSPEC_MMA_PMXVF64GERPP, UNSPEC_MMA_PMXVI16GER2, - UNSPEC_MMA_PMXVI16GER2PP, UNSPEC_MMA_PMXVI16GER2S, - UNSPEC_MMA_PMXVI16GER2SPP, UNSPEC_MMA_PMXVI4GER8, - UNSPEC_MMA_PMXVI4GER8PP, UNSPEC_MMA_PMXVI8GER4, - UNSPEC_MMA_PMXVI8GER4PP, UNSPEC_MMA_PMXVI8GER4SPP, - UNSPEC_MMA_XVBF16GER2, UNSPEC_MMA_XVBF16GER2NN, - UNSPEC_MMA_XVBF16GER2NP, UNSPEC_MMA_XVBF16GER2PN, - UNSPEC_MMA_XVBF16GER2PP, UNSPEC_MMA_XVF16GER2, UNSPEC_MMA_XVF16GER2NN, - UNSPEC_MMA_XVF16GER2NP, UNSPEC_MMA_XVF16GER2PN, UNSPEC_MMA_XVF16GER2PP, - UNSPEC_MMA_XVF32GER, UNSPEC_MMA_XVF32GERNN, UNSPEC_MMA_XVF32GERNP, - UNSPEC_MMA_XVF32GERPN, UNSPEC_MMA_XVF32GERPP, UNSPEC_MMA_XVF64GER, - UNSPEC_MMA_XVF64GERNN, UNSPEC_MMA_XVF64GERNP, UNSPEC_MMA_XVF64GERPN, - UNSPEC_MMA_XVF64GERPP, UNSPEC_MMA_XVI16GER2, UNSPEC_MMA_XVI16GER2PP, - UNSPEC_MMA_XVI16GER2S, UNSPEC_MMA_XVI16GER2SPP, UNSPEC_MMA_XVI4GER8, - UNSPEC_MMA_XVI4GER8PP, UNSPEC_MMA_XVI8GER4, UNSPEC_MMA_XVI8GER4PP, - UNSPEC_MMA_XVI8GER4SPP, UNSPEC_MMA_XXMFACC, UNSPEC_MMA_XXMTACC): New. - (MMA_ACC, MMA_VV, MMA_AVV, MMA_PV, MMA_APV, MMA_VVI4I4I8, - MMA_AVVI4I4I8, MMA_VVI4I4I2, MMA_AVVI4I4I2, MMA_VVI4I4, - MMA_AVVI4I4, MMA_PVI4I2, MMA_APVI4I2, MMA_VVI4I4I4, - MMA_AVVI4I4I4): New define_int_iterator. - (acc, vv, avv, pv, apv, vvi4i4i8, avvi4i4i8, vvi4i4i2, - avvi4i4i2, vvi4i4, avvi4i4, pvi4i2, apvi4i2, vvi4i4i4, - avvi4i4i4): New define_int_attr. - (*movpxi): Add zero constant alternative. - (mma_assemble_pair, mma_assemble_acc): New define_expand. - (*mma_assemble_acc): New define_insn_and_split. - (mma_, mma_xxsetaccz, mma_, mma_, mma_, mma_, - mma_, mma_, mma_, mma_, - mma_, mma_, mma_, mma_, - mma_, mma_): New define_insn. - * config/rs6000/rs6000.md (define_attr "type"): New type mma. - * config/rs6000/vsx.md (UNSPEC_VSX_XVCVBF16SP): New. - (UNSPEC_VSX_XVCVSPBF16): Likewise. - (XVCVBF16): New define_int_iterator. - (xvcvbf16): New define_int_attr. - (vsx_): New define_insn. - * doc/extend.texi: Document the mma built-ins. - -2020-06-21 Peter Bergner - Michael Meissner - - * config/rs6000/mma.md: New file. - * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define - __MMA__ for mma. - * config/rs6000/rs6000-call.c (rs6000_init_builtins): Add support - for __vector_pair and __vector_quad types. - * config/rs6000/rs6000-cpus.def (OTHER_FUTURE_MASKS): Add - OPTION_MASK_MMA. - (POWERPC_MASKS): Likewise. - * config/rs6000/rs6000-modes.def (OI, XI): New integer modes. - (POI, PXI): New partial integer modes. - * config/rs6000/rs6000.c (TARGET_INVALID_CONVERSION): Define. - (rs6000_hard_regno_nregs_internal): Use VECTOR_ALIGNMENT_P. - (rs6000_hard_regno_mode_ok_uncached): Likewise. - Add support for POImode being allowed in VSX registers and PXImode - being allowed in FP registers. - (rs6000_modes_tieable_p): Adjust comment. - Add support for POImode and PXImode. - (rs6000_debug_reg_global) : Add OImode, POImode - XImode, PXImode, V2SImode, V2SFmode and CCFPmode.. - (rs6000_setup_reg_addr_masks): Use VECTOR_ALIGNMENT_P. - Set up appropriate addr_masks for vector pair and vector quad addresses. - (rs6000_init_hard_regno_mode_ok): Add support for vector pair and - vector quad registers. Setup reload handlers for POImode and PXImode. - (rs6000_builtin_mask_calculate): Add support for RS6000_BTM_MMA. - (rs6000_option_override_internal): Error if -mmma is specified - without -mcpu=future. - (rs6000_slow_unaligned_access): Use VECTOR_ALIGNMENT_P. - (quad_address_p): Change size test to less than 16 bytes. - (reg_offset_addressing_ok_p): Add support for ISA 3.1 vector pair - and vector quad instructions. - (avoiding_indexed_address_p): Likewise. - (rs6000_emit_move): Disallow POImode and PXImode moves involving - constants. - (rs6000_preferred_reload_class): Prefer VSX registers for POImode - and FP registers for PXImode. - (rs6000_split_multireg_move): Support splitting POImode and PXImode - move instructions. - (rs6000_mangle_type): Adjust comment. Add support for mangling - __vector_pair and __vector_quad types. - (rs6000_opt_masks): Add entry for mma. - (rs6000_builtin_mask_names): Add RS6000_BTM_MMA and RS6000_BTM_FUTURE. - (rs6000_function_value): Use VECTOR_ALIGNMENT_P. - (address_to_insn_form): Likewise. - (reg_to_non_prefixed): Likewise. - (rs6000_invalid_conversion): New function. - * config/rs6000/rs6000.h (MASK_MMA): Define. - (BIGGEST_ALIGNMENT): Set to 512 if MMA support is enabled. - (VECTOR_ALIGNMENT_P): New helper macro. - (ALTIVEC_VECTOR_MODE): Use VECTOR_ALIGNMENT_P. - (RS6000_BTM_MMA): Define. - (RS6000_BTM_COMMON): Add RS6000_BTM_MMA and RS6000_BTM_FUTURE. - (rs6000_builtin_type_index): Add RS6000_BTI_vector_pair and - RS6000_BTI_vector_quad. - (vector_pair_type_node): New. - (vector_quad_type_node): New. - * config/rs6000/rs6000.md: Include mma.md. - (define_mode_iterator RELOAD): Add POI and PXI. - * config/rs6000/t-rs6000 (MD_INCLUDES): Add mma.md. - * config/rs6000/rs6000.opt (-mmma): New. - * doc/invoke.texi: Document -mmma. - -2020-06-20 Bin Cheng - - PR tree-optimization/95638 - * tree-loop-distribution.c (pg_edge_callback_data): New field. - (loop_distribution::break_alias_scc_partitions): Record and restore - postorder information. Fix memory leak. - -2020-06-19 Tobias Burnus - - * config/gcn/gcn.c (gcn_related_vector_mode): Add ARG_UNUSED. - (output_file_start): Use const 'char *'. - -2020-06-19 Przemyslaw Wirkus - - PR tree-optimization/94880 - * match.pd (A | B) - B -> (A & ~B): New simplification. - -2020-06-19 Richard Biener - - * tree-vect-slp.c (vect_bb_slp_scalar_cost): Adjust - for lane permutations. - -2020-06-19 Richard Biener - - PR tree-optimization/95761 - * tree-vect-slp.c (vect_schedule_slp_instance): Walk all - vectorized stmts for finding the last one. - -2020-06-18 Felix Yang - - * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Call - vect_relevant_for_alignment_p to filter out data references in - the loop whose alignment is irrelevant when trying loop peeling - to force alignment. - -2020-06-18 Uroš Bizjak - - * config/i386/i386.md (*cmpqi_ext_1): Use SWI248 mode - iterator instead of SImode for ZERO_EXTRACT RTX. Use SWI248 - mode iterator for the first operand of ZERO_EXTRACT RTX. - Change ext_register_operand predicate to register_operand. - Rename from *cmpqi_ext_1. - (*cmpqi_ext_2): Ditto. Rename from *cmpqi_ext_2. - (*cmpqi_ext_3): Ditto. Rename from *cmpqi_ext_3. - (*cmpqi_ext_4): Ditto. Rename from *cmpqi_ext_4. - (cmpi_ext_3): Use HImode instead of SImode for ZERO_EXTRACT RTX. - (*extv): Use SWI24 mode iterator for the first operand - of ZERO_EXTRACT RTX. Change ext_register_operand predicate - to register_operand. - (*extzv): Use SWI248 mode iterator for the first operand - of ZERO_EXTRACT RTX. Change ext_register_operand predicate - to register_operand. - (*extzvqi): Use SWI248 mode iterator instead of SImode for - ZERO_EXTRACT RTX. Use SWI248 mode iterator for the first operand - of ZERO_EXTRACT RTX. Change ext_register_operand predicate to - register_operand. - (*extzvqi_mem_rex64 and corresponding peephole2): Use SWI248 mode - iterator instead of SImode for ZERO_EXTRACT RTX. Use SWI248 - mode iterator for the first operand of ZERO_EXTRACT RTX. - Change ext_register_operand predicate to register_operand. - (@insv_1): Use SWI248 mode iterator for the first operand - of ZERO_EXTRACT RTX. Change ext_register_operand predicate to - register_operand. - (*insvqi_1): Use SWI248 mode iterator instead of SImode - for ZERO_EXTRACT RTX. Use SWI248 mode iterator for the - first operand of ZERO_EXTRACT RTX. Change ext_register_operand - predicate to register_operand. - (*insvqi_2): Ditto. - (*insvqi_3): Ditto. - (*insvqi_1_mem_rex64 and corresponding peephole2): Use SWI248 mode - iterator instead of SImode for ZERO_EXTRACT RTX. Use SWI248 - mode iterator for the first operand of ZERO_EXTRACT RTX. - Change ext_register_operand predicate to register_operand. - (addqi_ext_1): New expander. - (*addqi_ext_1): Use SWI248 mode iterator instead of SImode - for ZERO_EXTRACT RTX. Use SWI248 mode iterator for the first - operand of ZERO_EXTRACT RTX. Change ext_register_operand predicate - to register_operand. Rename from *addqi_ext_1. - (*addqi_ext_2): Ditto. Rename from *addqi_ext_2. - (divmodqi4): Use HImode instead of SImode for ZERO_EXTRACT RTX. - (udivmodqi4): Ditto. - (testqi_ext_1): Use HImode instead of SImode for ZERO_EXTRACT RTX. - (*testqi_ext_1): Use SWI248 mode iterator instead of SImode - for ZERO_EXTRACT RTX. Use SWI248 mode iterator for the first - operand of ZERO_EXTRACT RTX. Change ext_register_operand predicate - to register_operand. Rename from *testqi_ext_1. - (*testqi_ext_2): Ditto. Rename from *testqi_ext_2. - (andqi_ext_1): New expander. - (*andqi_ext_1): Use SWI248 mode iterator instead of SImode - for ZERO_EXTRACT RTX. Use SWI248 mode iterator for the first - operand of ZERO_EXTRACT RTX. Change ext_register_operand predicate - to register_operand. Rename from andqi_ext_1. - (*andqi_ext_1_cc): Ditto. Rename from *andqi_ext_1_cc. - (*andqi_ext_2): Ditto. Rename from *andqi_ext_2. - (*qi_ext_1): Ditto. Rename from *qi_ext_1. - (*qi_ext_2): Ditto. Rename from *qi_ext_2. - (xorqi_ext_1_cc): Use HImode instead of SImode for ZERO_EXTRACT RTX. - (*xorqi_ext_1_cc): Use SWI248 mode iterator instead of SImode - for ZERO_EXTRACT RTX. Use SWI248 mode iterator for the first - operand of ZERO_EXTRACT RTX. Change ext_register_operand predicate - to register_operand. Rename from *xorqi_ext_1_cc. - * config/i386/i386-expand.c (ix86_split_idivmod): Emit ZERO_EXTRACT - in mode, matching its first operand. - (promote_duplicated_reg): Update for renamed insv_1. - * config/i386/predicates.md (ext_register_operand): Remove predicate. - -2020-06-18 Martin Sebor - - PR middle-end/95667 - PR middle-end/92814 - * builtins.c (compute_objsize): Remove call to - compute_builtin_object_size and instead compute conservative sizes - directly here. - -2020-06-18 Martin Liska - - * coretypes.h (struct iterator_range): New type. - * tree-vect-patterns.c (vect_determine_precisions): Use - range-based iterator. - (vect_pattern_recog): Likewise. - * tree-vect-slp.c (_bb_vec_info): Likewise. - (_bb_vec_info::~_bb_vec_info): Likewise. - (vect_slp_check_for_constructors): Likewise. - * tree-vectorizer.h:Add new iterators - and functions that use it. - -2020-06-18 Martin Liska - - * config/rs6000/rs6000-call.c (fold_build_vec_cmp): - Since 502d63b6d6141597bb18fd23c87736a1b384cf8f, first argument - of a VEC_COND_EXPR cannot be tcc_comparison and so that - a SSA_NAME needs to be created before we use it for the first - argument of the VEC_COND_EXPR. - (fold_compare_helper): Pass gsi to fold_build_vec_cmp. - -2020-06-18 Richard Biener - - PR middle-end/95739 - * internal-fn.c (expand_vect_cond_optab_fn): Move the result - to the target if necessary. - (expand_vect_cond_mask_optab_fn): Likewise. - -2020-06-18 Martin Liska - - * tree-ssa-reassoc.c (ovce_extract_ops): Replace *vcond with - vcond as we check for NULL pointer. - -2020-06-18 Tobias Burnus - - * gimple-pretty-print.c (dump_binary_rhs): Use braces to - silence empty-body warning with gcc_fallthrough. - -2020-06-18 Jakub Jelinek - - PR tree-optimization/95699 - * tree-ssa-phiopt.c (minmax_replacement): Treat (signed int)x < 0 - as x > INT_MAX and (signed int)x >= 0 as x <= INT_MAX. Move variable - declarations to the statements that set them where possible. - -2020-06-18 Jakub Jelinek - - PR target/95713 - * tree-ssa-forwprop.c (simplify_vector_constructor): Don't allow - scalar mode halfvectype other than vector boolean for - VEC_PACK_TRUNC_EXPR. - -2020-06-18 Richard Biener - - * varasm.c (assemble_variable): Make sure to not - defer output when outputting addressed constants. - (output_constant_def_contents): Likewise. - (add_constant_to_table): Take and pass on whether to - defer output. - (output_addressed_constants): Likewise. - (output_constant_def): Pass on whether to defer output - to add_constant_to_table. - (tree_output_constant_def): Defer output of constants. - -2020-06-18 Richard Biener - - * tree-vectorizer.h (_slp_tree::two_operators): Remove. - (_slp_tree::lane_permutation): New member. - (_slp_tree::code): Likewise. - (SLP_TREE_TWO_OPERATORS): Remove. - (SLP_TREE_LANE_PERMUTATION): New. - (SLP_TREE_CODE): Likewise. - (vect_stmt_dominates_stmt_p): Declare. - * tree-vectorizer.c (vect_stmt_dominates_stmt_p): New function. - * tree-vect-stmts.c (vect_model_simple_cost): Remove - SLP_TREE_TWO_OPERATORS handling. - * tree-vect-slp.c (_slp_tree::_slp_tree): Amend. - (_slp_tree::~_slp_tree): Likewise. - (vect_two_operations_perm_ok_p): Remove. - (vect_build_slp_tree_1): Remove verification of two-operator - permutation here. - (vect_build_slp_tree_2): When we have two different operators - build two computation SLP nodes and a blend. - (vect_print_slp_tree): Print the lane permutation if it exists. - (slp_copy_subtree): Copy it. - (vect_slp_rearrange_stmts): Re-arrange it. - (vect_slp_analyze_node_operations_1): Handle SLP_TREE_CODE - VEC_PERM_EXPR explicitely. - (vect_schedule_slp_instance): Likewise. Remove old - SLP_TREE_TWO_OPERATORS code. - (vectorizable_slp_permutation): New function. - -2020-06-18 Martin Liska - - * tree-vect-generic.c (expand_vector_condition): Check - for gassign before inspecting RHS. - -2020-06-17 Thomas Schwinge - - * gimplify.c (omp_notice_threadprivate_variable) - (omp_default_clause, omp_notice_variable): 'inform' after 'error' - diagnostic. Adjust all users. - -2020-06-17 Thomas Schwinge - - * hsa-gen.c (gen_hsa_insns_for_call): Move 'function_decl == - NULL_TREE' check earlier. - -2020-06-17 Forrest Timour - - * doc/extend.texi (attribute access): Fix a typo. - -2020-06-17 Bin Cheng - Kaipeng Zhou - - PR tree-optimization/95199 - * tree-vect-stmts.c: Eliminate common stmts for bump and offset in - strided load/store operations and remove redundant code. - -2020-06-17 Richard Sandiford - - * coretypes.h (first_type): New alias template. - * recog.h (insn_gen_fn::operator()): Use it instead of a decltype. - Remove spurious “...” and split the function type out into a typedef. - -2020-06-17 Andreas Krebbel - - * config/s390/s390.c (s390_fix_long_loop_prediction): Exit early - for PARALLELs. - -2020-06-17 Richard Biener - - * tree-vect-slp.c (vect_build_slp_tree_1): Set the passed - in *vectype parameter. - (vect_build_slp_tree_2): Set SLP_TREE_VECTYPE from what - vect_build_slp_tree_1 computed. - (vect_analyze_slp_instance): Set SLP_TREE_VECTYPE. - (vect_slp_analyze_node_operations_1): Use the SLP node vector type. - (vect_schedule_slp_instance): Likewise. - * tree-vect-stmts.c (vect_is_simple_use): Take the vector type - from SLP_TREE_VECTYPE. - -2020-06-17 Richard Biener - - PR tree-optimization/95717 - * tree-vect-loop-manip.c (slpeel_tree_duplicate_loop_to_edge_cfg): - Move BB SSA updating before exit/latch PHI current def copying. - -2020-06-17 Martin Liska - - * Makefile.in: Add new file. - * expr.c (expand_expr_real_2): Add gcc_unreachable as we should - not meet this condition. - (do_store_flag): Likewise. - * gimplify.c (gimplify_expr): Gimplify first argument of - VEC_COND_EXPR to be a SSA name. - * internal-fn.c (vec_cond_mask_direct): New. - (vec_cond_direct): Likewise. - (vec_condu_direct): Likewise. - (vec_condeq_direct): Likewise. - (expand_vect_cond_optab_fn): New. - (expand_vec_cond_optab_fn): Likewise. - (expand_vec_condu_optab_fn): Likewise. - (expand_vec_condeq_optab_fn): Likewise. - (expand_vect_cond_mask_optab_fn): Likewise. - (expand_vec_cond_mask_optab_fn): Likewise. - (direct_vec_cond_mask_optab_supported_p): Likewise. - (direct_vec_cond_optab_supported_p): Likewise. - (direct_vec_condu_optab_supported_p): Likewise. - (direct_vec_condeq_optab_supported_p): Likewise. - * internal-fn.def (VCOND): New OPTAB. - (VCONDU): Likewise. - (VCONDEQ): Likewise. - (VCOND_MASK): Likewise. - * optabs.c (get_rtx_code): Make it global. - (expand_vec_cond_mask_expr): Removed. - (expand_vec_cond_expr): Removed. - * optabs.h (expand_vec_cond_expr): Likewise. - (vector_compare_rtx): Make it global. - * passes.def: Add new pass_gimple_isel pass. - * tree-cfg.c (verify_gimple_assign_ternary): Add check - for VEC_COND_EXPR about first argument. - * tree-pass.h (make_pass_gimple_isel): New. - * tree-ssa-forwprop.c (pass_forwprop::execute): Prevent - propagation of the first argument of a VEC_COND_EXPR. - * tree-ssa-reassoc.c (ovce_extract_ops): Support SSA_NAME as - first argument of a VEC_COND_EXPR. - (optimize_vec_cond_expr): Likewise. - * tree-vect-generic.c (expand_vector_divmod): Make SSA_NAME - for a first argument of created VEC_COND_EXPR. - (expand_vector_condition): Fix coding style. - * tree-vect-stmts.c (vectorizable_condition): Gimplify - first argument. - * gimple-isel.cc: New file. - -2020-06-17 Andrew Stubbs - - * config/gcn/gcn-hsa.h (TEXT_SECTION_ASM_OP): Use ".text". - (BSS_SECTION_ASM_OP): Use ".bss". - (ASM_SPEC): Remove "-mattr=-code-object-v3". - (LINK_SPEC): Add "--export-dynamic". - * config/gcn/gcn-opts.h (processor_type): Replace PROCESSOR_VEGA with - PROCESSOR_VEGA10 and PROCESSOR_VEGA20. - * config/gcn/gcn-run.c (HSA_RUNTIME_LIB): Use ".so.1" variant. - (load_image): Remove obsolete relocation handling. - Add ".kd" suffix to the symbol names. - * config/gcn/gcn.c (MAX_NORMAL_SGPR_COUNT): Set to 62. - (gcn_option_override): Update gcn_isa test. - (gcn_kernel_arg_types): Update all the assembler directives. - Remove the obsolete options. - (gcn_conditional_register_usage): Update MAX_NORMAL_SGPR_COUNT usage. - (gcn_omp_device_kind_arch_isa): Handle PROCESSOR_VEGA10 and - PROCESSOR_VEGA20. - (output_file_start): Rework assembler file header. - (gcn_hsa_declare_function_name): Rework kernel metadata. - * config/gcn/gcn.h (GCN_KERNEL_ARG_TYPES): Set to 16. - * config/gcn/gcn.opt (PROCESSOR_VEGA): Remove enum. - (PROCESSOR_VEGA10): New enum value. - (PROCESSOR_VEGA20): New enum value. - -2020-06-17 Martin Liska - - * gcov-dump.c (print_version): Collapse lisence header to 2 lines - in --version. - * gcov-tool.c (print_version): Likewise. - * gcov.c (print_version): Likewise. - -2020-06-17 liuhongt - - PR target/95524 - * config/i386/i386-expand.c - (ix86_expand_vec_shift_qihi_constant): New function. - * config/i386/i386-protos.h - (ix86_expand_vec_shift_qihi_constant): Declare. - * config/i386/sse.md (3): Optimize shift - V*QImode by constant. - -2020-06-16 Aldy Hernandez - - PR tree-optimization/95649 - * tree-ssa-propagate.c (propagate_into_phi_args): Do not propagate unless - value is a constant. - -2020-06-16 Stefan Schulze Frielinghaus - - * config.in: Regenerate. - * config/s390/s390.c (print_operand): Emit vector alignment hints - for target z13, if AS accepts them. For other targets the logic - stays the same. - * config/s390/s390.h (TARGET_VECTOR_LOADSTORE_ALIGNMENT_HINTS): Define - macro. - * configure: Regenerate. - * configure.ac: Check HAVE_AS_VECTOR_LOADSTORE_ALIGNMENT_HINTS_ON_Z13. - -2020-06-16 Srinath Parvathaneni - - * config/arm/arm_mve.h (__arm_vaddq_m_n_s8): Correct the intrinsic - arguments. - (__arm_vaddq_m_n_s32): Likewise. - (__arm_vaddq_m_n_s16): Likewise. - (__arm_vaddq_m_n_u8): Likewise. - (__arm_vaddq_m_n_u32): Likewise. - (__arm_vaddq_m_n_u16): Likewise. - (__arm_vaddq_m): Modify polymorphic variant. - -2020-06-16 Srinath Parvathaneni - - * config/arm/mve.md (mve_uqrshll_sat_di): Correct the predicate - and constraint of all the operands. - (mve_sqrshrl_sat_di): Likewise. - (mve_uqrshl_si): Likewise. - (mve_sqrshr_si): Likewise. - (mve_uqshll_di): Likewise. - (mve_urshrl_di): Likewise. - (mve_uqshl_si): Likewise. - (mve_urshr_si): Likewise. - (mve_sqshl_si): Likewise. - (mve_srshr_si): Likewise. - (mve_srshrl_di): Likewise. - (mve_sqshll_di): Likewise. - * config/arm/predicates.md (arm_low_register_operand): Define. - -2020-06-16 Jakub Jelinek - - * tree.h (OMP_FOR_NON_RECTANGULAR): Define. - * gimplify.c (gimplify_omp_for): Diagnose schedule, ordered - or dist_schedule clause on non-rectangular loops. Handle - gimplification of non-rectangular lb/b expressions. When changing - iteration variable, adjust also non-rectangular lb/b expressions - referencing that. - * omp-general.h (struct omp_for_data_loop): Add m1, m2 and outer - members. - (struct omp_for_data): Add non_rect member. - * omp-general.c (omp_extract_for_data): Handle non-rectangular - loops. Fill in non_rect, m1, m2 and outer. - * omp-low.c (lower_omp_for): Handle non-rectangular lb/b expressions. - * omp-expand.c (expand_omp_for): Emit sorry_at for unsupported - non-rectangular loop cases and assert for cases that can't be - non-rectangular. - * tree-pretty-print.c (dump_mem_ref): Formatting fix. - (dump_omp_loop_non_rect_expr): New function. - (dump_generic_node): Handle non-rectangular OpenMP loops. - * tree-pretty-print.h (dump_omp_loop_non_rect_expr): Declare. - * gimple-pretty-print.c (dump_gimple_omp_for): Handle non-rectangular - OpenMP loops. - -2020-06-16 Richard Biener - - PR middle-end/95690 - * varasm.c (build_constant_desc): Remove set_mem_attributes call. - -2020-06-16 Kito Cheng - - PR target/95683 - * config/riscv/riscv.c (riscv_gpr_save_operation_p): Remove - assertion and turn it into a early exit check. - -2020-06-15 Eric Botcazou - - * gimplify.c (gimplify_init_constructor) : Declare - new ENSURE_SINGLE_ACCESS constant and move variables down. If it is - true and all elements are zero, then always clear. Return GS_ERROR - if a temporary would be created for it and NOTIFY_TEMP_CREATION set. - (gimplify_modify_expr_rhs) : If the target is volatile but - the type is aggregate non-addressable, ask gimplify_init_constructor - whether it can generate a single access to the target. - -2020-06-15 Eric Botcazou - - * tree-sra.c (propagate_subaccesses_from_rhs): When a non-scalar - access on the LHS is replaced with a scalar access, propagate the - TYPE_REVERSE_STORAGE_ORDER flag of the type of the original access. - -2020-06-15 Max Filippov - - * config/xtensa/xtensa.c (TARGET_HAVE_TLS): Remove - TARGET_THREADPTR reference. - (xtensa_tls_symbol_p, xtensa_tls_referenced_p): Use - targetm.have_tls instead of TARGET_HAVE_TLS. - (xtensa_option_override): Set targetm.have_tls to false in - configurations without THREADPTR. - -2020-06-15 Max Filippov - - * config/xtensa/elf.h (ASM_SPEC, LINK_SPEC): Pass ABI switch to - assembler/linker. - * config/xtensa/linux.h (ASM_SPEC, LINK_SPEC): Ditto. - * config/xtensa/uclinux.h (ASM_SPEC, LINK_SPEC): Ditto. - * config/xtensa/xtensa.c (xtensa_option_override): Initialize - xtensa_windowed_abi if needed. - * config/xtensa/xtensa.h (TARGET_WINDOWED_ABI_DEFAULT): New - macro. - (TARGET_WINDOWED_ABI): Redefine to xtensa_windowed_abi. - * config/xtensa/xtensa.opt (xtensa_windowed_abi): New target - option variable. - (mabi=call0, mabi=windowed): New options. - * doc/invoke.texi: Document new -mabi= Xtensa-specific options. - -2020-06-15 Max Filippov - - * config/xtensa/xtensa.c (xtensa_can_eliminate): New function. - (TARGET_CAN_ELIMINATE): New macro. - * config/xtensa/xtensa.h - (XTENSA_WINDOWED_HARD_FRAME_POINTER_REGNUM) - (XTENSA_CALL0_HARD_FRAME_POINTER_REGNUM): New macros. - (HARD_FRAME_POINTER_REGNUM): Define using - XTENSA_*_HARD_FRAME_POINTER_REGNUM. - (ELIMINABLE_REGS): Replace lines with HARD_FRAME_POINTER_REGNUM - by lines with XTENSA_WINDOWED_HARD_FRAME_POINTER_REGNUM and - XTENSA_CALL0_HARD_FRAME_POINTER_REGNUM. - -2020-06-15 Felix Yang - - * tree-vect-data-refs.c (vect_verify_datarefs_alignment): Rename - parameter to loop_vinfo and update uses. Use LOOP_VINFO_DATAREFS - when possible. - (vect_analyze_data_refs_alignment): Likewise, and use LOOP_VINFO_DDRS - when possible. - * tree-vect-loop.c (vect_dissolve_slp_only_groups): Use - LOOP_VINFO_DATAREFS when possible. - (update_epilogue_loop_vinfo): Likewise. - -2020-06-15 Kito Cheng - - * config/riscv/riscv.c (riscv_gen_gpr_save_insn): Change type to - unsigned for i. - (riscv_gpr_save_operation_p): Change type to unsigned for i and - len. - -2020-06-15 Hongtao Liu - - PR target/95488 - * config/i386/i386-expand.c (ix86_expand_vecmul_qihi): New - function. - * config/i386/i386-protos.h (ix86_expand_vecmul_qihi): Declare. - * config/i386/sse.md (mul3): Drop mask_name since - there's no real simd int8 multiplication instruction with - mask. Also optimize it under TARGET_AVX512BW. - (mulv8qi3): New expander. - -2020-06-12 Marco Elver - - * gimplify.c (gimplify_function_tree): Optimize and do not emit - IFN_TSAN_FUNC_EXIT in a finally block if we do not need it. - * params.opt: Add --param=tsan-instrument-func-entry-exit=. - * tsan.c (instrument_memory_accesses): Make - fentry_exit_instrument bool depend on new param. - -2020-06-12 Felix Yang - - PR tree-optimization/95570 - * tree-vect-data-refs.c (vect_relevant_for_alignment_p): New function. - (vect_verify_datarefs_alignment): Call it to filter out data references - in the loop whose alignment is irrelevant. - (vect_get_peeling_costs_all_drs): Likewise. - (vect_peeling_supportable): Likewise. - (vect_enhance_data_refs_alignment): Likewise. - -2020-06-12 Richard Biener - - PR tree-optimization/95633 - * tree-vect-stmts.c (vectorizable_condition): Properly - guard the vec_else_clause access with EXTRACT_LAST_REDUCTION. - -2020-06-12 Martin Liška - - * cgraphunit.c (process_symver_attribute): Wrap weakref keyword. - * dbgcnt.c (dbg_cnt_set_limit_by_index): Do not print extra new - line. - * lto-wrapper.c (merge_and_complain): Wrap option names. - -2020-06-12 Kewen Lin - - * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Rename - LOOP_VINFO_MASK_COMPARE_TYPE to LOOP_VINFO_RGROUP_COMPARE_TYPE. Rename - LOOP_VINFO_MASK_IV_TYPE to LOOP_VINFO_RGROUP_IV_TYPE. - (vect_set_loop_condition_masked): Renamed to ... - (vect_set_loop_condition_partial_vectors): ... this. Rename - LOOP_VINFO_MASK_COMPARE_TYPE to LOOP_VINFO_RGROUP_COMPARE_TYPE. Rename - vect_iv_limit_for_full_masking to vect_iv_limit_for_partial_vectors. - (vect_set_loop_condition_unmasked): Renamed to ... - (vect_set_loop_condition_normal): ... this. - (vect_set_loop_condition): Rename vect_set_loop_condition_unmasked to - vect_set_loop_condition_normal. Rename vect_set_loop_condition_masked - to vect_set_loop_condition_partial_vectors. - (vect_prepare_for_masked_peels): Rename LOOP_VINFO_MASK_COMPARE_TYPE - to LOOP_VINFO_RGROUP_COMPARE_TYPE. - * tree-vect-loop.c (vect_known_niters_smaller_than_vf): New, factored - out from ... - (vect_analyze_loop_costing): ... this. - (_loop_vec_info::_loop_vec_info): Rename mask_compare_type to - compare_type. - (vect_min_prec_for_max_niters): New, factored out from ... - (vect_verify_full_masking): ... this. Rename - vect_iv_limit_for_full_masking to vect_iv_limit_for_partial_vectors. - Rename LOOP_VINFO_MASK_COMPARE_TYPE to LOOP_VINFO_RGROUP_COMPARE_TYPE. - Rename LOOP_VINFO_MASK_IV_TYPE to LOOP_VINFO_RGROUP_IV_TYPE. - (vectorizable_reduction): Update some dumpings with partial - vectors instead of fully-masked. - (vectorizable_live_operation): Likewise. - (vect_iv_limit_for_full_masking): Renamed to ... - (vect_iv_limit_for_partial_vectors): ... this. - * tree-vect-stmts.c (check_load_store_masking): Renamed to ... - (check_load_store_for_partial_vectors): ... this. Update some - dumpings with partial vectors instead of fully-masked. - (vectorizable_store): Rename check_load_store_masking to - check_load_store_for_partial_vectors. - (vectorizable_load): Likewise. - * tree-vectorizer.h (LOOP_VINFO_MASK_COMPARE_TYPE): Renamed to ... - (LOOP_VINFO_RGROUP_COMPARE_TYPE): ... this. - (LOOP_VINFO_MASK_IV_TYPE): Renamed to ... - (LOOP_VINFO_RGROUP_IV_TYPE): ... this. - (vect_iv_limit_for_full_masking): Renamed to ... - (vect_iv_limit_for_partial_vectors): this. - (_loop_vec_info): Rename mask_compare_type to rgroup_compare_type. - Rename iv_type to rgroup_iv_type. - -2020-06-12 Richard Sandiford - - * recog.h (insn_gen_fn::f0, insn_gen_fn::f1, insn_gen_fn::f2) - (insn_gen_fn::f3, insn_gen_fn::f4, insn_gen_fn::f5, insn_gen_fn::f6) - (insn_gen_fn::f7, insn_gen_fn::f8, insn_gen_fn::f9, insn_gen_fn::f10) - (insn_gen_fn::f11, insn_gen_fn::f12, insn_gen_fn::f13) - (insn_gen_fn::f14, insn_gen_fn::f15, insn_gen_fn::f16): Delete. - (insn_gen_fn::operator()): Replace overloaded definitions with - a parameter-pack version. - -2020-06-12 H.J. Lu - - PR target/93492 - * config/i386/i386-features.c (rest_of_insert_endbranch): - Renamed to ... - (rest_of_insert_endbr_and_patchable_area): Change return type - to void. Add need_endbr and patchable_area_size arguments. - Don't call timevar_push nor timevar_pop. Replace - endbr_queued_at_entrance with insn_queued_at_entrance. Insert - UNSPECV_PATCHABLE_AREA for patchable area. - (pass_data_insert_endbranch): Renamed to ... - (pass_data_insert_endbr_and_patchable_area): This. Change - pass name to endbr_and_patchable_area. - (pass_insert_endbranch): Renamed to ... - (pass_insert_endbr_and_patchable_area): This. Add need_endbr - and patchable_area_size;. - (pass_insert_endbr_and_patchable_area::gate): Set and check - need_endbr and patchable_area_size. - (pass_insert_endbr_and_patchable_area::execute): Call - timevar_push and timevar_pop. Pass need_endbr and - patchable_area_size to rest_of_insert_endbr_and_patchable_area. - (make_pass_insert_endbranch): Renamed to ... - (make_pass_insert_endbr_and_patchable_area): This. - * config/i386/i386-passes.def: Replace pass_insert_endbranch - with pass_insert_endbr_and_patchable_area. - * config/i386/i386-protos.h (ix86_output_patchable_area): New. - (make_pass_insert_endbranch): Renamed to ... - (make_pass_insert_endbr_and_patchable_area): This. - * config/i386/i386.c (ix86_asm_output_function_label): Set - function_label_emitted to true. - (ix86_print_patchable_function_entry): New function. - (ix86_output_patchable_area): Likewise. - (x86_function_profiler): Replace endbr_queued_at_entrance with - insn_queued_at_entrance. Generate ENDBR only for TYPE_ENDBR. - Call ix86_output_patchable_area to generate patchable area if - needed. - (TARGET_ASM_PRINT_PATCHABLE_FUNCTION_ENTRY): New. - * config/i386/i386.h (queued_insn_type): New. - (machine_function): Add function_label_emitted. Replace - endbr_queued_at_entrance with insn_queued_at_entrance. - * config/i386/i386.md (UNSPECV_PATCHABLE_AREA): New. - (patchable_area): New. - -2020-06-11 Martin Liska - - * config/rs6000/rs6000.c (rs6000_density_test): Fix GNU coding - style. - -2020-06-11 Martin Liska - - PR target/95627 - * config/rs6000/rs6000.c (rs6000_density_test): Skip debug - statements. - -2020-06-11 Martin Liska - Jakub Jelinek - - PR sanitizer/95634 - * asan.c (asan_emit_stack_protection): Fix emission for ilp32 - by using Pmode instead of ptr_mode. - -2020-06-11 Kewen Lin - - * tree-vect-loop-manip.c (vect_set_loop_mask): Renamed to ... - (vect_set_loop_control): ... this. - (vect_maybe_permute_loop_masks): Rename rgroup_masks related things. - (vect_set_loop_masks_directly): Renamed to ... - (vect_set_loop_controls_directly): ... this. Also rename some - variables with ctrl instead of mask. Rename vect_set_loop_mask to - vect_set_loop_control. - (vect_set_loop_condition_masked): Rename rgroup_masks related things. - Also rename some variables with ctrl instead of mask. - * tree-vect-loop.c (release_vec_loop_masks): Renamed to ... - (release_vec_loop_controls): ... this. Rename rgroup_masks related - things. - (_loop_vec_info::~_loop_vec_info): Rename release_vec_loop_masks to - release_vec_loop_controls. - (can_produce_all_loop_masks_p): Rename rgroup_masks related things. - (vect_get_max_nscalars_per_iter): Likewise. - (vect_estimate_min_profitable_iters): Likewise. - (vect_record_loop_mask): Likewise. - (vect_get_loop_mask): Likewise. - * tree-vectorizer.h (struct rgroup_masks): Renamed to ... - (struct rgroup_controls): ... this. Also rename mask_type - to type and rename masks to controls. - -2020-06-11 Kewen Lin - - * tree-vect-loop-manip.c (vect_set_loop_condition): Rename - LOOP_VINFO_FULLY_MASKED_P to LOOP_VINFO_USING_PARTIAL_VECTORS_P. - (vect_gen_vector_loop_niters): Likewise. - (vect_do_peeling): Likewise. - * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Rename - fully_masked_p to using_partial_vectors_p. - (vect_analyze_loop_costing): Rename LOOP_VINFO_FULLY_MASKED_P to - LOOP_VINFO_USING_PARTIAL_VECTORS_P. - (determine_peel_for_niter): Likewise. - (vect_estimate_min_profitable_iters): Likewise. - (vect_transform_loop): Likewise. - * tree-vectorizer.h (LOOP_VINFO_FULLY_MASKED_P): Updated. - (LOOP_VINFO_USING_PARTIAL_VECTORS_P): New macro. - -2020-06-11 Kewen Lin - - * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Rename - can_fully_mask_p to can_use_partial_vectors_p. - (vect_analyze_loop_2): Rename LOOP_VINFO_CAN_FULLY_MASK_P to - LOOP_VINFO_CAN_USE_PARTIAL_VECTORS_P. Rename saved_can_fully_mask_p - to saved_can_use_partial_vectors_p. - (vectorizable_reduction): Rename LOOP_VINFO_CAN_FULLY_MASK_P to - LOOP_VINFO_CAN_USE_PARTIAL_VECTORS_P. - (vectorizable_live_operation): Likewise. - * tree-vect-stmts.c (permute_vec_elements): Likewise. - (check_load_store_masking): Likewise. - (vectorizable_operation): Likewise. - (vectorizable_store): Likewise. - (vectorizable_load): Likewise. - (vectorizable_condition): Likewise. - * tree-vectorizer.h (LOOP_VINFO_CAN_FULLY_MASK_P): Renamed to ... - (LOOP_VINFO_CAN_USE_PARTIAL_VECTORS_P): ... this. - (_loop_vec_info): Rename can_fully_mask_p to can_use_partial_vectors_p. - -2020-06-11 Martin Liska - - * optc-save-gen.awk: Quote error string. - -2020-06-11 Alexandre Oliva - - * print-rtl.c (print_mem_expr): Enable TDF_SLIM in dump_flags. - -2020-06-11 Kito Cheng - - * config/riscv/riscv-protos.h (riscv_output_gpr_save): Remove. - * config/riscv/riscv-sr.c (riscv_sr_match_prologue): Update - value. - * config/riscv/riscv.c (riscv_output_gpr_save): Remove. - * config/riscv/riscv.md (gpr_save): Update output asm pattern. - -2020-06-11 Kito Cheng - - * config/riscv/predicates.md (gpr_save_operation): New. - * config/riscv/riscv-protos.h (riscv_gen_gpr_save_insn): New. - (riscv_gpr_save_operation_p): Ditto. - * config/riscv/riscv-sr.c (riscv_remove_unneeded_save_restore_calls): - Ignore USEs for gpr_save patter. - * config/riscv/riscv.c (gpr_save_reg_order): New. - (riscv_expand_prologue): Use riscv_gen_gpr_save_insn to gen gpr_save. - (riscv_gen_gpr_save_insn): New. - (riscv_gpr_save_operation_p): Ditto. - * config/riscv/riscv.md (S3_REGNUM): New. - (S4_REGNUM): Ditto. - (S5_REGNUM): Ditto. - (S6_REGNUM): Ditto. - (S7_REGNUM): Ditto. - (S8_REGNUM): Ditto. - (S9_REGNUM): Ditto. - (S10_REGNUM): Ditto. - (S11_REGNUM): Ditto. - (gpr_save): Model USEs correctly. - -2020-06-10 Martin Sebor - - PR middle-end/95353 - PR middle-end/92939 - * builtins.c (inform_access): New function. - (check_access): Call it. Add argument. - (addr_decl_size): Remove. - (get_range): New function. - (compute_objsize): New overload. Only use compute_builtin_object_size - with raw memory function. - (check_memop_access): Pass new argument to compute_objsize and - check_access. - (expand_builtin_memchr, expand_builtin_strcat): Same. - (expand_builtin_strcpy, expand_builtin_stpcpy_1): Same. - (expand_builtin_stpncpy, check_strncat_sizes): Same. - (expand_builtin_strncat, expand_builtin_strncpy): Same. - (expand_builtin_memcmp): Same. - * builtins.h (check_nul_terminated_array): Declare extern. - (check_access): Add argument. - (struct access_ref, struct access_data): New structs. - * gimple-ssa-warn-restrict.c (clamp_offset): New helper. - (builtin_access::overlap): Call it. - * tree-object-size.c (decl_init_size): Declare extern. - (addr_object_size): Correct offset computation. - * tree-object-size.h (decl_init_size): Declare. - * tree-ssa-strlen.c (handle_integral_assign): Remove a call - to maybe_warn_overflow when assigning to an SSA_NAME. - -2020-06-10 Richard Biener - - * tree-vect-loop.c (vect_determine_vectorization_factor): - Skip debug stmts. - (_loop_vec_info::_loop_vec_info): Likewise. - (vect_update_vf_for_slp): Likewise. - (vect_analyze_loop_operations): Likewise. - (update_epilogue_loop_vinfo): Likewise. - * tree-vect-patterns.c (vect_determine_precisions): Likewise. - (vect_pattern_recog): Likewise. - * tree-vect-slp.c (vect_detect_hybrid_slp): Likewise. - (_bb_vec_info::_bb_vec_info): Likewise. - * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): - Likewise. - -2020-06-10 Richard Biener - - PR tree-optimization/95576 - * tree-vect-slp.c (vect_slp_bb): Skip leading debug stmts. - -2020-06-10 Haijian Zhang - - PR target/95523 - * config/aarch64/aarch64-sve-builtins.h - (sve_switcher::m_old_maximum_field_alignment): New member. - * config/aarch64/aarch64-sve-builtins.cc - (sve_switcher::sve_switcher): Save maximum_field_alignment in - m_old_maximum_field_alignment and clear maximum_field_alignment. - (sve_switcher::~sve_switcher): Restore maximum_field_alignment. - -2020-06-10 Richard Biener - - * tree-vectorizer.h (_slp_tree::vec_stmts): Make it a vector - of gimple * stmts. - (_stmt_vec_info::vec_stmts): Likewise. - (vec_info::stmt_vec_info_ro): New flag. - (vect_finish_replace_stmt): Adjust declaration. - (vect_finish_stmt_generation): Likewise. - (vectorizable_induction): Likewise. - (vect_transform_reduction): Likewise. - (vectorizable_lc_phi): Likewise. - * tree-vect-data-refs.c (vect_create_data_ref_ptr): Do not - allocate stmt infos for increments. - (vect_record_grouped_load_vectors): Adjust. - * tree-vect-loop.c (vect_create_epilog_for_reduction): Likewise. - (vectorize_fold_left_reduction): Likewise. - (vect_transform_reduction): Likewise. - (vect_transform_cycle_phi): Likewise. - (vectorizable_lc_phi): Likewise. - (vectorizable_induction): Likewise. - (vectorizable_live_operation): Likewise. - (vect_transform_loop): Likewise. - * tree-vect-patterns.c (vect_pattern_recog): Set stmt_vec_info_ro. - * tree-vect-slp.c (vect_get_slp_vect_def): Adjust. - (vect_get_slp_defs): Likewise. - (vect_transform_slp_perm_load): Likewise. - (vect_schedule_slp_instance): Likewise. - (vectorize_slp_instance_root_stmt): Likewise. - * tree-vect-stmts.c (vect_get_vec_defs_for_operand): Likewise. - (vect_finish_stmt_generation_1): Do not allocate a stmt info. - (vect_finish_replace_stmt): Do not return anything. - (vect_finish_stmt_generation): Likewise. - (vect_build_gather_load_calls): Adjust. - (vectorizable_bswap): Likewise. - (vectorizable_call): Likewise. - (vectorizable_simd_clone_call): Likewise. - (vect_create_vectorized_demotion_stmts): Likewise. - (vectorizable_conversion): Likewise. - (vectorizable_assignment): Likewise. - (vectorizable_shift): Likewise. - (vectorizable_operation): Likewise. - (vectorizable_scan_store): Likewise. - (vectorizable_store): Likewise. - (vectorizable_load): Likewise. - (vectorizable_condition): Likewise. - (vectorizable_comparison): Likewise. - (vect_transform_stmt): Likewise. - * tree-vectorizer.c (vec_info::vec_info): Initialize - stmt_vec_info_ro. - (vec_info::replace_stmt): Copy over stmt UID rather than - unsetting/setting a stmt info allocating a new UID. - (vec_info::set_vinfo_for_stmt): Assert !stmt_vec_info_ro. - -2020-06-10 Aldy Hernandez - - * gimple-loop-versioning.cc (loop_versioning::name_prop::get_value): - Add stmt parameter. - * gimple-ssa-evrp.c (class evrp_folder): New. - (class evrp_dom_walker): Remove. - (execute_early_vrp): Use evrp_folder instead of evrp_dom_walker. - * tree-ssa-ccp.c (ccp_folder::get_value): Add stmt parameter. - * tree-ssa-copy.c (copy_folder::get_value): Same. - * tree-ssa-propagate.c (substitute_and_fold_engine::replace_uses_in): - Pass stmt to get_value. - (substitute_and_fold_engine::replace_phi_args_in): Same. - (substitute_and_fold_dom_walker::after_dom_children): Call - post_fold_bb. - (substitute_and_fold_dom_walker::foreach_new_stmt_in_bb): New. - (substitute_and_fold_dom_walker::propagate_into_phi_args): New. - (substitute_and_fold_dom_walker::before_dom_children): Adjust to - call virtual functions for folding, pre_folding, and post folding. - Call get_value with PHI. Tweak dump. - * tree-ssa-propagate.h (class substitute_and_fold_engine): - New argument to get_value. - New virtual function pre_fold_bb. - New virtual function post_fold_bb. - New virtual function pre_fold_stmt. - New virtual function post_new_stmt. - New function propagate_into_phi_args. - * tree-vrp.c (vrp_folder::get_value): Add stmt argument. - * vr-values.c (vr_values::extract_range_from_stmt): Adjust dump - output. - (vr_values::fold_cond): New. - (vr_values::simplify_cond_using_ranges_1): Call fold_cond. - * vr-values.h (class vr_values): Add - simplify_cond_using_ranges_when_edge_is_known. - -2020-06-10 Martin Liska - - PR sanitizer/94910 - * asan.c (asan_emit_stack_protection): Emit - also **SavedFlagPtr(FakeStack, class_id) = 0 in order to release - a stack frame. - -2020-06-10 Tamar Christina - - * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Adjust costs for mul. - -2020-06-10 Richard Biener - - * tree-vect-data-refs.c (vect_vfa_access_size): Adjust. - (vect_record_grouped_load_vectors): Likewise. - * tree-vect-loop.c (vect_create_epilog_for_reduction): Likewise. - (vectorize_fold_left_reduction): Likewise. - (vect_transform_reduction): Likewise. - (vect_transform_cycle_phi): Likewise. - (vectorizable_lc_phi): Likewise. - (vectorizable_induction): Likewise. - (vectorizable_live_operation): Likewise. - (vect_transform_loop): Likewise. - * tree-vect-slp.c (vect_get_slp_defs): New function, split out - from overload. - * tree-vect-stmts.c (vect_get_vec_def_for_operand_1): Remove. - (vect_get_vec_def_for_operand): Likewise. - (vect_get_vec_def_for_stmt_copy): Likewise. - (vect_get_vec_defs_for_stmt_copy): Likewise. - (vect_get_vec_defs_for_operand): New function. - (vect_get_vec_defs): Likewise. - (vect_build_gather_load_calls): Adjust. - (vect_get_gather_scatter_ops): Likewise. - (vectorizable_bswap): Likewise. - (vectorizable_call): Likewise. - (vectorizable_simd_clone_call): Likewise. - (vect_get_loop_based_defs): Remove. - (vect_create_vectorized_demotion_stmts): Adjust. - (vectorizable_conversion): Likewise. - (vectorizable_assignment): Likewise. - (vectorizable_shift): Likewise. - (vectorizable_operation): Likewise. - (vectorizable_scan_store): Likewise. - (vectorizable_store): Likewise. - (vectorizable_load): Likewise. - (vectorizable_condition): Likewise. - (vectorizable_comparison): Likewise. - (vect_transform_stmt): Adjust and remove no longer applicable - sanity checks. - * tree-vectorizer.c (vec_info::new_stmt_vec_info): Initialize - STMT_VINFO_VEC_STMTS. - (vec_info::free_stmt_vec_info): Relase it. - * tree-vectorizer.h (_stmt_vec_info::vectorized_stmt): Remove. - (_stmt_vec_info::vec_stmts): Add. - (STMT_VINFO_VEC_STMT): Remove. - (STMT_VINFO_VEC_STMTS): New. - (vect_get_vec_def_for_operand_1): Remove. - (vect_get_vec_def_for_operand): Likewise. - (vect_get_vec_defs_for_stmt_copy): Likewise. - (vect_get_vec_def_for_stmt_copy): Likewise. - (vect_get_vec_defs): New overloads. - (vect_get_vec_defs_for_operand): New. - (vect_get_slp_defs): Declare. - -2020-06-10 Qian Chao - - PR tree-optimization/95569 - * trans-mem.c (expand_assign_tm): Ensure that rtmp is marked TREE_ADDRESSABLE. - -2020-06-10 Martin Liska - - PR tree-optimization/92860 - * optc-save-gen.awk: Generate new function cl_optimization_compare. - * opth-gen.awk: Generate declaration of the function. - -2020-06-09 Michael Meissner - - * config/rs6000/ppc-auxv.h (PPC_PLATFORM_FUTURE): Allocate - 'future' PowerPC platform. - (PPC_FEATURE2_ARCH_3_1): New HWCAP2 bit for ISA 3.1. - (PPC_FEATURE2_MMA): New HWCAP2 bit for MMA. - * config/rs6000/rs6000-call.c (cpu_supports_info): Add ISA 3.1 and - MMA HWCAP2 bits. - * config/rs6000/rs6000.c (CLONE_ISA_3_1): New clone support. - (rs6000_clone_map): Add 'future' system target_clones support. - -2020-06-09 Michael Kuhn - - * Makefile.in (ZSTD_INC): Define. - (ZSTD_LIB): Include ZSTD_LDFLAGS. - (CFLAGS-lto-compress.o): Add ZSTD_INC. - * configure.ac (ZSTD_CPPFLAGS, ZSTD_LDFLAGS): New variables for - AC_SUBST. - * configure: Rebuilt. - -2020-06-09 Jason Merrill - - PR c++/95552 - * tree.c (walk_tree_1): Call func on the TYPE_DECL of a DECL_EXPR. - -2020-06-09 Marco Elver - - * params.opt: Define --param=tsan-distinguish-volatile=[0,1]. - * sanitizer.def (BUILT_IN_TSAN_VOLATILE_READ1): Define new - builtin for volatile instrumentation of reads/writes. - (BUILT_IN_TSAN_VOLATILE_READ2): Likewise. - (BUILT_IN_TSAN_VOLATILE_READ4): Likewise. - (BUILT_IN_TSAN_VOLATILE_READ8): Likewise. - (BUILT_IN_TSAN_VOLATILE_READ16): Likewise. - (BUILT_IN_TSAN_VOLATILE_WRITE1): Likewise. - (BUILT_IN_TSAN_VOLATILE_WRITE2): Likewise. - (BUILT_IN_TSAN_VOLATILE_WRITE4): Likewise. - (BUILT_IN_TSAN_VOLATILE_WRITE8): Likewise. - (BUILT_IN_TSAN_VOLATILE_WRITE16): Likewise. - * tsan.c (get_memory_access_decl): Argument if access is - volatile. If param tsan-distinguish-volatile is non-zero, and - access if volatile, return volatile instrumentation decl. - (instrument_expr): Check if access is volatile. - -2020-06-09 Richard Biener - - * tree-vect-loop.c (vectorizable_induction): Remove dead code. - -2020-06-09 Tobias Burnus - - * omp-offload.c (add_decls_addresses_to_decl_constructor, - omp_finish_file): With in_lto_p, stream out all offload-table - items even if the symtab_node does not exist. - -2020-06-09 Richard Biener - - * tree-vect-stmts.c (vect_transform_stmt): Remove dead code. - -2020-06-09 Martin Liska - - * gcov-dump.c (print_usage): Fix spacing for --raw option - in --help. - -2020-06-09 Martin Liska - - * cif-code.def (ATTRIBUTE_MISMATCH): Rename to... - (SANITIZE_ATTRIBUTE_MISMATCH): ...this. - * ipa-inline.c (sanitize_attrs_match_for_inline_p): - Handle all sanitizer options. - (can_inline_edge_p): Use renamed CIF_* enum value. - -2020-06-09 Joe Ramsay - - * config/aarch64/aarch64-sve.md (2): Add support for - unpacked vectors. - (@aarch64_pred_): Add support for unpacked vectors. - (@aarch64_bic): Enable unpacked BIC. - (*bic3): Enable unpacked BIC. - -2020-06-09 Martin Liska - - PR gcov-profile/95365 - * doc/gcov.texi: Compile and link one example in 2 steps. - -2020-06-09 Jakub Jelinek - - PR tree-optimization/95527 - * match.pd (__builtin_ffs (X) cmp CST): New optimizations. - -2020-06-09 Michael Meissner - - * config/rs6000/ppc-auxv.h (PPC_PLATFORM_FUTURE): Allocate - 'future' PowerPC platform. - (PPC_FEATURE2_ARCH_3_1): New HWCAP2 bit for ISA 3.1. - (PPC_FEATURE2_MMA): New HWCAP2 bit for MMA. - * config/rs6000/rs6000-call.c (cpu_supports_info): Add ISA 3.1 and - MMA HWCAP2 bits. - * config/rs6000/rs6000.c (CLONE_ISA_3_1): New clone support. - (rs6000_clone_map): Add 'future' system target_clones support. - -2020-06-08 Tobias Burnus - - PR lto/94848 - PR middle-end/95551 - * omp-offload.c (add_decls_addresses_to_decl_constructor, - omp_finish_file): Skip removed items. - * lto-cgraph.c (output_offload_tables): Likewise; set force_output - to this node for variables and functions. - -2020-06-08 Jason Merrill - - * aclocal.m4: Remove ax_cxx_compile_stdcxx.m4. - * configure.ac: Remove AX_CXX_COMPILE_STDCXX. - * configure: Regenerate. - -2020-06-08 Martin Sebor - - * postreload.c (reload_cse_simplify_operands): Clear first array element - before using it. Assert a precondition. - -2020-06-08 Jakub Jelinek - - PR target/95528 - * tree-ssa-forwprop.c (simplify_vector_constructor): Don't use - VEC_UNPACK*_EXPR or VEC_PACK_TRUNC_EXPR with scalar modes unless the - type is vector boolean. - -2020-06-08 Tamar Christina - - * config/aarch64/aarch64.c (aarch64_layout_frame): Expand comments. - -2020-06-08 Christophe Lyon - - * config/arm/predicates.md (vfp_register_operand): Use VFP_HI_REGS - instead of VFP_REGS. - -2020-06-08 Martin Liska - - * config/rs6000/vector.md: Replace FAIL with gcc_unreachable - in all vcond* patterns. - -2020-06-08 Christophe Lyon - - * common/config/arm/arm-common.c (INCLUDE_ALGORITHM): - Define. No longer include . - -2020-06-07 Roger Sayle - - * config/i386/i386.md (paritydi2, paritysi2): Expand reduction - via shift and xor to an USPEC PARITY matching a parityhi2_cmp. - (paritydi2_cmp, paritysi2_cmp): Delete these define_insn_and_split. - (parityhi2, parityqi2): New expanders. - (parityhi2_cmp): Implement set parity flag with xorb insn. - (parityqi2_cmp): Implement set parity flag with testb insn. - New peephole2s to use these insns (UNSPEC PARITY) when appropriate. - -2020-06-07 Jiufu Guo - - PR target/95018 - * config/rs6000/rs6000.c (rs6000_option_override_internal): - Override flag_cunroll_grow_size. - -2020-06-07 Jiufu Guo - - * common.opt (flag_cunroll_grow_size): New flag. - * toplev.c (process_options): Set flag_cunroll_grow_size. - * tree-ssa-loop-ivcanon.c (pass_complete_unroll::execute): - Use flag_cunroll_grow_size. - -2020-06-06 Jan Hubicka - - PR lto/95548 - * ipa-devirt.c (struct odr_enum_val): Turn values to wide_int. - (ipa_odr_summary_write): Update streaming. - (ipa_odr_read_section): Update streaming. - -2020-06-06 Alexandre Oliva - - PR driver/95456 - * gcc.c (do_spec_1): Don't call memcpy (_, NULL, 0). - -2020-06-05 Thomas Schwinge - Julian Brown - - * gimplify.c (gimplify_adjust_omp_clauses): Remove - 'GOMP_MAP_STRUCT' mapping from OpenACC 'exit data' directives. - -2020-06-05 Richard Biener - - PR tree-optimization/95539 - * tree-vect-data-refs.c - (vect_slp_analyze_and_verify_instance_alignment): Use - SLP_TREE_REPRESENTATIVE for the data-ref check. - * tree-vect-stmts.c (vectorizable_load): Reset stmt_info - back to the first scalar stmt rather than the - SLP_TREE_REPRESENTATIVE to match previous behavior. - -2020-06-05 Felix Yang - - PR target/95254 - * expr.c (emit_move_insn): Check src and dest of the copy to see - if one or both of them are subregs, try to remove the subregs when - innermode and outermode are equal in size and the mode change involves - an implicit round trip through memory. - -2020-06-05 Jakub Jelinek - - PR target/95535 - * config/i386/i386.md (*ctzsi2_zext, *clzsi2_lzcnt_zext): New - define_insn_and_split patterns. - (*ctzsi2_zext_falsedep, *clzsi2_lzcnt_zext_falsedep): New - define_insn patterns. - -2020-06-05 Jonathan Wakely - - * alloc-pool.h (object_allocator::remove_raw): New. - * tree-ssa-math-opts.c (struct occurrence): Use NSMDI. - (occurrence::occurrence): Add. - (occurrence::~occurrence): Likewise. - (occurrence::new): Likewise. - (occurrence::delete): Likewise. - (occ_new): Remove. - (insert_bb): Use new occurence (...) instead of occ_new. - (register_division_in): Likewise. - (free_bb): Use delete occ instead of manually removing - from the pool. - -2020-06-05 Richard Biener - - PR middle-end/95493 - * cfgexpand.c (expand_debug_expr): Avoid calling - set_mem_attributes_minus_bitpos when we were expanding - an SSA name. - * emit-rtl.c (set_mem_attributes_minus_bitpos): Remove - ARRAY_REF special-casing, add CONSTRUCTOR to the set of - special-cases we do not want MEM_EXPRs for. Assert - we end up with reasonable MEM_EXPRs. - -2020-06-05 Lili Cui - - PR target/95525 - * config/i386/i386.h (PTA_WAITPKG): Change bitmask value. - -2020-06-04 Martin Sebor - - PR middle-end/10138 - PR middle-end/95136 - * attribs.c (init_attr_rdwr_indices): Move function here. - * attribs.h (rdwr_access_hash, rdwr_map): Define. - (attr_access): Add 'none'. - (init_attr_rdwr_indices): Declared function. - * builtins.c (warn_for_access)): New function. - (check_access): Call it. - * builtins.h (checK-access): Add an optional argument. - * calls.c (rdwr_access_hash, rdwr_map): Move to attribs.h. - (init_attr_rdwr_indices): Declare extern. - (append_attrname): Handle attr_access::none. - (maybe_warn_rdwr_sizes): Same. - (initialize_argument_information): Update comments. - * doc/extend.texi (attribute access): Document 'none'. - * tree-ssa-uninit.c (struct wlimits): New. - (maybe_warn_operand): New function. - (maybe_warn_pass_by_reference): Same. - (warn_uninitialized_vars): Refactor code into maybe_warn_operand. - Also call for function calls. - (pass_late_warn_uninitialized::execute): Adjust comments. - (execute_early_warn_uninitialized): Same. - -2020-06-04 Vladimir Makarov - - PR middle-end/95464 - * lra.c (lra_emit_move): Add processing STRICT_LOW_PART. - * lra-constraints.c (match_reload): Use STRICT_LOW_PART in output - reload if the original insn has it too. - -2020-06-04 Richard Biener - - * config/aarch64/aarch64.c (aarch64_gimplify_va_arg_expr): - Ensure that tmp_ha is marked TREE_ADDRESSABLE. - -2020-06-04 Martin Jambor - - PR ipa/95113 - * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Move non-call - exceptions check to... - * tree-eh.c (stmt_unremovable_because_of_non_call_eh_p): ...this - new function. - * tree-eh.h (stmt_unremovable_because_of_non_call_eh_p): Declare it. - * ipa-sra.c (isra_track_scalar_value_uses): Use it. New parameter - fun. - -2020-06-04 Srinath Parvathaneni - - PR target/94735 - * config/arm/predicates.md (mve_scatter_memory): Define to - match (mem (reg)) for scatter store memory. - * config/arm/mve.md (mve_vstrbq_scatter_offset_): Modify - define_insn to define_expand. - (mve_vstrbq_scatter_offset_p_): Likewise. - (mve_vstrhq_scatter_offset_): Likewise. - (mve_vstrhq_scatter_shifted_offset_p_): Likewise. - (mve_vstrhq_scatter_shifted_offset_): Likewise. - (mve_vstrdq_scatter_offset_p_v2di): Likewise. - (mve_vstrdq_scatter_offset_v2di): Likewise. - (mve_vstrdq_scatter_shifted_offset_p_v2di): Likewise. - (mve_vstrdq_scatter_shifted_offset_v2di): Likewise. - (mve_vstrhq_scatter_offset_fv8hf): Likewise. - (mve_vstrhq_scatter_offset_p_fv8hf): Likewise. - (mve_vstrhq_scatter_shifted_offset_fv8hf): Likewise. - (mve_vstrhq_scatter_shifted_offset_p_fv8hf): Likewise. - (mve_vstrwq_scatter_offset_fv4sf): Likewise. - (mve_vstrwq_scatter_offset_p_fv4sf): Likewise. - (mve_vstrwq_scatter_offset_p_v4si): Likewise. - (mve_vstrwq_scatter_offset_v4si): Likewise. - (mve_vstrwq_scatter_shifted_offset_fv4sf): Likewise. - (mve_vstrwq_scatter_shifted_offset_p_fv4sf): Likewise. - (mve_vstrwq_scatter_shifted_offset_p_v4si): Likewise. - (mve_vstrwq_scatter_shifted_offset_v4si): Likewise. - (mve_vstrbq_scatter_offset__insn): Define insn for scatter - stores. - (mve_vstrbq_scatter_offset_p__insn): Likewise. - (mve_vstrhq_scatter_offset__insn): Likewise. - (mve_vstrhq_scatter_shifted_offset_p__insn): Likewise. - (mve_vstrhq_scatter_shifted_offset__insn): Likewise. - (mve_vstrdq_scatter_offset_p_v2di_insn): Likewise. - (mve_vstrdq_scatter_offset_v2di_insn): Likewise. - (mve_vstrdq_scatter_shifted_offset_p_v2di_insn): Likewise. - (mve_vstrdq_scatter_shifted_offset_v2di_insn): Likewise. - (mve_vstrhq_scatter_offset_fv8hf_insn): Likewise. - (mve_vstrhq_scatter_offset_p_fv8hf_insn): Likewise. - (mve_vstrhq_scatter_shifted_offset_fv8hf_insn): Likewise. - (mve_vstrhq_scatter_shifted_offset_p_fv8hf_insn): Likewise. - (mve_vstrwq_scatter_offset_fv4sf_insn): Likewise. - (mve_vstrwq_scatter_offset_p_fv4sf_insn): Likewise. - (mve_vstrwq_scatter_offset_p_v4si_insn): Likewise. - (mve_vstrwq_scatter_offset_v4si_insn): Likewise. - (mve_vstrwq_scatter_shifted_offset_fv4sf_insn): Likewise. - (mve_vstrwq_scatter_shifted_offset_p_fv4sf_insn): Likewise. - (mve_vstrwq_scatter_shifted_offset_p_v4si_insn): Likewise. - (mve_vstrwq_scatter_shifted_offset_v4si_insn): Likewise. - -2020-06-04 Srinath Parvathaneni - - * config/arm/arm_mve.h (__arm_vbicq_n_u16): Correct the intrinsic - arguments. - (__arm_vbicq_n_s16): Likewise. - (__arm_vbicq_n_u32): Likewise. - (__arm_vbicq_n_s32): Likewise. - (__arm_vbicq): Modify polymorphic variant. - -2020-06-04 Richard Biener - - * tree-vectorizer.h (vect_get_slp_vect_def): Declare. - * tree-vect-loop.c (vect_create_epilog_for_reduction): Use it. - * tree-vect-stmts.c (vect_transform_stmt): Likewise. - (vect_is_simple_use): Use SLP_TREE_REPRESENTATIVE. - * tree-vect-slp.c (vect_get_slp_vect_defs): Fold into single - use ... - (vect_get_slp_defs): ... here. - (vect_get_slp_vect_def): New function. - -2020-06-04 Richard Biener - - * tree-vectorizer.h (_slp_tree::lanes): New. - (SLP_TREE_LANES): Likewise. - * tree-vect-loop.c (vect_create_epilog_for_reduction): Use it. - (vectorizable_reduction): Likewise. - (vect_transform_cycle_phi): Likewise. - (vectorizable_induction): Likewise. - (vectorizable_live_operation): Likewise. - * tree-vect-slp.c (_slp_tree::_slp_tree): Initialize lanes. - (vect_create_new_slp_node): Likewise. - (slp_copy_subtree): Copy it. - (vect_optimize_slp): Use it. - (vect_slp_analyze_node_operations_1): Likewise. - (vect_slp_convert_to_external): Likewise. - (vect_bb_vectorization_profitable_p): Likewise. - * tree-vect-stmts.c (vectorizable_load): Likewise. - (get_vectype_for_scalar_type): Likewise. - -2020-06-04 Richard Biener - - * tree-vect-slp.c (vect_update_all_shared_vectypes): Remove. - (vect_build_slp_tree_2): Simplify building all external op - nodes from scalars. - (vect_slp_analyze_node_operations): Remove push/pop of - STMT_VINFO_DEF_TYPE. - (vect_schedule_slp_instance): Likewise. - * tree-vect-stmts.c (ect_check_store_rhs): Pass in the - stmt_info, use the vect_is_simple_use overload combining - SLP and stmt_info analysis. - (vect_is_simple_cond): Likewise. - (vectorizable_store): Adjust. - (vectorizable_condition): Likewise. - (vect_is_simple_use): Fully handle invariant SLP nodes - here. Amend stmt_info operand extraction with COND_EXPR - and masked stores. - * tree-vect-loop.c (vectorizable_reduction): Deal with - COND_EXPR representation ugliness. - -2020-06-04 Hongtao Liu - - PR target/95254 - * config/i386/sse.md (*vcvtps2ph_store): - Refine from *vcvtps2ph_store. - (vcvtps2ph256): Refine constraint from vm to v. - (avx512f_vcvtps2ph512): Ditto. - (*vcvtps2ph256): New define_insn. - (*avx512f_vcvtps2ph512): Ditto. - * config/i386/subst.md (merge_mask): New define_subst. - (merge_mask_name): New define_subst_attr. - (merge_mask_operand3): Ditto. - -2020-06-04 Hao Liu - - PR tree-optimization/89430 - * tree-ssa-phiopt.c - (struct name_to_bb): Rename to ref_to_bb; add a new field exp; - remove ssa_name_ver, store, offset fields. - (struct ssa_names_hasher): Rename to refs_hasher; update functions. - (class nontrapping_dom_walker): Rename m_seen_ssa_names to m_seen_refs. - (nontrapping_dom_walker::add_or_mark_expr): Extend to support ARRAY_REFs - and COMPONENT_REFs. - -2020-06-04 Andreas Schwab - - PR target/95154 - * config/ia64/ia64.h (ASM_OUTPUT_FDESC): Call assemble_external. - -2020-06-04 Hongtao.liu - - * config/i386/sse.md (pmov_dst_3_lower): New mode attribute. - (trunc2): Refine from - trunc2. - -2020-06-03 Vitor Guidi - - * match.pd (tanh/sinh -> 1/cosh): New simplification. - -2020-06-03 Aaron Sawdey - - PR target/95347 - * config/rs6000/rs6000.c (is_stfs_insn): Rename to - is_lfs_stfs_insn and make it recognize lfs as well. - (prefixed_store_p): Use is_lfs_stfs_insn(). - (prefixed_load_p): Use is_lfs_stfs_insn() to recognize lfs. - -2020-06-03 Jan Hubicka - - * ipa-devirt.c: Include data-streamer.h, lto-streamer.h and - streamer-hooks.h. - (odr_enums): New static var. - (struct odr_enum_val): New struct. - (class odr_enum): New struct. - (odr_enum_map): New hashtable. - (odr_types_equivalent_p): Drop code testing TYPE_VALUES. - (add_type_duplicate): Likewise. - (free_odr_warning_data): Do not free TYPE_VALUES. - (register_odr_enum): New function. - (ipa_odr_summary_write): New function. - (ipa_odr_read_section): New function. - (ipa_odr_summary_read): New function. - (class pass_ipa_odr): New pass. - (make_pass_ipa_odr): New function. - * ipa-utils.h (register_odr_enum): Declare. - * lto-section-in.c: (lto_section_name): Add odr_types section. - * lto-streamer.h (enum lto_section_type): Add odr_types section. - * passes.def: Add odr_types pass. - * lto-streamer-out.c (DFS::DFS_write_tree_body): Do not stream - TYPE_VALUES. - (hash_tree): Likewise. - * tree-streamer-in.c (lto_input_ts_type_non_common_tree_pointers): - Likewise. - * tree-streamer-out.c (write_ts_type_non_common_tree_pointers): - Likewise. - * timevar.def (TV_IPA_ODR): New timervar. - * tree-pass.h (make_pass_ipa_odr): Declare. - * tree.c (free_lang_data_in_type): Regiser ODR types. - -2020-06-03 Romain Naour - - * Makefile.in (SELFTEST_DEPS): Move before including language makefile - fragments. - -2020-06-03 Richard Biener - - PR tree-optimization/95487 - * tree-vect-stmts.c (vectorizable_store): Use a truth type - for the scatter mask. - -2020-06-03 Richard Biener - - PR tree-optimization/95495 - * tree-vect-slp.c (vect_slp_analyze_node_operations): Use - SLP_TREE_REPRESENTATIVE in the shift assertion. - -2020-06-03 Tom Tromey - - * spellcheck.c (CASE_COST): New define. - (BASE_COST): New define. - (get_edit_distance): Recognize case changes. - (get_edit_distance_cutoff): Update. - (test_edit_distances): Update. - (get_old_cutoff): Update. - (test_find_closest_string): Add case sensitivity test. - -2020-06-03 Richard Biener - - * tree-vect-slp.c (vect_bb_vectorization_profitable_p): Loop over - the cost vector to unset the visited flag on stmts. - -2020-06-03 Tobias Burnus - - * gimplify.c (omp_notice_variable): Use new hook. - * langhooks-def.h (lhd_omp_predetermined_mapping): Declare. - (LANG_HOOKS_OMP_PREDETERMINED_MAPPING): Define - (LANG_HOOKS_DECLS): Add it. - * langhooks.c (lhd_omp_predetermined_sharing): Remove bogus unused attr. - (lhd_omp_predetermined_mapping): New. - * langhooks.h (struct lang_hooks_for_decls): Add new hook. - -2020-06-03 Jan Hubicka - - * lto-streamer.h (LTO_tags): Reorder so frequent tags has small indexes; - add LTO_first_tree_tag and LTO_first_gimple_tag. - (lto_tag_is_tree_code_p): Update. - (lto_tag_is_gimple_code_p): Update. - (lto_gimple_code_to_tag): Update. - (lto_tag_to_gimple_code): Update. - (lto_tree_code_to_tag): Update. - (lto_tag_to_tree_code): Update. - -2020-06-02 Felix Yang - - PR target/95459 - * config/aarch64/aarch64.c (aarch64_short_vector_p): - Leave later code to report an error if SVE is disabled. - -2020-06-02 Kyrylo Tkachov - - * config/aarch64/aarch64-cores.def (zeus): Define. - * config/aarch64/aarch64-tune.md: Regenerate. - * doc/invoke.texi (AArch64 Options): Document zeus -mcpu option. - -2020-06-02 Aaron Sawdey - - PR target/95347 - * config/rs6000/rs6000.c (prefixed_store_p): Add special case - for stfs. - (is_stfs_insn): New helper function. - -2020-06-02 Jan Hubicka - - * lto-streamer-in.c (stream_read_tree_ref): Simplify streaming of - references. - * lto-streamer-out.c (stream_write_tree_ref): Likewise. - -2020-06-02 Andrew Stubbs - - * config/gcn/gcn-hsa.h (CC1_SPEC): Delete. - * config/gcn/gcn.opt (-mlocal-symbol-id): Delete. - * config/gcn/mkoffload.c (main): Don't use -mlocal-symbol-id. - -2020-06-02 Eric Botcazou - - PR middle-end/95395 - * optabs.c (expand_unop): Fix bits/bytes confusion in latest change. - * tree-pretty-print.c (dump_generic_node) : Print quals. - -2020-06-02 Stefan Schulze Frielinghaus - - * config/s390/s390.c (print_operand): Emit vector alignment - hints for z13. - -2020-06-02 Martin Liska - - * coverage.c (get_coverage_counts): Skip sanity check for TOP N counters - as they have variable number of counters. - * gcov-dump.c (main): Add new option -r. - (print_usage): Likewise. - (tag_counters): All new raw format. - * gcov-io.h (struct gcov_kvp): New. - (GCOV_TOPN_VALUES): Remove. - (GCOV_TOPN_VALUES_COUNTERS): Likewise. - (GCOV_TOPN_MEM_COUNTERS): New. - (GCOV_TOPN_DISK_COUNTERS): Likewise. - (GCOV_TOPN_MAXIMUM_TRACKED_VALUES): Likewise. - * ipa-profile.c (ipa_profile_generate_summary): Use - GCOV_TOPN_MAXIMUM_TRACKED_VALUES. - (ipa_profile_write_edge_summary): Likewise. - (ipa_profile_read_edge_summary): Likewise. - (ipa_profile): Remove usage of GCOV_TOPN_VALUES. - * profile.c (sort_hist_values): Sort variable number - of counters. - (compute_value_histograms): Special case for TOP N counters - that have dynamic number of key-value pairs. - * value-prof.c (dump_histogram_value): Dump variable number - of key-value pairs. - (stream_in_histogram_value): Stream in variable number - of key-value pairs for TOP N counter. - (get_nth_most_common_value): Deal with variable number - of key-value pairs. - (dump_ic_profile): Use GCOV_TOPN_MAXIMUM_TRACKED_VALUES - for loop iteration. - (gimple_find_values_to_profile): Set GCOV_TOPN_MEM_COUNTERS - to n_counters. - * doc/gcov-dump.texi: Document new -r option. - -2020-06-02 Iain Buclaw - - PR target/95420 - * config.gcc (arm-wrs-vxworks7*): Set default cpu to generic-armv7-a. - -2020-06-01 Jeff Law - - * lower-subreg.c (resolve_simple_move): If simplify_gen_subreg_concatn - returns (const_int 0) for the destination, then emit nothing. - -2020-06-01 Jan Hubicka - - * lto-streamer.h (enum LTO_tags): Remove LTO_field_decl_ref, - LTO_function_decl_ref, LTO_label_decl_ref, LTO_namespace_decl_ref, - LTO_result_decl_ref, LTO_type_decl_ref, LTO_type_ref, - LTO_const_decl_ref, LTO_imported_decl_ref, - LTO_translation_unit_decl_ref, LTO_global_decl_ref and - LTO_namelist_decl_ref; add LTO_global_stream_ref. - * lto-streamer-in.c (lto_input_tree_ref): Simplify. - (lto_input_scc): Update. - (lto_input_tree_1): Update. - * lto-streamer-out.c (lto_indexable_tree_ref): Simlify. - * lto-streamer.c (lto_tag_name): Update. - -2020-06-01 Jan Hubicka - - * ipa-reference.c (stream_out_bitmap): Use lto_output_var_decl_ref. - (ipa_reference_read_optimization_summary): Use lto_intput_var_decl_ref. - * lto-cgraph.c (lto_output_node): Likewise. - (lto_output_varpool_node): Likewise. - (output_offload_tables): Likewise. - (input_node): Likewise. - (input_varpool_node): Likewise. - (input_offload_tables): Likewise. - * lto-streamer-in.c (lto_input_tree_ref): Declare. - (lto_input_var_decl_ref): Declare. - (lto_input_fn_decl_ref): Declare. - * lto-streamer-out.c (lto_indexable_tree_ref): Use only one decl stream. - (lto_output_var_decl_index): Rename to .. - (lto_output_var_decl_ref): ... this. - (lto_output_fn_decl_index): Rename to ... - (lto_output_fn_decl_ref): ... this. - * lto-streamer.h (enum lto_decl_stream_e_t): Remove per-type streams. - (DEFINE_DECL_STREAM_FUNCS): Remove. - (lto_output_var_decl_index): Remove. - (lto_output_fn_decl_index): Remove. - (lto_output_var_decl_ref): Declare. - (lto_output_fn_decl_ref): Declare. - (lto_input_var_decl_ref): Declare. - (lto_input_fn_decl_ref): Declare. - -2020-06-01 Feng Xue - - * cgraphclones.c (materialize_all_clones): Adjust replace map dump. - * ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Do not - dump infomation if there is no adjusted parameter. - * (ipa_param_adjustments::dump): Adjust prefix spaces for dump string. - -2020-06-01 Aldy Hernandez - - * Makefile.in (gimple-array-bounds.o): New. - * tree-vrp.c: Move array bounds code... - * gimple-array-bounds.cc: ...here... - * gimple-array-bounds.h: ...and here. - -2020-06-01 Aldy Hernandez - - * Makefile.in (OBJS): Add value-range-equiv.o. - * tree-vrp.c (*value_range_equiv*): Move to... - * value-range-equiv.cc: ...here. - * tree-vrp.h (class value_range_equiv): Move to... - * value-range-equiv.h: ...here. - * vr-values.h: Include value-range-equiv.h. - -2020-06-01 Feng Xue - - PR ipa/93429 - * ipa-cp.c (propagate_aggs_across_jump_function): Check aggregate - lattice for simple pass-through by-ref argument. - -2020-05-31 Jeff Law - - * lra.c (add_auto_inc_notes): Remove function. - * reload1.c (add_auto_inc_notes): Similarly. Move into... - * rtlanal.c (add_auto_inc_notes): New function. - * rtl.h (add_auto_inc_notes): Add prototype. - * recog.c (peep2_attempt): Scan and add REG_INC notes to new insns - as needed. - -2020-05-31 Jan Hubicka - - * lto-section-out.c (lto_output_decl_index): Remove. - (lto_output_field_decl_index): Move to lto-streamer-out.c - (lto_output_fn_decl_index): Move to lto-streamer-out.c - (lto_output_namespace_decl_index): Remove. - (lto_output_var_decl_index): Remove. - (lto_output_type_decl_index): Remove. - (lto_output_type_ref_index): Remove. - * lto-streamer-out.c (output_type_ref): Remove. - (lto_get_index): New function. - (lto_output_tree_ref): Remove. - (lto_indexable_tree_ref): New function. - (lto_output_var_decl_index): Move here from lto-section-out.c; simplify. - (lto_output_fn_decl_index): Move here from lto-section-out.c; simplify. - (stream_write_tree_ref): Update. - (lto_output_tree): Update. - * lto-streamer.h (lto_output_decl_index): Remove prototype. - (lto_output_field_decl_index): Remove prototype. - (lto_output_namespace_decl_index): Remove prototype. - (lto_output_type_decl_index): Remove prototype. - (lto_output_type_ref_index): Remove prototype. - (lto_output_var_decl_index): Move. - (lto_output_fn_decl_index): Move - -2020-05-31 Jakub Jelinek - - PR middle-end/95052 - * expr.c (store_expr): For shortedned_string_cst, ensure temp has - BLKmode. - -2020-05-31 Jeff Law - - * config/h8300/jumpcall.md (brabs, brabc): Disable patterns. - -2020-05-31 Jim Wilson - - * config/riscv/riscv.md (zero_extendsidi2_shifted): New. - -2020-05-30 Jonathan Yong <10walls@gmail.com> - - * config/i386/mingw32.h (REAL_LIBGCC_SPEC): Insert -lkernel32 - after -lmsvcrt. This is necessary as libmsvcrt.a is not a pure - import library, but also contains some functions that invoke - others in KERNEL32.DLL. - -2020-05-29 Segher Boessenkool - - * config/rs6000/altivec.md (altivec_vmrghw_direct): Prefer VSX form. - (altivec_vmrglw_direct): Ditto. - (altivec_vperm__direct): Ditto. - (altivec_vperm_v8hiv16qi): Ditto. - (*altivec_vperm__uns_internal): Ditto. - (*altivec_vpermr__internal): Ditto. - (vperm_v8hiv4si): Ditto. - (vperm_v16qiv8hi): Ditto. - -2020-05-29 Jan Hubicka - - * lto-streamer-in.c (streamer_read_chain): Move here from - tree-streamer-in.c. - (stream_read_tree_ref): New. - (lto_input_tree_1): Simplify. - * lto-streamer-out.c (stream_write_tree_ref): New. - (lto_write_tree_1): Simplify. - (lto_output_tree_1): Simplify. - (DFS::DFS_write_tree): Simplify. - (streamer_write_chain): Move here from tree-stremaer-out.c. - * lto-streamer.h (lto_output_tree_ref): Update prototype. - (stream_read_tree_ref): Declare - (stream_write_tree_ref): Declare - * tree-streamer-in.c (streamer_read_chain): Update to use - stream_read_tree_ref. - (lto_input_ts_common_tree_pointers): Likewise. - (lto_input_ts_vector_tree_pointers): Likewise. - (lto_input_ts_poly_tree_pointers): Likewise. - (lto_input_ts_complex_tree_pointers): Likewise. - (lto_input_ts_decl_minimal_tree_pointers): Likewise. - (lto_input_ts_decl_common_tree_pointers): Likewise. - (lto_input_ts_decl_with_vis_tree_pointers): Likewise. - (lto_input_ts_field_decl_tree_pointers): Likewise. - (lto_input_ts_function_decl_tree_pointers): Likewise. - (lto_input_ts_type_common_tree_pointers): Likewise. - (lto_input_ts_type_non_common_tree_pointers): Likewise. - (lto_input_ts_list_tree_pointers): Likewise. - (lto_input_ts_vec_tree_pointers): Likewise. - (lto_input_ts_exp_tree_pointers): Likewise. - (lto_input_ts_block_tree_pointers): Likewise. - (lto_input_ts_binfo_tree_pointers): Likewise. - (lto_input_ts_constructor_tree_pointers): Likewise. - (lto_input_ts_omp_clause_tree_pointers): Likewise. - * tree-streamer-out.c (streamer_write_chain): Update to use - stream_write_tree_ref. - (write_ts_common_tree_pointers): Likewise. - (write_ts_vector_tree_pointers): Likewise. - (write_ts_poly_tree_pointers): Likewise. - (write_ts_complex_tree_pointers): Likewise. - (write_ts_decl_minimal_tree_pointers): Likewise. - (write_ts_decl_common_tree_pointers): Likewise. - (write_ts_decl_non_common_tree_pointers): Likewise. - (write_ts_decl_with_vis_tree_pointers): Likewise. - (write_ts_field_decl_tree_pointers): Likewise. - (write_ts_function_decl_tree_pointers): Likewise. - (write_ts_type_common_tree_pointers): Likewise. - (write_ts_type_non_common_tree_pointers): Likewise. - (write_ts_list_tree_pointers): Likewise. - (write_ts_vec_tree_pointers): Likewise. - (write_ts_exp_tree_pointers): Likewise. - (write_ts_block_tree_pointers): Likewise. - (write_ts_binfo_tree_pointers): Likewise. - (write_ts_constructor_tree_pointers): Likewise. - (write_ts_omp_clause_tree_pointers): Likewise. - (streamer_write_tree_body): Likewise. - (streamer_write_integer_cst): Likewise. - * tree-streamer.h (streamer_read_chain):Declare. - (streamer_write_chain):Declare. - (streamer_write_tree_body): Update prototype. - (streamer_write_integer_cst): Update prototype. - -2020-05-29 H.J. Lu - - PR bootstrap/95413 - * configure: Regenerated. - -2020-05-29 Andrew Stubbs - - * config/gcn/gcn-valu.md (add3_vcc_zext_dup): Add early clobber. - (add3_vcc_zext_dup_exec): Likewise. - (add3_vcc_zext_dup2): Likewise. - (add3_vcc_zext_dup2_exec): Likewise. - -2020-05-29 Richard Biener - - PR tree-optimization/95272 - * tree-vectorizer.h (_slp_tree::representative): Add. - (SLP_TREE_REPRESENTATIVE): Likewise. - * tree-vect-loop.c (vectorizable_reduction): Adjust SLP - node gathering. - (vectorizable_live_operation): Use the representative to - attach the reduction info to. - * tree-vect-slp.c (_slp_tree::_slp_tree): Initialize - SLP_TREE_REPRESENTATIVE. - (vect_create_new_slp_node): Likewise. - (slp_copy_subtree): Copy it. - (vect_slp_rearrange_stmts): Re-arrange even COND_EXPR stmts. - (vect_slp_analyze_node_operations_1): Pass the representative - to vect_analyze_stmt. - (vect_schedule_slp_instance): Pass the representative to - vect_transform_stmt. - -2020-05-29 Richard Biener - - PR tree-optimization/95356 - * tree-vect-stmts.c (vectorizable_shift): Do in-place SLP - node hacking during analysis. - -2020-05-29 Jan Hubicka - - PR lto/95362 - * lto-streamer-out.c (lto_output_tree): Disable redundant streaming. - -2020-05-29 Richard Biener - - PR tree-optimization/95403 - * tree-vect-stmts.c (vect_init_vector_1): Guard against NULL - stmt_vinfo. - -2020-05-29 Jakub Jelinek - - PR middle-end/95315 - * omp-general.c (omp_resolve_declare_variant): Fix up addition of - declare variant cgraph node removal callback. - -2020-05-29 Jakub Jelinek - - PR middle-end/95052 - * expr.c (store_expr): If expr_size is constant and significantly - larger than TREE_STRING_LENGTH, set temp to just the - TREE_STRING_LENGTH portion of the STRING_CST. - -2020-05-29 Richard Biener - - PR tree-optimization/95393 - * tree-ssa-phiopt.c (minmax_replacement): Use gimple_build - to build the min/max expression so we simplify cases like - MAX(0, s) immediately. - -2020-05-29 Joe Ramsay - - * config/aarch64/aarch64-sve.md (3): Add support - for unpacked EOR, ORR, AND. - -2020-05-28 Nicolas Bértolo - - * Makefile.in: don't look for libiberty in the "pic" subdirectory - when building for Mingw. Add dependency on xgcc with the proper - extension. - -2020-05-28 Jeff Law - - * config/h8300/logical.md (bclrhi_msx): Remove pattern. - -2020-05-28 Jeff Law - - * config/h8300/logical.md (HImode H8/SX bit-and splitter): Don't - make a nonzero adjustment to the memory offset. - (bhi_msx): Turn into a splitter. - -2020-05-28 Eric Botcazou - - * gimple-ssa-store-merging.c (merged_store_group::can_be_merged_into): - Fix off-by-one error. - -2020-05-28 Richard Sandiford - - * config/aarch64/aarch64.h (aarch64_frame): Add a comment above - wb_candidate1 and wb_candidate2. - * config/aarch64/aarch64.c (aarch64_layout_frame): Invalidate - wb_candidate1 and wb_candidate2 if we decided not to use them. - -2020-05-28 Richard Sandiford - - PR testsuite/95361 - * config/aarch64/aarch64.c (aarch64_expand_epilogue): Assert that - we have at least some CFI operations when using a frame pointer. - Only redefine the CFA if we have CFI operations. - -2020-05-28 Richard Biener - - * tree-vect-slp.c (vect_prologue_cost_for_slp): Remove - case for !SLP_TREE_VECTYPE. - (vect_slp_analyze_node_operations): Adjust. - -2020-05-28 Richard Biener - - * tree-vectorizer.h (_slp_tree::vec_defs): Add. - (SLP_TREE_VEC_DEFS): Likewise. - * tree-vect-slp.c (_slp_tree::_slp_tree): Adjust. - (_slp_tree::~_slp_tree): Likewise. - (vect_mask_constant_operand_p): Remove unused function. - (vect_get_constant_vectors): Rename to... - (vect_create_constant_vectors): ... this. Take the - invariant node as argument and code generate it. Remove - dead code, remove temporary asserts. Pass a NULL stmt_info - to vect_init_vector. - (vect_get_slp_defs): Simplify. - (vect_schedule_slp_instance): Code-generate externals and - invariants using vect_create_constant_vectors. - -2020-05-28 Richard Biener - - * tree-vect-stmts.c (vect_finish_stmt_generation_1): - Conditionalize stmt_info use, assert the new stmt cannot throw - when not specified. - (vect_finish_stmt_generation): Adjust assert. - -2020-05-28 Richard Biener - - PR tree-optimization/95273 - PR tree-optimization/95356 - * tree-vect-stmts.c (vectorizable_shift): Adjust when and to - what we set the vector type of the shift operand SLP node - again. - -2020-05-28 Andrea Corallo - - * config/arm/arm.c (mve_vector_mem_operand): Fix unwanted - fall-throughs. - -2020-05-28 Martin Liska - - PR web/95380 - * doc/invoke.texi: Add missing params, remove max-once-peeled-insns and - rename ipcp-unit-growth to ipa-cp-unit-growth. - -2020-05-28 Hongtao Liu - - * config/i386/sse.md (*avx512vl_v2div2qi2_store_1): Rename - from *avx512vl_v2div2qi_store and refine memory size of - the pattern. - (*avx512vl_v2div2qi2_mask_store_1): Ditto. - (*avx512vl_v4qi2_store_1): Ditto. - (*avx512vl_v4qi2_mask_store_1): Ditto. - (*avx512vl_v8qi2_store_1): Ditto. - (*avx512vl_v8qi2_mask_store_1): Ditto. - (*avx512vl_v4hi2_store_1): Ditto. - (*avx512vl_v4hi2_mask_store_1): Ditto. - (*avx512vl_v2div2hi2_store_1): Ditto. - (*avx512vl_v2div2hi2_mask_store_1): Ditto. - (*avx512vl_v2div2si2_store_1): Ditto. - (*avx512vl_v2div2si2_mask_store_1): Ditto. - (*avx512f_v8div16qi2_store_1): Ditto. - (*avx512f_v8div16qi2_mask_store_1): Ditto. - (*avx512vl_v2div2qi2_store_2): New define_insn_and_split. - (*avx512vl_v2div2qi2_mask_store_2): Ditto. - (*avx512vl_v4qi2_store_2): Ditto. - (*avx512vl_v4qi2_mask_store_2): Ditto. - (*avx512vl_v8qi2_store_2): Ditto. - (*avx512vl_v8qi2_mask_store_2): Ditto. - (*avx512vl_v4hi2_store_2): Ditto. - (*avx512vl_v4hi2_mask_store_2): Ditto. - (*avx512vl_v2div2hi2_store_2): Ditto. - (*avx512vl_v2div2hi2_mask_store_2): Ditto. - (*avx512vl_v2div2si2_store_2): Ditto. - (*avx512vl_v2div2si2_mask_store_2): Ditto. - (*avx512f_v8div16qi2_store_2): Ditto. - (*avx512f_v8div16qi2_mask_store_2): Ditto. - * config/i386/i386-builtin-types.def: Adjust builtin type. - * config/i386/i386-expand.c: Ditto. - * config/i386/i386-builtin.def: Adjust builtin. - * config/i386/avx512fintrin.h: Ditto. - * config/i386/avx512vlbwintrin.h: Ditto. - * config/i386/avx512vlintrin.h: Ditto. - -2020-05-28 Dong JianQiang - - PR gcov-profile/95332 - * gcov-io.c (gcov_var::endian): Move field. - (from_file): Add IN_GCOV_TOOL check. - * gcov-io.h (gcov_magic): Ditto. - -2020-05-28 Max Filippov - - * config/xtensa/xtensa.c (xtensa_delegitimize_address): New - function. - (TARGET_DELEGITIMIZE_ADDRESS): New macro. - -2020-05-27 Eric Botcazou - - * builtin-types.def (BT_UINT128): New primitive type. - (BT_FN_UINT128_UINT128): New function type. - * builtins.def (BUILT_IN_BSWAP128): New GCC builtin. - * doc/extend.texi (__builtin_bswap128): Document it. - * builtins.c (expand_builtin): Deal with BUILT_IN_BSWAP128. - (is_inexpensive_builtin): Likewise. - * fold-const-call.c (fold_const_call_ss): Likewise. - * fold-const.c (tree_call_nonnegative_warnv_p): Likewise. - * tree-ssa-ccp.c (evaluate_stmt): Likewise. - * tree-vect-stmts.c (vect_get_data_ptr_increment): Likewise. - (vectorizable_call): Likewise. - * optabs.c (expand_unop): Always use the double word path for it. - * tree-core.h (enum tree_index): Add TI_UINT128_TYPE. - * tree.h (uint128_type_node): New global type. - * tree.c (build_common_tree_nodes): Build it if TImode is supported. - -2020-05-27 Uroš Bizjak - - * config/i386/mmx.md (*mmx_haddv2sf3): Remove SSE alternatives. - (mmx_hsubv2sf3): Ditto. - (mmx_haddsubv2sf3): New expander. - (*mmx_haddsubv2sf3): Rename from mmx_addsubv2sf3. Correct - RTL template to model horizontal subtraction and addition. - * config/i386/i386-builtin.def (IX86_BUILTIN_PFPNACC): - Update for rename. - -2020-05-27 Uroš Bizjak - - PR target/95355 - * config/i386/sse.md - (avx512f_v16qiv16si2): - Remove %q operand modifier from insn template. - (avx512f_v8hiv8di2): Ditto. - -2020-05-27 Uroš Bizjak - - * config/i386/mmx.md (mmx_pswapdsf2): Add SSE alternatives. - Enable insn pattern for TARGET_MMX_WITH_SSE. - (*mmx_movshdup): New insn pattern. - (*mmx_movsldup): Ditto. - (*mmx_movss): Ditto. - * config/i386/i386-expand.c (ix86_vectorize_vec_perm_const): - Handle E_V2SFmode. - (expand_vec_perm_movs): Handle E_V2SFmode. - (expand_vec_perm_even_odd): Ditto. - (expand_vec_perm_broadcast_1): Assert that E_V2SFmode - is already handled by standard shuffle patterns. - -2020-05-27 Richard Biener - - PR tree-optimization/95295 - * tree-ssa-loop-im.c (sm_seq_valid_bb): Fix sinking after - merging stores from paths. - -2020-05-27 Richard Biener - - PR tree-optimization/95356 - * tree-vect-stmts.c (vectorizable_shift): Adjust vector - type for the shift operand. - -2020-05-27 Richard Biener - - PR tree-optimization/95335 - * tree-vect-slp.c (vect_slp_analyze_node_operations): Reset - lvisited for nodes made external. - -2020-05-27 Richard Biener - - * dump-context.h (debug_dump_context): New class. - (dump_context): Make it friend. - * dumpfile.c (debug_dump_context::debug_dump_context): - Implement. - (debug_dump_context::~debug_dump_context): Likewise. - * tree-vect-slp.c: Include dump-context.h. - (vect_print_slp_tree): Dump a single SLP node. - (debug): New overload for slp_tree. - (vect_print_slp_graph): Rename from vect_print_slp_tree and - use that. - (vect_analyze_slp_instance): Adjust. - -2020-05-27 Jakub Jelinek - - PR middle-end/95315 - * omp-general.c (omp_declare_variant_remove_hook): New function. - (omp_resolve_declare_variant): Always return base if it is already - declare_variant_alt magic decl itself. Register - omp_declare_variant_remove_hook as cgraph node removal hook. - -2020-05-27 Jeff Law - - * config/h8300/testcompare.md (tst_extzv_1_n): Do not accept constants - for the primary input operand. - (tstsi_variable_bit_qi): Similarly. - -2020-05-26 Uroš Bizjak - - * config/i386/mmx.md (mmx_pswapdv2si2): Add SSE2 alternative. - -2020-05-26 Tobias Burnus - - PR ipa/95320 - * ipa-utils.h (odr_type_p): Also permit calls with - only flag_generate_offload set. - -2020-05-26 Alexandre Oliva - - * gcc.c (validate_switches): Add braced parameter. Adjust all - callers. Expected and skip trailing brace only if braced. - Return after handling one atom otherwise. - (DUMPS_OPTIONS): New. - (cpp_debug_options): Define in terms of it. - -2020-05-26 Richard Biener - - PR tree-optimization/95327 - * tree-vect-stmts.c (vectorizable_shift): Compute op1_vectype - when we are not using a scalar shift. - -2020-05-26 Uroš Bizjak - - * config/i386/mmx.md (*mmx_pshufd_1): New insn pattern. - * config/i386/i386-expand.c (ix86_vectorize_vec_perm_const): - Handle E_V2SImode and E_V4HImode. - (expand_vec_perm_even_odd_1): Handle E_V4HImode. - Assert that E_V2SImode is already handled. - (expand_vec_perm_broadcast_1): Assert that E_V2SImode - is already handled by standard shuffle patterns. - -2020-05-26 Jan Hubicka - - * tree.c (free_lang_data_in_type): Simpify types of TYPE_VALUES in - enumeral types. - -2020-05-26 Jakub Jelinek - - PR c++/95197 - * gimplify.c (find_combined_omp_for): Move to omp-general.c. - * omp-general.h (find_combined_omp_for): Declare. - * omp-general.c: Include tree-iterator.h. - (find_combined_omp_for): New function, moved from gimplify.c. - -2020-05-26 Alexandre Oliva - - * common.opt (aux_base_name): Define. - (dumpbase, dumpdir): Mark as Driver options. - (-dumpbase, -dumpdir): Likewise. - (dumpbase-ext, -dumpbase-ext): New. - (auxbase, auxbase-strip): Drop. - * doc/invoke.texi (-dumpbase, -dumpbase-ext, -dumpdir): - Document. - (-o): Introduce the notion of primary output, mention it - influences auxiliary and dump output names as well, add - examples. - (-save-temps): Adjust, move examples into -dump*. - (-save-temps=cwd, -save-temps=obj): Likewise. - (-fdump-final-insns): Adjust. - * dwarf2out.c (gen_producer_string): Drop auxbase and - auxbase_strip; add dumpbase_ext. - * gcc.c (enum save_temps): Add SAVE_TEMPS_DUMP. - (save_temps_prefix, save_temps_length): Drop. - (save_temps_overrides_dumpdir): New. - (dumpdir, dumpbase, dumpbase_ext): New. - (dumpdir_length, dumpdir_trailing_dash_added): New. - (outbase, outbase_length): New. - (The Specs Language): Introduce %". Adjust %b and %B. - (ASM_FINAL_SPEC): Use %b.dwo for an aux output name always. - Precede object file with %w when it's the primary output. - (cpp_debug_options): Do not pass on incoming -dumpdir, - -dumpbase and -dumpbase-ext options; recompute them with - %:dumps. - (cc1_options): Drop auxbase with and without compare-debug; - use cpp_debug_options instead of dumpbase. Mark asm output - with %w when it's the primary output. - (static_spec_functions): Drop %:compare-debug-auxbase-opt and - %:replace-exception. Add %:dumps. - (driver_handle_option): Implement -save-temps=*/-dumpdir - mutual overriding logic. Save dumpdir, dumpbase and - dumpbase-ext options. Do not save output_file in - save_temps_prefix. - (adds_single_suffix_p): New. - (single_input_file_index): New. - (process_command): Combine output dir, output base name, and - dumpbase into dumpdir and outbase. - (set_collect_gcc_options): Pass a possibly-adjusted -dumpdir. - (do_spec_1): Optionally dumpdir instead of save_temps_prefix, - and outbase instead of input_basename in %b, %B and in - -save-temps aux files. Handle empty argument %". - (driver::maybe_run_linker): Adjust dumpdir and auxbase. - (compare_debug_dump_opt_spec_function): Adjust gkd dump file - naming. Spec-quote the computed -fdump-final-insns file name. - (debug_auxbase_opt): Drop. - (compare_debug_self_opt_spec_function): Drop auxbase-strip - computation. - (compare_debug_auxbase_opt_spec_function): Drop. - (not_actual_file_p): New. - (replace_extension_spec_func): Drop. - (dumps_spec_func): New. - (convert_white_space): Split-out parts into... - (quote_string, whitespace_to_convert_p): ... these. New. - (quote_spec_char_p, quote_spec, quote_spec_arg): New. - (driver::finalize): Release and reset new variables; drop - removed ones. - * lto-wrapper.c (HAVE_TARGET_EXECUTABLE_SUFFIX): Define if... - (TARGET_EXECUTABLE_SUFFIX): ... is defined; define this to the - empty string otherwise. - (DUMPBASE_SUFFIX): Drop leading period. - (debug_objcopy): Use concat. - (run_gcc): Recognize -save-temps=* as -save-temps too. Obey - -dumpdir. Pass on empty dumpdir and dumpbase with a directory - component. Simplify temp file names. - * opts.c (finish_options): Drop aux base name handling. - (common_handle_option): Drop auxbase-strip handling. - * toplev.c (print_switch_values): Drop auxbase, add - dumpbase-ext. - (process_options): Derive aux_base_name from dump_base_name - and dump_base_ext. - (lang_dependent_init): Compute dump_base_ext along with - dump_base_name. Disable stack usage and callgraph-info during - lto generation and compare-debug recompilation. - -2020-05-26 Hongtao Liu - Uroš Bizjak - - PR target/95211 - PR target/95256 - * config/i386/sse.md (v2div2sf2): New expander. - (fix_truncv2sfv2di2): Ditto. - (avx512dq_floatv2div2sf2): Renaming from - floatv2div2sf2. - (avx512dq_fix_truncv2sfv2di2): - Renaming from fix_truncv2sfv2di2. - (vec_pack_float_): Adjust icode name. - (vec_unpack_fix_trunc_lo_): Ditto. - (vec_unpack_fix_trunc_hi_): Ditto. - * config/i386/i386-builtin.def: Ditto. - * emit-rtl.c (validate_subreg): Allow use of *paradoxical* vector - subregs when both omode and imode are vector mode and - have the same inner mode. - -2020-05-25 Eric Botcazou - - * gimple-ssa-store-merging.c (merged_store_group::can_be_merged_into): - Only turn MEM_REFs into bit-field stores for small bit-field regions. - (imm_store_chain_info::output_merged_store): Be prepared for sources - with non-integral type in the bit-field insertion case. - (pass_store_merging::process_store): Use MAX_BITSIZE_MODE_ANY_INT as - the largest size for the bit-field case. - -2020-05-25 Uroš Bizjak - - * config/i386/mmx.md (*vec_dupv2sf): Redefine as define_insn. - (mmx_pshufw_1): Change Yv constraint to xYw. Correct type attribute. - (*vec_dupv4hi): Redefine as define_insn. - Remove alternative with general register input. - (*vec_dupv2si): Ditto. - -2020-05-25 Richard Biener - - PR tree-optimization/95309 - * tree-vect-slp.c (vect_get_constant_vectors): Move number - of vector computation ... - (vect_slp_analyze_node_operations): ... to analysis phase. - -2020-05-25 Jan Hubicka - - * lto-streamer-out.c (lto_output_tree): Add streamer_debugging check. - * lto-streamer.h (streamer_debugging): New constant - * tree-streamer-in.c (streamer_read_tree_bitfields): Add - streamer_debugging check. - (streamer_get_pickled_tree): Likewise. - * tree-streamer-out.c (pack_ts_base_value_fields): Likewise. - -2020-05-25 Richard Biener - - PR tree-optimization/95308 - * tree-ssa-forwprop.c (pass_forwprop::execute): Generalize - test for TARGET_MEM_REFs. - -2020-05-25 Richard Biener - - PR tree-optimization/95295 - * tree-ssa-loop-im.c (sm_seq_valid_bb): Compare remat stores - RHSes and drop to full sm_other if they are not equal. - -2020-05-25 Richard Biener - - PR tree-optimization/95271 - * tree-vect-stmts.c (vectorizable_bswap): Update invariant SLP - children vector type. - (vectorizable_call): Pass down slp ops. - -2020-05-25 Richard Biener - - PR tree-optimization/95297 - * tree-vect-stmts.c (vectorizable_shift): For scalar_shift_arg - skip updating operand 1 vector type. - -2020-05-25 Richard Biener - - PR tree-optimization/95284 - * tree-ssa-sink.c (sink_common_stores_to_bb): Amend previous - fix. - -2020-05-25 Hongtao Liu - - PR target/95125 - * config/i386/sse.md (sf2dfmode_lower): New mode attribute. - (trunc2) New expander. - (extend2): Ditto. - -2020-05-23 Iain Sandoe - - * config/darwin.h (ASM_GENERATE_INTERNAL_LABEL): Make - ubsan_{data,type},ASAN symbols linker-visible. - -2020-05-22 Jan Hubicka - - * lto-streamer-out.c (DFS::DFS): Silence warning. - -2020-05-22 Uroš Bizjak - - PR target/95255 - * config/i386/i386.md (2): Do not try to - expand non-sse4 ROUND_ROUNDEVEN rounding via SSE support routines. - -2020-05-22 Jan Hubicka - - * lto-streamer-out.c (lto_output_tree): Do not stream final ref if - it is not needed. - -2020-05-22 Jan Hubicka - - * lto-section-out.c (lto_output_decl_index): Adjust dump indentation. - * lto-streamer-out.c (create_output_block): Fix whitespace - (lto_write_tree_1): Add (debug) dump. - (DFS::DFS): Add dump. - (DFS::DFS_write_tree_body): Do not dump here. - (lto_output_tree): Improve dumping; do not stream ref when not needed. - (produce_asm_for_decls): Fix whitespace. - * tree-streamer-out.c (streamer_write_tree_header): Add dump. - * tree-streamer-out.c (streamer_write_integer_cst): Add debug dump. - -2020-05-22 Hongtao.liu - - PR target/92658 - * config/i386/sse.md (trunc2): New expander - (truncv32hiv32qi2): Ditto. - (trunc2): Ditto. - (trunc2): Ditto. - (trunc2): Ditto. - (truncv2div2si2): Ditto. - (truncv8div8qi2): Ditto. - (avx512f_v8div16qi2): Renaming from *avx512f_v8div16qi2. - (avx512vl_v2div2si): Renaming from *avx512vl_v2div2si2. - (avx512vl_v2qi2): Renaming from - *avx512vl_vqi2. - -2020-05-22 H.J. Lu - - PR target/95258 - * config/i386/driver-i386.c (host_detect_local_cpu): Detect - AVX512VPOPCNTDQ. - -2020-05-22 Richard Biener - - PR tree-optimization/95268 - * tree-ssa-sink.c (sink_common_stores_to_bb): Handle clobbers - properly. - -2020-05-22 Jan Hubicka - - * tree-streamer.c (record_common_node): Fix hash value of pre-streamed - nodes. - -2020-05-22 Jan Hubicka - - * lto-streamer-in.c (lto_read_tree): Do not stream end markers. - (lto_input_scc): Optimize streaming of entry lengths. - * lto-streamer-out.c (lto_write_tree): Do not stream end markers - (DFS::DFS): Optimize stremaing of entry lengths - -2020-05-22 Richard Biener - - PR lto/95190 - * doc/invoke.texi (flto): Document behavior of diagnostic - options. - -2020-05-22 Richard Biener - - * tree-vectorizer.h (vect_is_simple_use): New overload. - (vect_maybe_update_slp_op_vectype): New. - * tree-vect-stmts.c (vect_is_simple_use): New overload - accessing operands of SLP vs. non-SLP operation transparently. - (vect_maybe_update_slp_op_vectype): New function updating - the possibly shared SLP operands vector type. - (vectorizable_operation): Be a bit more SLP vs non-SLP agnostic - using the new vect_is_simple_use overload; update SLP invariant - operand nodes vector type. - (vectorizable_comparison): Likewise. - (vectorizable_call): Likewise. - (vectorizable_conversion): Likewise. - (vectorizable_shift): Likewise. - (vectorizable_store): Likewise. - (vectorizable_condition): Likewise. - (vectorizable_assignment): Likewise. - * tree-vect-loop.c (vectorizable_reduction): Likewise. - * tree-vect-slp.c (vect_get_constant_vectors): Enforce - present SLP_TREE_VECTYPE and check it matches previous - behavior. - -2020-05-22 Richard Biener - - PR tree-optimization/95248 - * tree-ssa-loop-im.c (sm_seq_valid_bb): Remove bogus early out. - -2020-05-22 Richard Biener - - * tree-vectorizer.h (_slp_tree::_slp_tree): New. - (_slp_tree::~_slp_tree): Likewise. - * tree-vect-slp.c (_slp_tree::_slp_tree): Factor out code - from allocators. - (_slp_tree::~_slp_tree): Implement. - (vect_free_slp_tree): Simplify. - (vect_create_new_slp_node): Likewise. Add nops parameter. - (vect_build_slp_tree_2): Adjust. - (vect_analyze_slp_instance): Likewise. - -2020-05-21 Rainer Orth - - * adjust-alignment.c: Include memmodel.h. - -2020-05-21 H.J. Lu - - PR target/95260 - * config/i386/cpuid.h: Use hexadecimal in comments. - -2020-05-21 H.J. Lu - - PR target/95212 - * config/i386/i386-builtins.c (processor_features): Move - F_AVX512VP2INTERSECT after F_AVX512BF16. - (isa_names_table): Likewise. - -2020-05-21 Martin Liska - - * common/config/aarch64/aarch64-common.c (aarch64_handle_option): - Handle OPT_moutline_atomics. - * config/aarch64/aarch64.c: Add outline-atomics to - aarch64_attributes. - * doc/extend.texi: Document the newly added target attribute. - -2020-05-21 Uroš Bizjak - - PR target/95218 - - * config/i386/mmx.md (*mmx_v2sf): Do not mark - operands 1 and 2 commutative. Manually swap operands. - (*mmx_nabsv2sf2): Ditto. - - Partially revert: - 2020-05-18 Uroš Bizjak - - * config/i386/i386.md (*tf2_1): - Mark operands 1 and 2 commutative. - (*nabstf2_1): Ditto. - * config/i386/sse.md (*2): Mark operands 1 and 2 - commutative. Do not swap operands. - (*nabs2): Ditto. - -2020-05-20 Uroš Bizjak - - PR target/95229 - * config/i386/sse.md (v8qiv8hi2): Use - simplify_gen_subreg instead of simplify_subreg. - (v8qiv8si2): Ditto. - (v4qiv4si2): Ditto. - (v4hiv4si2): Ditto. - (v8qiv8di2): Ditto. - (v4qiv4di2): Ditto. - (v2qiv2di2): Ditto. - (v4hiv4di2): Ditto. - (v2hiv2di2): Ditto. - (v2siv2di2): Ditto. - -2020-05-20 Uroš Bizjak - - PR target/95238 - * config/i386/i386.md (*pushsi2_rex64): - Use "e" constraint instead of "i". - -2020-05-20 Jan Hubicka - - * lto-streamer-in.c (lto_input_scc): Add SHARED_SCC parameter. - (lto_input_tree_1): Strenghten sanity check. - (lto_input_tree): Update call of lto_input_scc. - * lto-streamer-out.c: Include ipa-utils.h - (create_output_block): Initialize local_trees if merigng is going - to happen. - (destroy_output_block): Destroy local_trees. - (DFS): Add max_local_entry. - (local_tree_p): New function. - (DFS::DFS): Initialize and maintain it. - (DFS::DFS_write_tree): Decide on streaming format. - (lto_output_tree): Stream inline singleton SCCs - * lto-streamer.h (enum LTO_tags): Add LTO_trees. - (struct output_block): Add local_trees. - (lto_input_scc): Update prototype. - -2020-05-20 Patrick Palka - - PR c++/95223 - * hash-table.h (hash_table::find_with_hash): Move up the call to - hash_table::verify. - -2020-05-20 Martin Liska - - * lto-compress.c (lto_compression_zstd): Fill up - num_compressed_il_bytes. - (lto_uncompression_zstd): Likewise for num_uncompressed_il_bytes here. - -2020-05-20 Richard Biener - - PR tree-optimization/95219 - * tree-vect-loop.c (vectorizable_induction): Reduce - group_size before computing the number of required IVs. - -2020-05-20 Richard Biener - - PR middle-end/95231 - * tree-inline.c (remap_gimple_stmt): Revert adjusting - COND_EXPR and VEC_COND_EXPR for a -fnon-call-exception boundary. - -2020-05-20 Srinath Parvathaneni - Andre Vieira - - PR target/94959 - * config/arm/arm-protos.h (arm_mode_base_reg_class): Function - declaration. - (mve_vector_mem_operand): Likewise. - * config/arm/arm.c (thumb2_legitimate_address_p): For MVE target check - the load from memory to a core register is legitimate for give mode. - (mve_vector_mem_operand): Define function. - (arm_print_operand): Modify comment. - (arm_mode_base_reg_class): Define. - * config/arm/arm.h (MODE_BASE_REG_CLASS): Modify to add check for - TARGET_HAVE_MVE and expand to arm_mode_base_reg_class on TRUE. - * config/arm/constraints.md (Ux): Likewise. - (Ul): Likewise. - * config/arm/mve.md (mve_mov): Replace constraint Us with Ux and also - add support for missing Vector Store Register and Vector Load Register. - Add a new alternative to support load from memory to PC (or label) in - vector store/load. - (mve_vstrbq_): Modify constraint Us to Ux. - (mve_vldrbq_): Modify constriant Us to Ux, predicate to - mve_memory_operand and also modify the MVE instructions to emit. - (mve_vldrbq_z_): Modify constraint Us to Ux. - (mve_vldrhq_fv8hf): Modify constriant Us to Ux, predicate to - mve_memory_operand and also modify the MVE instructions to emit. - (mve_vldrhq_): Modify constriant Us to Ux, predicate to - mve_memory_operand and also modify the MVE instructions to emit. - (mve_vldrhq_z_fv8hf): Likewise. - (mve_vldrhq_z_): Likewise. - (mve_vldrwq_fv4sf): Likewise. - (mve_vldrwq_v4si): Likewise. - (mve_vldrwq_z_fv4sf): Likewise. - (mve_vldrwq_z_v4si): Likewise. - (mve_vld1q_f): Modify constriant Us to Ux. - (mve_vld1q_): Likewise. - (mve_vstrhq_fv8hf): Modify constriant Us to Ux, predicate to - mve_memory_operand. - (mve_vstrhq_p_fv8hf): Modify constriant Us to Ux, predicate to - mve_memory_operand and also modify the MVE instructions to emit. - (mve_vstrhq_p_): Likewise. - (mve_vstrhq_): Modify constriant Us to Ux, predicate to - mve_memory_operand. - (mve_vstrwq_fv4sf): Modify constriant Us to Ux. - (mve_vstrwq_p_fv4sf): Modify constriant Us to Ux and also modify the MVE - instructions to emit. - (mve_vstrwq_p_v4si): Likewise. - (mve_vstrwq_v4si): Likewise.Modify constriant Us to Ux. - * config/arm/predicates.md (mve_memory_operand): Define. - -2020-05-30 Richard Biener - - PR c/95141 - * c-fold.c (c_fully_fold_internal): Enhance guard on - overflow_warning. - -2020-05-20 Kito Cheng - - PR target/90811 - * Makefile.in (OBJS): Add adjust-alignment.o. - * adjust-alignment.c (pass_data_adjust_alignment): New. - (pass_adjust_alignment): New. - (pass_adjust_alignment::execute): New. - (make_pass_adjust_alignment): New. - * tree-pass.h (make_pass_adjust_alignment): New. - * passes.def: Add pass_adjust_alignment. - -2020-05-19 Alex Coplan - - PR target/94591 - * config/aarch64/aarch64.c (aarch64_evpc_rev_local): Don't match - identity permutation. - -2020-05-19 Jozef Lawrynowicz - - * doc/sourcebuild.texi: Document new short_eq_int, ptr_eq_short, - msp430_small, msp430_large and size24plus DejaGNU effective - targets. - Improve grammar in descriptions for size20plus and size32plus effective - targets. - -2020-05-19 Jose E. Marchesi - - * config/bpf/bpf.c (bpf_compute_frame_layout): Include space for - callee saved registers only in xBPF. - (bpf_expand_prologue): Save callee saved registers only in xBPF. - (bpf_expand_epilogue): Likewise for restoring. - * doc/invoke.texi (eBPF Options): Document this is activated by - -mxbpf. - -2020-05-19 Jose E. Marchesi - - * config/bpf/bpf.opt (mxbpf): New option. - * doc/invoke.texi (Option Summary): Add -mxbpf. - (eBPF Options): Document -mxbbpf. - -2020-05-19 Uroš Bizjak - - PR target/92658 - * config/i386/sse.md (v16qiv16hi2): New expander. - (v32qiv32hi2): Ditto. - (v8qiv8hi2): Ditto. - (v16qiv16si2): Ditto. - (v8qiv8si2): Ditto. - (v4qiv4si2): Ditto. - (v16hiv16si2): Ditto. - (v8hiv8si2): Ditto. - (v4hiv4si2): Ditto. - (v8qiv8di2): Ditto. - (v4qiv4di2): Ditto. - (v2qiv2di2): Ditto. - (v8hiv8di2): Ditto. - (v4hiv4di2): Ditto. - (v2hiv2di2): Ditto. - (v8siv8di2): Ditto. - (v4siv4di2): Ditto. - (v2siv2di2): Ditto. - -2020-05-19 Kito Cheng - - * common/config/riscv/riscv-common.c (riscv_implied_info_t): New. - (riscv_implied_info): New. - (riscv_subset_list): Add handle_implied_ext. - (riscv_subset_list::to_string): New parameter version_p to - control output format. - (riscv_subset_list::handle_implied_ext): New. - (riscv_subset_list::parse_std_ext): Call handle_implied_ext. - (riscv_arch_str): New parameter version_p to control output format. - (riscv_expand_arch): New. - * config/riscv/riscv-protos.h (riscv_arch_str): New parameter, - version_p. - * config/riscv/riscv.h (riscv_expand_arch): New, - (EXTRA_SPEC_FUNCTIONS): Define. - (ASM_SPEC): Transform -march= via riscv_expand_arch. - -2020-05-19 Kito Cheng - - * riscv-common.c (parse_sv_or_non_std_ext): Rename to - parse_multiletter_ext. - (parse_multiletter_ext): Add parsing `h` and `z`, drop `sx`, - adjust parsing order for 's' and 'x'. - -2020-05-19 Richard Biener - - * tree-vectorizer.h (_slp_tree::vectype): Add field. - (SLP_TREE_VECTYPE): New. - * tree-vect-slp.c (vect_create_new_slp_node): Initialize - SLP_TREE_VECTYPE. - (vect_create_new_slp_node): Likewise. - (vect_prologue_cost_for_slp): Move here from tree-vect-stmts.c - and simplify. - (vect_slp_analyze_node_operations): Walk nodes children for - invariant costing. - (vect_get_constant_vectors): Use local scope op variable. - * tree-vect-stmts.c (vect_prologue_cost_for_slp_op): Remove here. - (vect_model_simple_cost): Adjust. - (vect_model_store_cost): Likewise. - (vectorizable_store): Likewise. - -2020-05-18 Martin Sebor - - PR middle-end/92815 - * tree-object-size.c (decl_init_size): New function. - (addr_object_size): Call it. - * tree.h (last_field): Declare. - (first_field): Add attribute nonnull. - -2020-05-18 Martin Sebor - - PR middle-end/94940 - * tree-vrp.c (vrp_prop::check_mem_ref): Remove unreachable code. - * tree.c (component_ref_size): Correct the handling or array members - of unions. - Drop a pointless test. - Rename a local variable. - -2020-05-18 Jason Merrill - - * aclocal.m4: Add ax_cxx_compile_stdcxx.m4. - * configure.ac: Use AX_CXX_COMPILE_STDCXX(11). - -2020-05-14 Jason Merrill - - * doc/install.texi (Prerequisites): Update boostrap compiler - requirement to C++11/GCC 4.8. - -2020-05-18 Stefan Schulze Frielinghaus - - PR tree-optimization/94952 - * gimple-ssa-store-merging.c (pass_store_merging::process_store): - Initialize variables bitpos, bitregion_start, and bitregion_end in - order to silence warnings about use of uninitialized variables. - -2020-05-18 Carl Love - - PR target/94833 - * config/rs6000/vsx.md (define_expand): Fix instruction generation for - first_match_index_. - * testsuite/gcc.target/powerpc/builtins-8-p9-runnable.c (main): Add - additional test cases with zero vector elements. - -2020-05-18 Uroš Bizjak - - PR target/95169 - * config/i386/i386-expand.c (ix86_expand_int_movcc): - Avoid reversing a non-trapping comparison to a trapping one. - -2020-05-18 Alex Coplan - - * config/arm/arm.c (output_move_double): Fix codegen when loading into - a register pair with an odd base register. - -2020-05-18 Uroš Bizjak - - * config/i386/i386-expand.c (ix86_expand_fp_absneg_operator): - Do not emit FLAGS_REG clobber for TFmode. - * config/i386/i386.md (*tf2_1): Rewrite as - define_insn_and_split. Mark operands 1 and 2 commutative. - (*nabstf2_1): Ditto. - (absneg SSE splitter): Use MODEF mode iterator instead of SSEMODEF. - Do not swap memory operands. Simplify RTX generation. - (neg abs SSE splitter): Ditto. - * config/i386/sse.md (*2): Mark operands 1 and 2 - commutative. Do not swap operands. Simplify RTX generation. - (*nabs2): Ditto. - -2020-05-18 Richard Biener - - * tree-vect-slp.c (vect_slp_bb): Start after labels. - (vect_get_constant_vectors): Really place init stmt after scalar defs. - * tree-vect-stmts.c (vect_init_vector_1): Insert before - region begin. - -2020-05-18 H.J. Lu - - * config/i386/driver-i386.c (host_detect_local_cpu): Support - Intel Airmont, Tremont, Comet Lake, Ice Lake and Tiger Lake - processor families. - -2020-05-18 Richard Biener - - PR middle-end/95171 - * tree-inline.c (remap_gimple_stmt): Split out trapping compares - when inlining into a non-call EH function. - -2020-05-18 Richard Biener - - PR tree-optimization/95172 - * tree-ssa-loop-im.c (execute_sm): Get flag whether we - eventually need the conditional processing. - (execute_sm_exit): When processing an orderd sequence - avoid doing any conditional processing. - (hoist_memory_references): Pass down whether all edges - have ordered processing for a ref to execute_sm. - -2020-05-17 Jeff Law - - * config/h8300/predicates.md (pc_or_label_operand): New predicate. - * config/h8300/jumpcall.md (branch_true, branch_false): Consolidate - into a single pattern using pc_or_label_operand. - * config/h8300/combiner.md (bit branch patterns): Likewise. - * config/h8300/peepholes.md (HImode and SImode branches): Likewise. - -2020-05-17 H.J. Lu - - PR target/95021 - * config/i386/i386-features.c (has_non_address_hard_reg): - Renamed to ... - (pseudo_reg_set): This. Return the SET expression. Ignore - pseudo register push. - (general_scalar_to_vector_candidate_p): Combine single_set and - has_non_address_hard_reg calls to pseudo_reg_set. - (timode_scalar_to_vector_candidate_p): Likewise. - * config/i386/i386.md (*pushv1ti2): New pattern. - -2020-05-17 Aldy Hernandez - - Revert: - 2020-05-17 Aldy Hernandez - - * tree-vrp.c (operand_less_p): Move to... - * vr-values.c (operand_less_p): ...here. - * tree-vrp.h (operand_less_p): Remove. - -2020-05-17 Aldy Hernandez - - * tree-vrp.c (operand_less_p): Move to... - * vr-values.c (operand_less_p): ...here. - * tree-vrp.h (operand_less_p): Remove. - -2020-05-17 Aldy Hernandez - - * tree-vrp.c (class vrp_insert): Remove prototype for - live_on_edge. - -2020-05-17 Aldy Hernandez - - * tree-vrp.c (class live_names): New. - (live_on_edge): Move into live_names. - (build_assert_expr_for): Move into vrp_insert. - (find_assert_locations_in_bb): Rename from - find_assert_locations_1. - (process_assert_insertions_for): Move into vrp_insert. - (compare_assert_loc): Same. - (remove_range_assertions): Same. - (dump_asserts_for): Rename to vrp_insert::dump. - (debug_asserts_for): Rename to vrp_insert::debug. - (dump_all_asserts): Rename to vrp_insert::dump. - (debug_all_asserts): Rename to vrp_insert::debug. - -2020-05-17 Aldy Hernandez - - * tree-vrp.c (class vrp_prop): Move check_all_array_refs, - check_array_ref, check_mem_ref, and search_for_addr_array - into new class... - (class array_bounds_checker): ...here. - (class check_array_bounds_dom_walker): Adjust to use - array_bounds_checker. - (check_all_array_refs): Move into array_bounds_checker and rename - to check. - (class vrp_folder): Make fold_predicate_in private. - -2020-05-15 Jeff Law - - * config/h8300/h8300.md (SFI iterator): New iterator for - SFmode and SImode. - * config/h8300/peepholes.md (memory comparison): Use mode - iterator to consolidate 3 patterns into one. - (stack allocation and stack store): Handle SFmode. Handle - 8 byte allocations. - -2020-05-15 Segher Boessenkool - - * config/rs6000/rs6000-builtin.def (BU_FUTURE_MISC_2): Also require - RS6000_BTM_POWERPC64. - -2020-05-15 Uroš Bizjak - - * config/i386/i386.md (SWI48DWI): New mode iterator. - (*push2): Allow XMM registers. - (*pushdi2_rex64): Ditto. - (*pushsi2_rex64): Ditto. - (*pushsi2): Ditto. - (push XMM reg splitter): New splitter - - (*pushdf) Change "x" operand constraint to "v". - (*pushsf_rex64): Ditto. - (*pushsf): Ditto. - -2020-05-15 Richard Biener - - PR tree-optimization/92260 - * tree-vect-slp.c (vect_get_constant_vectors): Compute - the number of vector stmts in a canonical way. - -2020-05-15 Martin Liska - - * hsa-gen.c (get_symbol_for_decl): Fix misleading indentation - warning. - -2020-05-15 Andrew Stubbs - - * config/gcn/gcn-valu.md (v3): Fix unsignedp. - -2020-05-15 Richard Biener - - PR tree-optimization/95133 - * gimple-ssa-split-paths.c - (find_block_to_duplicate_for_splitting_paths): Check for - normal edges. - -2020-05-15 Christophe Lyon - - * config/arm/arm.c (reg_needs_saving_p): Add support for interrupt - routines. - (arm_compute_save_reg0_reg12_mask): Use reg_needs_saving_p. - -2020-05-15 Tobias Burnus - - PR middle-end/94635 - * gimplify.c (gimplify_scan_omp_clauses): For MAP_TO_PSET with - OMP_TARGET_EXIT_DATA, use 'release:' unless the associated - item is 'delete:'. - -2020-05-15 Uroš Bizjak - - PR target/95046 - * config/i386/i386.md (isa): Add sse3_noavx. - (enabled): Handle sse3_noavx. - - * config/i386/mmx.md (mmx_haddv2sf3): New expander. - (*mmx_haddv2sf3): Rename from mmx_haddv2sf3. Add SSE/AVX - alternatives. Match commutative vec_select selector operands. - (*mmx_haddv2sf3_low): New insn pattern. - - (*mmx_hsubv2sf3): Add SSE/AVX alternatives. - (*mmx_hsubv2sf3_low): New insn pattern. - -2020-05-15 Richard Biener - - PR tree-optimization/33315 - * tree-ssa-sink.c: Include tree-eh.h. - (sink_stats): Add commoned member. - (sink_common_stores_to_bb): New function implementing store - commoning by sinking to the successor. - (sink_code_in_bb): Call it, pass down TODO_cleanup_cfg returned. - (pass_sink_code::execute): Likewise. Record commoned stores - in statistics. - -2020-05-14 Xiong Hu Luo - - PR rtl-optimization/37451, part of PR target/61837 - * loop-doloop.c (doloop_simplify_count): New function. Simplify - (add -1; zero_ext; add +1) to zero_ext when not wrapping. - (doloop_modify): Call doloop_simplify_count. - -2020-05-14 H.J. Lu - - PR jit/94778 - * doc/sourcebuild.texi: Document effective target lgccjit. - -2020-05-14 Andrew Stubbs - - * config/gcn/gcn-valu.md (add3_zext_dup): Change to a - define_expand, and rename the original to ... - (add3_vcc_zext_dup): ... this, and add a custom VCC operand. - (add3_zext_dup_exec): Likewise, with ... - (add3_vcc_zext_dup_exec): ... this. - (add3_zext_dup2): Likewise, with ... - (add3_zext_dup_exec): ... this. - (add3_zext_dup2_exec): Likewise, with ... - (add3_zext_dup2): ... this. - * config/gcn/gcn.c (gcn_expand_scalar_to_vector_address): Switch - addv64di3_zext* calls to use addv64di3_vcc_zext*. - -2020-05-14 Uroš Bizjak - - PR target/95046 - * config/i386/sse.md (truncv2dfv2df2): New insn pattern. - (extendv2sfv2df2): Ditto. - -2020-05-14 H.J. Lu - - * configure: Regenerated. - -2020-05-14 Christophe Lyon - - * config/arm/arm.c (reg_needs_saving_p): New function. - (use_return_insn): Use reg_needs_saving_p. - (arm_get_vfp_saved_size): Likewise. - (arm_compute_frame_layout): Likewise. - (arm_save_coproc_regs): Likewise. - (thumb1_expand_epilogue): Likewise. - (arm_expand_epilogue_apcs_frame): Likewise. - (arm_expand_epilogue): Likewise. - -2020-05-14 Christophe Lyon - - * config/arm/arm.c (thumb1_expand_prologue): Update error message. - -2020-05-14 Uroš Bizjak - - PR target/95046 - * config/i386/sse.md (sse2_cvtpi2pd): Add memory to alternative 1. - - (floatv2siv2df2): New expander. - (floatunsv2siv2df2): New insn pattern. - - (fix_truncv2dfv2si2): New expander. - (fixuns_truncv2dfv2si2): New insn pattern. - -2020-05-14 Richard Sandiford - - PR target/95105 - * config/aarch64/aarch64-sve-builtins.cc - (handle_arm_sve_vector_bits_attribute): Create a copy of the - original type's TYPE_MAIN_VARIANT, then reapply all the differences - between the original type and its main variant. - -2020-05-14 Richard Biener - - PR middle-end/95118 - * real.c (real_to_decimal_for_mode): Make sure we handle - a zero with nonzero exponent. - -2020-05-14 Jakub Jelinek - - * Makefile.in (GTFILES): Add omp-general.c. - * cgraph.h (struct cgraph_node): Add declare_variant_alt and - calls_declare_variant_alt members and initialize them in the - ctor. - * ipa.c (symbol_table::remove_unreachable_nodes): Handle direct - calls to declare_variant_alt nodes. - * lto-cgraph.c (lto_output_node): Write declare_variant_alt - and calls_declare_variant_alt. - (input_overwrite_node): Read them back. - * omp-simd-clone.c (simd_clone_create): Copy calls_declare_variant_alt - bit. - * tree-inline.c (expand_call_inline): Or in calls_declare_variant_alt - bit. - (tree_function_versioning): Copy calls_declare_variant_alt bit. - * omp-offload.c (execute_omp_device_lower): Call - omp_resolve_declare_variant on direct function calls. - (pass_omp_device_lower::gate): Also enable for - calls_declare_variant_alt functions. - * omp-general.c (omp_maybe_offloaded): Return false after inlining. - (omp_context_selector_matches): Handle the case when - cfun->curr_properties has PROP_gimple_any bit set. - (struct omp_declare_variant_entry): New type. - (struct omp_declare_variant_base_entry): New type. - (struct omp_declare_variant_hasher): New type. - (omp_declare_variant_hasher::hash, omp_declare_variant_hasher::equal): - New methods. - (omp_declare_variants): New variable. - (struct omp_declare_variant_alt_hasher): New type. - (omp_declare_variant_alt_hasher::hash, - omp_declare_variant_alt_hasher::equal): New methods. - (omp_declare_variant_alt): New variables. - (omp_resolve_late_declare_variant): New function. - (omp_resolve_declare_variant): Call omp_resolve_late_declare_variant - when called late. Create a magic declare_variant_alt fndecl and - cgraph node and return that if decision needs to be deferred until - after gimplification. - * cgraph.c (symbol_table::create_edge): Or in calls_declare_variant_alt - bit. - - PR middle-end/95108 - * omp-simd-clone.c (struct modify_stmt_info): Add after_stmt member. - (ipa_simd_modify_stmt_ops): For PHIs, only add before first stmt in - entry block if info->after_stmt is NULL, otherwise add after that stmt - and update it after adding each stmt. - (ipa_simd_modify_function_body): Initialize info.after_stmt. - - * function.h (struct function): Add has_omp_target bit. - * omp-offload.c (omp_discover_declare_target_fn_r): New function, - old renamed to ... - (omp_discover_declare_target_tgt_fn_r): ... this. - (omp_discover_declare_target_var_r): Call - omp_discover_declare_target_tgt_fn_r instead of - omp_discover_declare_target_fn_r. - (omp_discover_implicit_declare_target): Also queue functions with - has_omp_target bit set, for those walk with - omp_discover_declare_target_fn_r, for declare target to functions - walk with omp_discover_declare_target_tgt_fn_r. - -2020-05-14 Uroš Bizjak - - PR target/95046 - * config/i386/mmx.md (mmx_fix_truncv2sfv2si2): Rename from mmx_pf2id. - Add SSE/AVX alternative. Change operand predicates from - nonimmediate_operand to register_mmxmem_operand. - Enable instruction pattern for TARGET_MMX_WITH_SSE. - (fix_truncv2sfv2si2): New expander. - (fixuns_truncv2sfv2si2): New insn pattern. - - (mmx_floatv2siv2sf2): rename from mmx_floatv2si2. - Add SSE/AVX alternative. Change operand predicates from - nonimmediate_operand to register_mmxmem_operand. - Enable instruction pattern for TARGET_MMX_WITH_SSE. - (floatv2siv2sf2): New expander. - (floatunsv2siv2sf2): New insn pattern. - - * config/i386/i386-builtin.def (IX86_BUILTIN_PF2ID): - Update for rename. - (IX86_BUILTIN_PI2FD): Ditto. - -2020-05-14 Andreas Krebbel - - * config/s390/s390.c (s390_emit_stack_probe): Call the probe_stack - expander. - * config/s390/s390.md ("@probe_stack2", "probe_stack"): New - expanders. - -2020-05-14 Andreas Krebbel - - * config/s390/s390.c (allocate_stack_space): Add missing updates - of last_probe_offset. - -2020-05-14 Andreas Krebbel - - * config/s390/s390.md ("allocate_stack"): Call - anti_adjust_stack_and_probe_stack_clash when stack clash - protection is enabled. - * explow.c (anti_adjust_stack_and_probe_stack_clash): Remove - prototype. Remove static. - * explow.h (anti_adjust_stack_and_probe_stack_clash): Add - prototype. - -2020-05-13 Kelvin Nilsen - - * config/rs6000/altivec.h (vec_extractl): New #define. - (vec_extracth): Likewise. - * config/rs6000/altivec.md (UNSPEC_EXTRACTL): New constant. - (UNSPEC_EXTRACTR): Likewise. - (vextractl): New expansion. - (vextractl_internal): New insn. - (vextractr): New expansion. - (vextractr_internal): New insn. - * config/rs6000/rs6000-builtin.def (__builtin_altivec_vextdubvlx): - New built-in function. - (__builtin_altivec_vextduhvlx): Likewise. - (__builtin_altivec_vextduwvlx): Likewise. - (__builtin_altivec_vextddvlx): Likewise. - (__builtin_altivec_vextdubvhx): Likewise. - (__builtin_altivec_vextduhvhx): Likewise. - (__builtin_altivec_vextduwvhx): Likewise. - (__builtin_altivec_vextddvhx): Likewise. - (__builtin_vec_extractl): New overloaded built-in function. - (__builtin_vec_extracth): Likewise. - * config/rs6000/rs6000-call.c (altivec_overloaded_builtins): - Define overloaded forms of __builtin_vec_extractl and - __builtin_vec_extracth. - (builtin_function_type): Add cases to mark arguments of new - built-in functions as unsigned. - (rs6000_common_init_builtins): Add - opaque_ftype_opaque_opaque_opaque_opaque. - * config/rs6000/rs6000.md (du_or_d): New mode attribute. - * doc/extend.texi (PowerPC AltiVec Built-in Functions Available - for a Future Architecture): Add description of vec_extractl and - vec_extractr built-in functions. - -2020-05-13 Richard Biener - - * target.def (add_stmt_cost): Add new vectype parameter. - * targhooks.c (default_add_stmt_cost): Adjust. - * targhooks.h (default_add_stmt_cost): Likewise. - * config/aarch64/aarch64.c (aarch64_add_stmt_cost): Take new - vectype parameter. - * 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-vectorizer.h (stmt_info_for_cost::vectype): Add. - (dump_stmt_cost): Add new vectype parameter. - (add_stmt_cost): Likewise. - (record_stmt_cost): Likewise. - (record_stmt_cost): Add overload with old signature. - * tree-vect-loop.c (vect_compute_single_scalar_iteration_cost): - Adjust. - (vect_get_known_peeling_cost): Likewise. - (vect_estimate_min_profitable_iters): Likewise. - * tree-vectorizer.c (dump_stmt_cost): Add new vectype parameter. - * tree-vect-stmts.c (record_stmt_cost): Likewise. - (vect_prologue_cost_for_slp_op): Remove stmt_vec_info parameter - and pass down correct vectype and NULL stmt_info. - (vect_model_simple_cost): Adjust. - (vect_model_store_cost): Likewise. - -2020-05-13 Richard Biener - - * tree-vectorizer.h (SLP_INSTANCE_GROUP_SIZE): Remove. - (_slp_instance::group_size): Likewise. - * tree-vect-loop.c (vectorizable_reduction): The group size - is the number of lanes in the node. - * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Likewise. - (vect_analyze_slp_instance): Do not set SLP_INSTANCE_GROUP_SIZE, - verify it matches the instance trees number of lanes. - (vect_slp_analyze_node_operations_1): Use the numer of lanes - in the node as group size. - (vect_bb_vectorization_profitable_p): Use the instance root - number of lanes for the size of life. - (vect_schedule_slp_instance): Use the number of lanes as - group_size. - * tree-vect-stmts.c (vectorizable_load): Remove SLP instance - parameter. Use the number of lanes of the load for the group - size in the gap adjustment code. - (vect_analyze_stmt): Adjust. - (vect_transform_stmt): Likewise. - -2020-05-13 Jakub Jelinek - - PR debug/95080 - * cfgrtl.c (purge_dead_edges): Skip over debug and note insns even - if the last insn is a note. - - PR tree-optimization/95060 - * tree-ssa-math-opts.c (convert_mult_to_fma_1): Fold a NEGATE_EXPR - if it is the single use of the FMA internal builtin. - -2020-05-13 Bin Cheng - - PR tree-optimization/94969 - * tree-data-dependence.c (constant_access_functions): Rename to... - (invariant_access_functions): ...this. Add parameter. Check for - invariant access function, rather than constant. - (build_classic_dist_vector): Call above function. - * tree-loop-distribution.c (pg_add_dependence_edges): Add comment. - -2020-05-13 Hongtao Liu - - PR target/94118 - * doc/extend.texi (x86Operandmodifiers): Document more x86 - operand modifier. - * gcc/config/i386/i386.c: Add comment for operand modifier N and I. - -2020-05-12 Giuliano Belinassi - - * tree-vrp.c (class vrp_insert): New. - (insert_range_assertions): Move to class vrp_insert. - (dump_all_asserts): Same as above. - (dump_asserts_for): Same as above. - (live): Same as above. - (need_assert_for): Same as above. - (live_on_edge): Same as above. - (finish_register_edge_assert_for): Same as above. - (find_switch_asserts): Same as above. - (find_assert_locations): Same as above. - (find_assert_locations_1): Same as above. - (find_conditional_asserts): Same as above. - (process_assert_insertions): Same as above. - (register_new_assert_for): Same as above. - (vrp_prop): New variable fun. - (vrp_initialize): New parameter. - (identify_jump_threads): Same as above. - (execute_vrp): Same as above. - - -2020-05-12 Keith Packard - - * config/riscv/riscv.c (riscv_unique_section): New. - (TARGET_ASM_UNIQUE_SECTION): New. - -2020-05-12 Craig Blackmore - - * config.gcc: Add riscv-shorten-memrefs.o to extra_objs for riscv. - * config/riscv/riscv-passes.def: New file. - * config/riscv/riscv-protos.h (make_pass_shorten_memrefs): Declare. - * config/riscv/riscv-shorten-memrefs.c: New file. - * config/riscv/riscv.c (tree-pass.h): New include. - (riscv_compressed_reg_p): New Function - (riscv_compressed_lw_offset_p): Likewise. - (riscv_compressed_lw_address_p): Likewise. - (riscv_shorten_lw_offset): Likewise. - (riscv_legitimize_address): Attempt to convert base + large_offset - to compressible new_base + small_offset. - (riscv_address_cost): Make anticipated compressed load/stores - cheaper for code size than uncompressed load/stores. - (riscv_register_priority): Move compressed register check to - riscv_compressed_reg_p. - * config/riscv/riscv.h (C_S_BITS): Define. - (CSW_MAX_OFFSET): Define. - * config/riscv/riscv.opt (mshorten-memefs): New option. - * config/riscv/t-riscv (riscv-shorten-memrefs.o): New rule. - (PASSES_EXTRA): Add riscv-passes.def. - * doc/invoke.texi: Document -mshorten-memrefs. - - * config/riscv/riscv.c (riscv_new_address_profitable_p): New function. - (TARGET_NEW_ADDRESS_PROFITABLE_P): Define. - * doc/tm.texi: Regenerate. - * doc/tm.texi.in (TARGET_NEW_ADDRESS_PROFITABLE_P): New hook. - * sched-deps.c (attempt_change): Use old address if it is cheaper than - new address. - * target.def (new_address_profitable_p): New hook. - * targhooks.c (default_new_address_profitable_p): New function. - * targhooks.h (default_new_address_profitable_p): Declare. - -2020-05-12 Uroš Bizjak - - PR target/95046 - * config/i386/mmx.md (copysignv2sf3): New expander. - (xorsignv2sf3): Ditto. - (signbitv2sf3): Ditto. - -2020-05-12 Uroš Bizjak - - PR target/95046 - * config/i386/mmx.md (fmav2sf4): New insn pattern. - (fmsv2sf4): Ditto. - (fnmav2sf4): Ditto. - (fnmsv2sf4): Ditto. - -2020-05-12 H.J. Lu - - * Makefile.in (CET_HOST_FLAGS): New. - (COMPILER): Add $(CET_HOST_FLAGS). - * configure.ac: Add GCC_CET_HOST_FLAGS(CET_HOST_FLAGS) and - AC_SUBST(CET_HOST_FLAGS). Clear CET_HOST_FLAGS if jit isn't - enabled. - * aclocal.m4: Regenerated. - * configure: Likewise. - -2020-05-12 Uroš Bizjak - - PR target/95046 - * config/i386/mmx.md (v2sf2): New insn pattern. - (*mmx_v2sf2): New insn_and_split pattern. - (*mmx_nabsv2sf2): Ditto. - (*mmx_andnotv2sf3): New insn pattern. - (*mmx_v2sf3): Ditto. - * config/i386/i386.md (absneg_op): New code attribute. - * config/i386/i386.c (ix86_build_const_vector): Handle V2SFmode. - (ix86_build_signbit_mask): Ditto. - -2020-05-12 Richard Biener - - * tree-ssa-live.c (remove_unused_locals): Remove dead debug - bind resets. - -2020-05-12 Jozef Lawrynowicz - - * config/msp430/msp430-protos.h (msp430_output_aligned_decl_common): - Update prototype to include "local" argument. - * config/msp430/msp430.c (msp430_output_aligned_decl_common): Add - "local" argument. Handle local common decls. - * config/msp430/msp430.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Adjust - msp430_output_aligned_decl_common call with 0 for "local" argument. - (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Define. - -2020-05-12 Richard Biener - - * cfghooks.c (split_edge): Preserve EDGE_DFS_BACK if set. - -2020-05-12 Martin Liska - - PR sanitizer/95033 - PR sanitizer/95051 - * sanopt.c (sanitize_rewrite_addressable_params): - Clear DECL_NOT_GIMPLE_REG_P for argument. - -2020-05-12 Richard Sandiford - - PR tree-optimization/94980 - * tree-vect-generic.c (expand_vector_comparison): Use - vector_element_bits_tree to get the element size in bits, - rather than using TYPE_SIZE. - (expand_vector_condition, vector_element): Likewise. - -2020-05-12 Richard Sandiford - - PR tree-optimization/94980 - * tree-vect-generic.c (build_replicated_const): Take the number - of bits as a parameter, instead of the type of the elements. - (do_plus_minus): Update accordingly, using vector_element_bits - to calculate the correct number of bits. - (do_negate): Likewise. - -2020-05-12 Richard Sandiford - - PR tree-optimization/94980 - * tree.h (vector_element_bits, vector_element_bits_tree): Declare. - * tree.c (vector_element_bits, vector_element_bits_tree): New. - * match.pd: Use the new functions instead of determining the - vector element size directly from TYPE_SIZE(_UNIT). - * tree-vect-data-refs.c (vect_gather_scatter_fn_p): Likewise. - * tree-vect-patterns.c (vect_recog_mask_conversion_pattern): Likewise. - * tree-vect-stmts.c (vect_is_simple_cond): Likewise. - * tree-vect-generic.c (expand_vector_piecewise): Likewise. - (expand_vector_conversion): Likewise. - (expand_vector_addition): Likewise for a TYPE_SIZE_UNIT used as - a divisor. Convert the dividend to bits to compensate. - * tree-vect-loop.c (vectorizable_live_operation): Call - vector_element_bits instead of open-coding it. - -2020-05-12 Jakub Jelinek - - * omp-offload.h (omp_discover_implicit_declare_target): Declare. - * omp-offload.c: Include context.h. - (omp_declare_target_fn_p, omp_declare_target_var_p, - omp_discover_declare_target_fn_r, omp_discover_declare_target_var_r, - omp_discover_implicit_declare_target): New functions. - * cgraphunit.c (analyze_functions): Call - omp_discover_implicit_declare_target. - -2020-05-12 Richard Biener - - * gimple-fold.c (maybe_canonicalize_mem_ref_addr): Canonicalize - literal constant &MEM[..] to a constant literal. - -2020-05-12 Richard Biener - - PR tree-optimization/95045 - * dbgcnt.def (lim): Add debug-counter. - * tree-ssa-loop-im.c: Include dbgcnt.h. - (find_refs_for_sm): Use lim debug counter for store motion - candidates. - (do_store_motion): Rename form store_motion. Commit edge - insertions... - (store_motion_loop): ... here. - (tree_ssa_lim): Adjust. - -2020-05-11 Kelvin Nilsen - - * config/rs6000/altivec.h (vec_clzm): Rename to vec_cntlzm. - (vec_ctzm): Rename to vec_cnttzm. - * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): - Change fourth operand for vec_ternarylogic to require - compatibility with unsigned SImode rather than unsigned QImode. - * config/rs6000/rs6000-call.c (altivec_overloaded_builtins): - Remove overloaded forms of vec_gnb that are no longer needed. - * doc/extend.texi (PowerPC AltiVec Built-in Functions Available - for a Future Architecture): Replace vec_clzm with vec_cntlzm; - replace vec_ctzm with vec_cntlzm; remove four unwanted forms of - vec_gnb; move vec_ternarylogic documentation into this section - and replace const unsigned char with const unsigned int as its - fourth argument. - -2020-05-11 Carl Love - - * config/rs6000/altivec.h (vec_genpcvm): New #define. - * config/rs6000/rs6000-builtin.def (XXGENPCVM_V16QI): New built-in - instantiation. - (XXGENPCVM_V8HI): Likewise. - (XXGENPCVM_V4SI): Likewise. - (XXGENPCVM_V2DI): Likewise. - (XXGENPCVM): New overloaded built-in instantiation. - * config/rs6000/rs6000-call.c (altivec_overloaded_builtins): Add - entries for FUTURE_BUILTIN_VEC_XXGENPCVM. - (altivec_expand_builtin): Add special handling for - FUTURE_BUILTIN_VEC_XXGENPCVM. - (builtin_function_type): Add handling for - FUTURE_BUILTIN_XXGENPCVM_{V16QI,V8HI,V4SI,V2DI}. - * config/rs6000/vsx.md (VSX_EXTRACT_I4): New mode iterator. - (UNSPEC_XXGENPCV): New constant. - (xxgenpcvm__internal): New insn. - (xxgenpcvm_): New expansion. - * doc/extend.texi: Add documentation for vec_genpcvm built-ins. - -2020-05-11 Kelvin Nilsen - - * config/rs6000/altivec.h (vec_strir): New #define. - (vec_stril): Likewise. - (vec_strir_p): Likewise. - (vec_stril_p): Likewise. - * config/rs6000/altivec.md (UNSPEC_VSTRIR): New constant. - (UNSPEC_VSTRIL): Likewise. - (vstrir_): New expansion. - (vstrir_code_): New insn. - (vstrir_p_): New expansion. - (vstrir_p_code_): New insn. - (vstril_): New expansion. - (vstril_code_): New insn. - (vstril_p_): New expansion. - (vstril_p_code_): New insn. - * config/rs6000/rs6000-builtin.def (__builtin_altivec_vstribr): - New built-in function. - (__builtin_altivec_vstrihr): Likewise. - (__builtin_altivec_vstribl): Likewise. - (__builtin_altivec_vstrihl): Likewise. - (__builtin_altivec_vstribr_p): Likewise. - (__builtin_altivec_vstrihr_p): Likewise. - (__builtin_altivec_vstribl_p): Likewise. - (__builtin_altivec_vstrihl_p): Likewise. - (__builtin_vec_strir): New overloaded built-in function. - (__builtin_vec_stril): Likewise. - (__builtin_vec_strir_p): Likewise. - (__builtin_vec_stril_p): Likewise. - * config/rs6000/rs6000-call.c (altivec_overloaded_builtins): - Define overloaded forms of __builtin_vec_strir, - __builtin_vec_stril, __builtin_vec_strir_p, and - __builtin_vec_stril_p. - * doc/extend.texi (PowerPC AltiVec Built-in Functions Available - for a Future Architecture): Add description of vec_stril, - vec_stril_p, vec_strir, and vec_strir_p built-in functions. - -2020-05-11 Kelvin Nilsen - - * config/rs6000/altivec.h (vec_ternarylogic): New #define. - * config/rs6000/altivec.md (UNSPEC_XXEVAL): New constant. - (xxeval): New insn. - * config/rs6000/predicates.md (u8bit_cint_operand): New predicate. - * config/rs6000/rs6000-builtin.def: Add handling of new macro - RS6000_BUILTIN_4. - (BU_FUTURE_V_4): New macro. Use it. - (BU_FUTURE_OVERLOAD_4): Likewise. - * config/rs6000/rs6000-c.c (altivec_build_resolved_builtin): Add - handling for quaternary built-in functions. - (altivec_resolve_overloaded_builtin): Add special-case handling - for __builtin_vec_xxeval. - * config/rs6000/rs6000-call.c: Add handling of new macro - RS6000_BUILTIN_4 in initialization of rs6000_builtin_info, - bdesc0_arg, bdesc1_arg, bdesc2_arg, bdesc_3arg, - bdesc_altivec_preds, bdesc_abs, and bdesc_htm arrays. - (altivec_overloaded_builtins): Add definitions for - FUTURE_BUILTIN_VEC_XXEVAL. - (bdesc_4arg): New array. - (htm_expand_builtin): Add handling for quaternary built-in - functions. - (rs6000_expand_quaternop_builtin): New function. - (rs6000_expand_builtin): Add handling for quaternary built-in - functions. - (rs6000_init_builtins): Initialize builtin_mode_to_type entries - for unsigned QImode and unsigned HImode. - (builtin_quaternary_function_type): New function. - (rs6000_common_init_builtins): Add handling of quaternary - operations. - * config/rs6000/rs6000.h (RS6000_BTC_QUATERNARY): New defined - constant. - (RS6000_BTC_PREDICATE): Change value of constant. - (RS6000_BTC_ABS): Likewise. - (rs6000_builtins): Add support for new macro RS6000_BUILTIN_4. - * doc/extend.texi (PowerPC AltiVec Built-In Functions Available - for a Future Architecture): Add description of vec_ternarylogic - built-in function. - -2020-05-11 Kelvin Nilsen - - * config/rs6000/rs6000-builtin.def (__builtin_pdepd): New built-in - function. - (__builtin_pextd): Likewise. - * config/rs6000/rs6000.md (UNSPEC_PDEPD): New constant. - (UNSPEC_PEXTD): Likewise. - (pdepd): New insn. - (pextd): Likewise. - * doc/extend.texi (Basic PowerPC Built-in Functions Available for - a Future Architecture): Add descriptions of __builtin_pdepd and - __builtin_pextd functions. - -2020-05-11 Kelvin Nilsen - - * config/rs6000/altivec.h (vec_clrl): New #define. - (vec_clrr): Likewise. - * config/rs6000/altivec.md (UNSPEC_VCLRLB): New constant. - (UNSPEC_VCLRRB): Likewise. - (vclrlb): New insn. - (vclrrb): Likewise. - * config/rs6000/rs6000-builtin.def (__builtin_altivec_vclrlb): New - built-in function. - (__builtin_altivec_vclrrb): Likewise. - (__builtin_vec_clrl): New overloaded built-in function. - (__builtin_vec_clrr): Likewise. - * config/rs6000/rs6000-call.c (altivec_overloaded_builtins): - Define overloaded forms of __builtin_vec_clrl and - __builtin_vec_clrr. - * doc/extend.texi (PowerPC AltiVec Built-in Functions Available - for a Future Architecture): Add descriptions of vec_clrl and - vec_clrr. - -2020-05-11 Kelvin Nilsen - - * config/rs6000/rs6000-builtin.def (__builtin_cntlzdm): New - built-in function definition. - (__builtin_cnttzdm): Likewise. - * config/rs6000/rs6000.md (UNSPEC_CNTLZDM): New constant. - (UNSPEC_CNTTZDM): Likewise. - (cntlzdm): New insn. - (cnttzdm): Likewise. - * doc/extend.texi (Basic PowerPC Built-in Functions available for - a Future Architecture): Add descriptions of __builtin_cntlzdm and - __builtin_cnttzdm functions. - -2020-05-11 Uroš Bizjak - - PR target/95046 - * config/i386/mmx.md (sqrtv2sf2): New insn pattern. - -2020-05-11 Kelvin Nilsen - - * config/rs6000/altivec.h (vec_cfuge): New #define. - * config/rs6000/altivec.md (UNSPEC_VCFUGED): New constant. - (vcfuged): New insn. - * config/rs6000/rs6000-builtin.def (__builtin_altivec_vcfuged): - New built-in function. - * config/rs6000/rs6000-call.c (builtin_function_type): Add - handling for FUTURE_BUILTIN_VCFUGED case. - * doc/extend.texi (PowerPC AltiVec Built-in Functions Available - for a Future Architecture): Add description of vec_cfuge built-in - function. - -2020-05-11 Kelvin Nilsen - - * config/rs6000/rs6000-builtin.def (BU_FUTURE_MISC_0): New - #define. - (BU_FUTURE_MISC_1): Likewise. - (BU_FUTURE_MISC_2): Likewise. - (BU_FUTURE_MISC_3): Likewise. - (__builtin_cfuged): New built-in function definition. - * config/rs6000/rs6000.md (UNSPEC_CFUGED): New constant. - (cfuged): New insn. - * doc/extend.texi (Basic PowerPC Built-in Functions Available for - a Future Architecture): New subsubsection. - -2020-05-11 Richard Biener - - PR tree-optimization/95049 - * tree-ssa-sccvn.c (set_ssa_val_to): Reject lattice transition - between different constants. - -2020-05-11 Richard Sandiford - - * tree-pretty-print.c (dump_generic_node): Handle BOOLEAN_TYPEs. - -2020-05-11 Kelvin Nilsen - Bill Schmidt - - * config/rs6000/altivec.h (vec_gnb): New #define. - * config/rs6000/altivec.md (UNSPEC_VGNB): New constant. - (vgnb): New insn. - * config/rs6000/rs6000-builtin.def (BU_FUTURE_OVERLOAD_1): New - #define. - (BU_FUTURE_OVERLOAD_2): Likewise. - (BU_FUTURE_OVERLOAD_3): Likewise. - (__builtin_altivec_gnb): New built-in function. - (__buiiltin_vec_gnb): New overloaded built-in function. - * config/rs6000/rs6000-call.c (altivec_overloaded_builtins): - Define overloaded forms of __builtin_vec_gnb. - (rs6000_expand_binop_builtin): Add error checking for 2nd argument - of __builtin_vec_gnb. - (builtin_function_type): Mark return value and arguments unsigned - for FUTURE_BUILTIN_VGNB. - * doc/extend.texi (PowerPC AltiVec Built-in Functions Available - for a Future Architecture): Add description of vec_gnb built-in - function. - -2020-05-11 Kelvin Nilsen - Bill Schmidt - - * config/rs6000/altivec.h (vec_pdep): New macro implementing new - built-in function. - (vec_pext): Likewise. - * config/rs6000/altivec.md (UNSPEC_VPDEPD): New constant. - (UNSPEC_VPEXTD): Likewise. - (vpdepd): New insn. - (vpextd): Likewise. - * config/rs6000/rs6000-builtin.def (__builtin_altivec_vpdepd): New - built-in function. - (__builtin_altivec_vpextd): Likewise. - * config/rs6000/rs6000-call.c (builtin_function_type): Add - handling for FUTURE_BUILTIN_VPDEPD and FUTURE_BUILTIN_VPEXTD - cases. - * doc/extend.texi (PowerPC Altivec Built-in Functions Available - for a Future Architecture): Add description of vec_pdep and - vec_pext built-in functions. - -2020-05-11 Kelvin Nilsen - Bill Schmidt - - * config/rs6000/altivec.h (vec_clzm): New macro. - (vec_ctzm): Likewise. - * config/rs6000/altivec.md (UNSPEC_VCLZDM): New constant. - (UNSPEC_VCTZDM): Likewise. - (vclzdm): New insn. - (vctzdm): Likewise. - * config/rs6000/rs6000-builtin.def (BU_FUTURE_V_0): New macro. - (BU_FUTURE_V_1): Likewise. - (BU_FUTURE_V_2): Likewise. - (BU_FUTURE_V_3): Likewise. - (__builtin_altivec_vclzdm): New builtin definition. - (__builtin_altivec_vctzdm): Likewise. - * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Cause - _ARCH_PWR_FUTURE macro to be defined if OPTION_MASK_FUTURE flag is - set. - * config/rs6000/rs6000-call.c (builtin_function_type): Set return - value and parameter types to be unsigned for VCLZDM and VCTZDM. - * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add - support for TARGET_FUTURE flag. - * config/rs6000/rs6000.h (RS6000_BTM_FUTURE): New macro constant. - * doc/extend.texi (PowerPC Altivec Built-in Functions Available - for a Future Architecture): New subsubsection. - -2020-05-11 Richard Biener - - PR tree-optimization/94988 - PR tree-optimization/95025 - * tree-ssa-loop-im.c (seq_entry): Make a struct, add from. - (sm_seq_push_down): Take extra parameter denoting where we - moved the ref to. - (execute_sm_exit): Re-issue sm_other stores in the correct - order. - (sm_seq_valid_bb): When always executed, allow sm_other to - prevail inbetween sm_ord and record their stored value. - (hoist_memory_references): Adjust refs_not_supported propagation - and prune sm_other from the end of the ordered sequences. - -2020-05-11 Felix Yang - - PR target/94991 - * config/aarch64/aarch64.md (mov): - Bitcasts to the equivalent integer mode using gen_lowpart - instead of doing FAIL for scalar floating point move. - -2020-05-11 Alex Coplan - - * config/aarch64/aarch64.c (aarch64_if_then_else_costs): Add case - to correctly calculate cost for new pattern (*csinv3_uxtw_insn3). - * config/aarch64/aarch64.md (*csinv3_utxw_insn1): New. - (*csinv3_uxtw_insn2): New. - (*csinv3_uxtw_insn3): New. - * config/aarch64/iterators.md (neg_not_cs): New. - -2020-05-11 Uroš Bizjak - - PR target/95046 - * config/i386/mmx.md (mmx_addv2sf3): Use "v" constraint - instead of "Yv" for AVX alternatives. Add "prefix" attribute. - (*mmx_addv2sf3): Ditto. - (*mmx_subv2sf3): Ditto. - (*mmx_mulv2sf3): Ditto. - (*mmx_v2sf3): Ditto. - (mmx_ieee_v2sf3): Ditto. - -2020-05-11 Uroš Bizjak - - PR target/95046 - * config/i386/i386.c (ix86_vector_mode_supported_p): - Vectorize 3dNOW! vector modes for TARGET_MMX_WITH_SSE. - * config/i386/mmx.md (*mov_internal): Do not set - mode of alternative 13 to V2SF for TARGET_MMX_WITH_SSE. - - (mmx_addv2sf3): Change operand predicates from - nonimmediate_operand to register_mmxmem_operand. - (addv2sf3): New expander. - (*mmx_addv2sf3): Add SSE/AVX alternatives. Change operand - predicates from nonimmediate_operand to register_mmxmem_operand. - Enable instruction pattern for TARGET_MMX_WITH_SSE. - - (mmx_subv2sf3): Change operand predicate from - nonimmediate_operand to register_mmxmem_operand. - (mmx_subrv2sf3): Ditto. - (subv2sf3): New expander. - (*mmx_subv2sf3): Add SSE/AVX alternatives. Change operand - predicates from nonimmediate_operand to register_mmxmem_operand. - Enable instruction pattern for TARGET_MMX_WITH_SSE. - - (mmx_mulv2sf3): Change operand predicates from - nonimmediate_operand to register_mmxmem_operand. - (mulv2sf3): New expander. - (*mmx_mulv2sf3): Add SSE/AVX alternatives. Change operand - predicates from nonimmediate_operand to register_mmxmem_operand. - Enable instruction pattern for TARGET_MMX_WITH_SSE. - - (mmx_v2sf3): Change operand predicates from - nonimmediate_operand to register_mmxmem_operand. - (v2sf3): New expander. - (*mmx_v2sf3): Add SSE/AVX alternatives. Change operand - predicates from nonimmediate_operand to register_mmxmem_operand. - Enable instruction pattern for TARGET_MMX_WITH_SSE. - (mmx_ieee_v2sf3): Ditto. - -2020-05-11 Martin Liska - - PR c/95040 - * common.opt: Fix typo in option description. - -2020-05-11 Martin Liska - - PR gcov-profile/94928 - * gcov-io.h: Add caveat about coverage format parsing and - possible outdated documentation. - -2020-05-11 Xiong Hu Luo - - PR tree-optimization/83403 - * tree-affine.c (expr_to_aff_combination): Replace SSA_NAME with - determine_value_range, Add fold conversion of MULT_EXPR, fix the - previous PLUS_EXPR. - -2020-05-10 Gerald Pfeifer - - * config/i386/i386-c.c (ix86_target_macros): Define _ILP32 and - __ILP32__ for 32-bit targets. - -2020-05-09 Eric Botcazou - - * tree.h (expr_align): Delete. - * tree.c (expr_align): Likewise. - -2020-05-09 Hans-Peter Nilsson - - * resource.c (init_resource_info): Filter-out TARGET_FLAGS_REGNUM - from end_of_function_needs. - - * config.gcc: Remove support for crisv32-*-* and cris-*-linux*. - * config/cris/t-linux, config/cris/linux.h, config/cris/linux.opt: - Remove. - * config/cris/t-elfmulti: Remove crisv32 multilib. - * config/cris: Remove shared-library and CRIS v32 support. - - Move trivially from cc0 to reg:CC model, removing most optimizations. - * config/cris/cris.md: Remove all side-effect patterns and their - splitters. Remove most peepholes. Add clobbers of CRIS_CC0_REGNUM - to all but post-reload control-flow and movem insns. Remove - constraints on all modified expanders. Remove obsoleted cc0-related - references. - (attr "cc"): Remove alternative "rev". - (mode_iterator BWDD, DI_, SI_): New. - (mode_attr sCC_destc, cmp_op1c, cmp_op2c): New. - ("tst"): Remove; fold as "M" alternative into compare insn. - ("mstep_shift", "mstep_mul"): Remove patterns. - ("s", "s", "s"): Anonymize. - * config/cris/cris.c: Change all non-condition-code, - non-control-flow emitted insns to add a parallel with clobber of - CRIS_CC0_REGNUM, mostly by changing from gen_rtx_SET with - emit_insn to use of emit_move_insn, gen_add2_insn or - cris_emit_insn, as convenient. - (cris_reg_overlap_mentioned_p) - (cris_normal_notice_update_cc, cris_notice_update_cc): Remove. - (cris_movem_load_rest_p): Don't assume all elements in a - PARALLEL are SETs. - (cris_store_multiple_op_p): Ditto. - (cris_emit_insn): New function. - * cris/cris-protos.h (cris_emit_insn): Declare. - - PR target/93372 - * config/cris/cris.md (zcond): New code_iterator. - ("*cbranch4_btstq"): New insn_and_split. - - * config/cris/cris.c (TARGET_FLAGS_REGNUM): Define. - - * config/cris/cris.h (REVERSIBLE_CC_MODE): Define to true. - - * config/cris/cris.md ("movsi"): For memory destination - post-reload, generate clobberless variant. Similarly for a - zero-source post-reload. - ("*mov_tomem_split"): New split. - ("*mov_tomem"): New insn. - ("enabled", mov_tomem_enabled): Define and use to exclude "x" -> - "Q>m" for less-than-SImode. - ("*mov_fromzero_split"): New split. - ("*mov_fromzero"): New insn. - - Prepare for cmpelim pass to eliminate redundant compare insns. - * config/cris/cris-modes.def: New file. - * config/cris/cris-protos.h (cris_select_cc_mode): Declare. - (cris_notice_update_cc): Remove left-over declaration. - * config/cris/cris.c (TARGET_CC_MODES_COMPATIBLE): Define. - (cris_select_cc_mode, cris_cc_modes_compatible): New functions. - * config/cris/cris.h (SELECT_CC_MODE): Define. - * config/cris/cris.md (NZSET, NZUSE, NZVCSET, NZVCUSE): New - mode_iterators. - (cond): New code_iterator. - (nzcond): Replacement for incorrect ncond. All callers changed. - (nzvccond): Replacement for ocond. All callers changed. - (rnzcond): Replacement for rcond. All callers changed. - (xCC): New code_attr. - (cmp_op1c, cmp_op0c): Renumber from cmp_op1c and cmp_op2c. All - users changed. - ("*cmpdi"): Rename from "*cmpdi". Replace - CCmode with iteration over NZVCSET. - ("*cmp_ext"): Similarly; rename from - "*cmp_ext". - ("*cmpsi"): Similarly, from "*cmpsi". - ("*cmp"): Similarly from "*cmp". - ("*btst"): Similarly, from "*btst". - ("*cbranch4"): Rename from "*cbranch4", - iterating over cond instead of matching the comparison with - ordered_comparison_operator. - ("*cbranch4_btstq"): Correct label operand number. - ("b"): Rename from "b", iterating - over NZUSE. - ("b"): Similarly from "b", over - NZVCUSE. Remove FIXME. - ("*b_reversed"): Similarly from - "*b_reversed", over NZUSE. - ("*b_reversed"): Similarly from - "*b_reversed", over NZVCUSE. Remove FIXME. - ("b"): Similarly from "b", - over NZUSE. Reinstate "b" vs. "b" mnemonic choice, - depending on CC_NZmode vs. CCmode. Remove FIXME. - ("*b_reversed"): Similarly from - "*b_reversed", over NZUSE. - ("*cstore4"): Rename from "*cstore4", - iterating over cond instead of matching the comparison with - ordered_comparison_operator. - ("*s"): Rename from "*s", - iterating over NZUSE. - ("*s"): Similar from "*s", over - NZUSE. Reinstate "b" vs. "b" mnemonic choice, - depending on CC_NZmode vs. CCmode. - ("*s"): Simlar from "*s", over - NZVCUSE. Remove FIXME. - ("cc"): Comment on new use. - ("cc_enabled"): New attribute. - ("enabled"): Make default fall back to cc_enabled. - ("setnz", "ccnz", "setnzvc", "ccnzvc", "setcc", "cccc"): New - default_subst_attrs. - ("setnz_subst", "setnzvc_subst", "setcc_subst"): New default_subst. - ("*movsi_internal"): Rename from - "*movsi_internal". Correct contents of, and rename attribute - "cc" to "cc". - ("anz", "anzvc", "acc"): New define_subst_attrs. - ("movhi"): Rename from - "movhi". Rename "cc" attribute to "cc". - ("movqi"): Similar from - "movqi". Correct contents of, and rename "cc" attribute to - "cc". - ("*b"): Rename from "b". - ("*b"): Rename from "b". - ("*b"): Rename from "*b". - ("extendsi2"): - Rename from "extendsi2". - ("zero_extendsi2"): - Similar, from "zero_extendsi2". - ("*adddi3"): Rename from "*adddi3". - ("*subdi3"): Similarly from "*subdi3". - ("*addsi3"): Similarly from "*addsi3". - ("*subsi3"): Similarly from "*subsi3". - ("*addhi3"): Similarly from "*addhi3" and decorate the - "cc" attribute to "cc". - ("*addqi3"): Similarly from "*addqi3". - ("*sub3"): Similarly from "*sub3". - ("*expanded_andsi"): Rename from - "*expanded_andsi". - ("*iorsi3"): Similar from "*iorsi3". - Decorate "cc" attribute to make "cc". - ("*iorhi3"): Similar from "*iorhi3". - ("*iorqi3"): Similar from "*iorqi3". - ("*expanded_andhi"): Similar from - "*expanded_andhi". Add quick cc-setting alternative for 0..31. - ("*andqi3"): Similar from "*andqi3". - ("xorsi3"): Rename - from "xorsi3". - ("one_cmplsi2"): Rename - from "one_cmplsi2". - ("si3"): Rename - from "si3". - ("clzsi2"): Rename - from "clzsi2". - ("bswapsi2"): Rename - from "bswapsi2". - ("*uminsi3"): Rename from "*uminsi3". - - * config/cris/cris-modes.def (CC_ZnN): New CC_MODE. - * config/cris/cris.c (cris_rtx_costs): Handle pre-split bit-test - * config/cris/cris.md (ZnNNZSET, ZnNNZUSE): New mode_iterators. - (znnCC, rznnCC): New code_attrs. - ("*btst"): Iterator over ZnNNZSET instead of NZVCSET. Remove - obseolete comment. Add belt-and-suspenders mode-test to condition. - Add fixme regarding remaining matched-but-not-generated case. - ("*cbranch4_btstrq1_"): New insn_and_split. - ("*cbranch4_btstqb0_"): Rename from - "*cbranch4_btstq". Split to CC_NZ instead of CC. - ("*b"): Iterate over ZnNNZUSE instead of NZUSE. - Handle output of CC_ZnNmode. - ("*b_reversed"): Ditto. - - * config/cris/cris.c (cris_select_cc_mode): Return CC_NZmode for - NEG too. Correct comment. - * config/cris/cris.md ("neg2"): Rename from - "neg2". - -2020-05-08 Vladimir Makarov - - * ira-color.c (update_costs_from_allocno): Remove - conflict_cost_update_p argument. Propagate costs only along - threads. Always do conflict cost update. Add printing debugging - info. - (update_costs_from_copies): Add printing debugging info. - (restore_costs_from_copies): Ditto. - (assign_hard_reg): Improve debug info. - (push_only_colorable): Ditto. Call update_costs_from_prefs. - (color_allocnos): Remove update_costs_from_prefs. - -2020-05-08 Richard Biener - - * tree-vectorizer.h (vec_info::slp_loads): New. - (vect_optimize_slp): Declare. - * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Do - nothing when there are no loads. - (vect_gather_slp_loads): Gather loads into a vector. - (vect_supported_load_permutation_p): Remove. - (vect_analyze_slp_instance): Do not verify permutation - validity here. - (vect_analyze_slp): Optimize permutations of reductions - after all SLP instances have been gathered and gather - all loads. - (vect_optimize_slp): New function split out from - vect_supported_load_permutation_p. Elide some permutations. - (vect_slp_analyze_bb_1): Call vect_optimize_slp. - * tree-vect-loop.c (vect_analyze_loop_2): Likewise. - * tree-vect-stmts.c (vectorizable_load): Check whether - the load can be permuted. When generating code assert we can. - -2020-05-08 Richard Biener - - * tree-ssa-sccvn.c (rpo_avail): Change type to - eliminate_dom_walker *. - (eliminate_with_rpo_vn): Adjust rpo_avail to make vn_valueize - use the DOM walker availability. - (vn_reference_fold_indirect): Use get_addr_base_and_unit_offset_1 - with vn_valueize as valueization callback. - (vn_reference_maybe_forwprop_address): Likewise. - * tree-dfa.c (get_addr_base_and_unit_offset_1): Also valueize - array_ref_low_bound. - -2020-05-08 Jakub Jelinek - - PR tree-optimization/94786 - * match.pd (A ^ ((A ^ B) & -(C cmp D)) -> (C cmp D) ? B : A): New - simplification. - - PR target/94857 - * config/i386/i386.md (peephole2 after *add3_cc_overflow_1): New - define_peephole2. - - PR middle-end/94724 - * tree.c (get_narrower): Reuse the op temporary instead of - shadowing it. - - PR tree-optimization/94783 - * match.pd ((X + (X >> (prec - 1))) ^ (X >> (prec - 1)) to abs (X)): - New simplification. - - PR tree-optimization/94956 - * match.pd (FFS): Optimize __builtin_ffs* of non-zero argument into - __builtin_ctz* + 1 if direct IFN_CTZ is supported. - - PR tree-optimization/94913 - * match.pd (A - B + -1 >= A to B >= A): New simplification. - (A - B > A to A < B): Don't test TYPE_OVERFLOW_WRAPS which is always - true for TYPE_UNSIGNED integral types. - - PR bootstrap/94961 - PR rtl-optimization/94516 - * rtl.h (remove_reg_equal_equiv_notes): Add a bool argument defaulted - to false. - * rtlanal.c (remove_reg_equal_equiv_notes): Add no_rescan argument. - Call df_notes_rescan if that argument is not true and returning true. - * combine.c (adjust_for_new_dest): Pass true as second argument to - remove_reg_equal_equiv_notes. - * postreload.c (reload_combine_recognize_pattern): Don't call - df_notes_rescan. - -2020-05-07 Segher Boessenkool - - * config/rs6000/rs6000.md (*setnbc_signed_): New - define_insn. - (*setnbcr_signed_): New define_insn. - (*neg_eq_): Avoid for TARGET_FUTURE; add missing && 1. - (*neg_ne_): Likewise. - -2020-05-07 Segher Boessenkool - - * config/rs6000/rs6000.md (setbc_signed_): New - define_insn. - (*setbcr_signed_): Likewise. - (cstore4): Use setbc[r] if available. - (2_isel): Avoid for TARGET_FUTURE. - (eq3): Use setbc for TARGET_FUTURE. - (*eq3): Avoid for TARGET_FUTURE. - (ne3): Replace :P with :GPR; use setbc for TARGET_FUTURE; - else for non-Pmode, use gen_eq and gen_xor. - (*ne3): Avoid for TARGET_FUTURE. - (*eqsi3_ext): Avoid for TARGET_FUTURE; fix missing && 1. - -2020-05-07 Jeff Law - - * config/h8300/h8300.md: Move expanders and patterns into - files based on functionality. - * config/h8300/addsub.md: New file. - * config/h8300/bitfield.md: New file - * config/h8300/combiner.md: New file - * config/h8300/divmod.md: New file - * config/h8300/extensions.md: New file - * config/h8300/jumpcall.md: New file - * config/h8300/logical.md: New file - * config/h8300/movepush.md: New file - * config/h8300/multiply.md: New file - * config/h8300/other.md: New file - * config/h8300/proepi.md: New file - * config/h8300/shiftrotate.md: New file - * config/h8300/testcompare.md: New file - - * config/h8300/h8300.md (adds/subs splitters): Merge into single - splitter. - (negation expanders and patterns): Simplify and combine using - iterators. - (one_cmpl expanders and patterns): Likewise. - (tablejump, indirect_jump patterns ): Likewise. - (shift and rotate expanders and patterns): Likewise. - (absolute value expander and pattern): Drop expander, rename pattern - to just "abssf2" - (peephole2 patterns): Move into... - * config/h8300/peepholes.md: New file. - - * config/h8300/constraints.md (L and N): Simplify now that we're not - longer supporting the original H8/300 chip. - * config/h8300/elf.h (LINK_SPEC): Likewise. Default to H8/300H. - * config/h8300/h8300.c (shift_alg_qi): Drop H8/300 support. - (shift_alg_hi, shift_alg_si): Similarly. - (h8300_option_overrides): Similarly. Default to H8/300H. If - compiling for H8/S, then turn off H8/300H. Do not update the - shift_alg tables for H8/300 port. - (h8300_emit_stack_adjustment): Remove support for H8/300. Simplify - where possible. - (push, split_adds_subs, h8300_rtx_costs): Likewise. - (h8300_print_operand, compute_mov_length): Likewise. - (output_plussi, compute_plussi_length): Likewise. - (compute_plussi_cc, output_logical_op): Likewise. - (compute_logical_op_length, compute_logical_op_cc): Likewise. - (get_shift_alg, h8300_shift_needs_scratch): Likewise. - (output_a_shift, compute_a_shift_length): Likewise. - (output_a_rotate, compute_a_rotate_length): Likewise. - (output_simode_bld, h8300_hard_regno_mode_ok): Likewise. - (h8300_modes_tieable_p, h8300_return_in_memory): Likewise. - * config/h8300/h8300.h (TARGET_CPU_CPP_BUILTINS): Likewise. - (attr_cpu, TARGET_H8300): Remove. - (TARGET_DEFAULT): Update. - (UNITS_PER_WORD, PARM_BOUNDARY): Simplify where possible. - (BIGGEST_ALIGNMENT, STACK_BOUNDARY): Likewise. - (CONSTANT_ADDRESS_P, MOVE_MAX, Pmode): Likewise. - (SIZE_TYPE, POINTER_SIZE, ASM_WORD_OP): Likewise. - * config/h8300/h8300.md: Simplify patterns throughout. - * config/h8300/t-h8300: Update multilib configuration. - - * config/h8300/h8300.h (LINK_SPEC): Remove. - (USER_LABEL_PREFIX): Likewise. - - * config/h8300/h8300.c (h8300_asm_named_section): Remove. - (h8300_option_override): Remove remnants of COFF support. - -2020-05-07 Alan Modra - - * tree-ssa-reassoc.c (optimize_range_tests_to_bit_test): Replace - set_rtx_cost with set_src_cost. - * tree-switch-conversion.c (bit_test_cluster::emit): Likewise. - -2020-05-07 Kewen Lin - - * tree-vect-stmts.c (vectorizable_load): Check alignment to avoid - redundant half vector handlings for no peeling gaps. - -2020-05-07 Giuliano Belinassi - - * tree-ssa-operands.c (operands_scanner): New class. - (operands_bitmap_obstack): Remove. - (n_initialized): Remove. - (build_uses): Move to operands_scanner class. - (build_vuse): Same as above. - (build_vdef): Same as above. - (verify_ssa_operands): Same as above. - (finalize_ssa_uses): Same as above. - (cleanup_build_arrays): Same as above. - (finalize_ssa_stmt_operands): Same as above. - (start_ssa_stmt_operands): Same as above. - (append_use): Same as above. - (append_vdef): Same as above. - (add_virtual_operand): Same as above. - (add_stmt_operand): Same as above. - (get_mem_ref_operands): Same as above. - (get_tmr_operands): Same as above. - (maybe_add_call_vops): Same as above. - (get_asm_stmt_operands): Same as above. - (get_expr_operands): Same as above. - (parse_ssa_operands): Same as above. - (finalize_ssa_defs): Same as above. - (build_ssa_operands): Same as above, plus create a C-like wrapper. - (update_stmt_operands): Create an instance of operands_scanner. - -2020-05-07 Richard Biener - - PR ipa/94947 - * tree-ssa-structalias.c (refered_from_nonlocal_fn): Use - DECL_EXTERNAL || TREE_PUBLIC instead of externally_visible. - (refered_from_nonlocal_var): Likewise. - (ipa_pta_execute): Likewise. - -2020-05-07 Erick Ochoa - - * gcc/tree-ssa-struct-alias.c: Fix comments - -2020-05-07 Martin Liska - - * doc/invoke.texi: Fix 2 optindex entries. - -2020-05-07 Richard Biener - - PR middle-end/94703 - * tree-core.h (tree_decl_common::gimple_reg_flag): Rename ... - (tree_decl_common::not_gimple_reg_flag): ... to this. - * tree.h (DECL_GIMPLE_REG_P): Rename ... - (DECL_NOT_GIMPLE_REG_P): ... to this. - * gimple-expr.c (copy_var_decl): Copy DECL_NOT_GIMPLE_REG_P. - (create_tmp_reg): Simplify. - (create_tmp_reg_fn): Likewise. - (is_gimple_reg): Check DECL_NOT_GIMPLE_REG_P for all regs. - * gimplify.c (create_tmp_from_val): Simplify. - (gimplify_bind_expr): Likewise. - (gimplify_compound_literal_expr): Likewise. - (gimplify_function_tree): Likewise. - (prepare_gimple_addressable): Set DECL_NOT_GIMPLE_REG_P. - * asan.c (create_odr_indicator): Do not clear DECL_GIMPLE_REG_P. - (asan_add_global): Copy it. - * cgraphunit.c (cgraph_node::expand_thunk): Force args - to be GIMPLE regs. - * function.c (gimplify_parameters): Copy - DECL_NOT_GIMPLE_REG_P. - * ipa-param-manipulation.c - (ipa_param_body_adjustments::common_initialization): Simplify. - (ipa_param_body_adjustments::reset_debug_stmts): Copy - DECL_NOT_GIMPLE_REG_P. - * omp-low.c (lower_omp_for_scan): Do not set DECL_GIMPLE_REG_P. - * sanopt.c (sanitize_rewrite_addressable_params): Likewise. - * tree-cfg.c (make_blocks_1): Simplify. - (verify_address): Do not verify DECL_GIMPLE_REG_P setting. - * tree-eh.c (lower_eh_constructs_2): Simplify. - * tree-inline.c (declare_return_variable): Adjust and - generalize. - (copy_decl_to_var): Copy DECL_NOT_GIMPLE_REG_P. - (copy_result_decl_to_var): Likewise. - * tree-into-ssa.c (pass_build_ssa::execute): Adjust comment. - * tree-nested.c (create_tmp_var_for): Simplify. - * tree-parloops.c (separate_decls_in_region_name): Copy - DECL_NOT_GIMPLE_REG_P. - * tree-sra.c (create_access_replacement): Adjust and - generalize partial def support. - * tree-ssa-forwprop.c (pass_forwprop::execute): Set - DECL_NOT_GIMPLE_REG_P on decls we introduce partial defs on. - * tree-ssa.c (maybe_optimize_var): Handle clearing of - TREE_ADDRESSABLE and setting/clearing DECL_NOT_GIMPLE_REG_P - independently. - * lto-streamer-out.c (hash_tree): Hash DECL_NOT_GIMPLE_REG_P. - * tree-streamer-out.c (pack_ts_decl_common_value_fields): Stream - DECL_NOT_GIMPLE_REG_P. - * tree-streamer-in.c (unpack_ts_decl_common_value_fields): Likewise. - * cfgexpand.c (avoid_type_punning_on_regs): New. - (discover_nonconstant_array_refs): Call - avoid_type_punning_on_regs to avoid unsupported mode punning. - -2020-05-07 Alex Coplan - - * config/arm/arm.c (arm_add_stmt_cost): Fix declaration, remove class - from definition. - -2020-05-07 Richard Biener - - PR tree-optimization/57359 - * tree-ssa-loop-im.c (im_mem_ref::indep_loop): Remove. - (in_mem_ref::dep_loop): Repurpose. - (LOOP_DEP_BIT): Remove. - (enum dep_kind): New. - (enum dep_state): Likewise. - (record_loop_dependence): New function to populate the - dependence cache. - (query_loop_dependence): New function to query the dependence - cache. - (memory_accesses::refs_in_loop): Rename to ... - (memory_accesses::refs_loaded_in_loop): ... this and change to - only record loads. - (outermost_indep_loop): Adjust. - (mem_ref_alloc): Likewise. - (gather_mem_refs_stmt): Likewise. - (mem_refs_may_alias_p): Add tbaa_p parameter and pass it down. - (struct sm_aux): New. - (execute_sm): Split code generation on exits, record state - into new hash-map. - (enum sm_kind): New. - (execute_sm_exit): Exit code generation part. - (sm_seq_push_down): Helper for sm_seq_valid_bb performing - dependence checking on stores reached from exits. - (sm_seq_valid_bb): New function gathering SM stores on exits. - (hoist_memory_references): Re-implement. - (refs_independent_p): Add tbaa_p parameter and pass it down. - (record_dep_loop): Remove. - (ref_indep_loop_p_1): Fold into ... - (ref_indep_loop_p): ... this and generalize for three kinds - of dependence queries. - (can_sm_ref_p): Adjust according to hoist_memory_references - changes. - (store_motion_loop): Don't do anything if the set of SM - candidates is empty. - (tree_ssa_lim_initialize): Adjust. - (tree_ssa_lim_finalize): Likewise. - -2020-05-07 Eric Botcazou - Pierre-Marie de Rodat - - * dwarf2out.c (add_data_member_location_attribute): Take into account - the variant part offset in the computation of the data bit offset. - (add_bit_offset_attribute): Remove CTX parameter. Pass a new context - in the call to field_byte_offset. - (gen_field_die): Adjust call to add_bit_offset_attribute and remove - confusing assertion. - (analyze_variant_discr): Deal with boolean subtypes. - -2020-05-07 Martin Liska - - * lto-wrapper.c: Split arguments of MAKE environment - variable. - -2020-05-07 Uroš Bizjak - - * config/alpha/alpha.c (alpha_atomic_assign_expand_fenv): Use - TARGET_EXPR instead of MODIFY_EXPR for the first assignments to - fenv_var and new_fenv_var. - -2020-05-06 Jakub Jelinek - - PR target/93069 - * config/i386/subst.md (store_mask_constraint, store_mask_predicate): - Remove. - (avx512dq_vextract64x2_1_maskm, - avx512f_vextract32x4_1_maskm, - vec_extract_lo__maskm, vec_extract_hi__maskm): Remove. - (avx512dq_vextract64x2_1): Split - into ... - (*avx512dq_vextract64x2_1, - avx512dq_vextract64x2_1_mask): ... these new - define_insns. Even in the masked variant allow memory output but in - that case use 0 rather than 0C constraint on the source of masked-out - elts. - (avx512f_vextract32x4_1): Split - into ... - (*avx512f_vextract32x4_1, - avx512f_vextract32x4_1_mask): ... these new define_insns. - Even in the masked variant allow memory output but in that case use - 0 rather than 0C constraint on the source of masked-out elts. - (vec_extract_lo_): Split into ... - (vec_extract_lo_, vec_extract_lo__mask): ... these new - define_insns. Even in the masked variant allow memory output but in - that case use 0 rather than 0C constraint on the source of masked-out - elts. - (vec_extract_hi_): Split into ... - (vec_extract_hi_, vec_extract_hi__mask): ... these new - define_insns. Even in the masked variant allow memory output but in - that case use 0 rather than 0C constraint on the source of masked-out - elts. - -2020-05-06 qing zhao - - PR c/94230 - * common.opt: Add -flarge-source-files. - * doc/invoke.texi: Document it. - * toplev.c (process_options): set line_table->default_range_bits - to 0 when flag_large_source_files is true. - -2020-05-06 Uroš Bizjak - - PR target/94913 - * config/i386/predicates.md (add_comparison_operator): New predicate. - * config/i386/i386.md (compare->add splitter): New splitters. - -2020-05-06 Richard Biener - - * tree-vectorizer.h (vect_transform_slp_perm_load): Adjust. - * tree-vect-data-refs.c (vect_slp_analyze_node_dependences): - Remove slp_instance parameter, just iterate over all scalar stmts. - (vect_slp_analyze_instance_dependence): Adjust and likewise. - * tree-vect-slp.c (vect_bb_slp_scalar_cost): Remove unused BB - parameter. - (vect_schedule_slp): Just iterate over all scalar stmts. - (vect_supported_load_permutation_p): Adjust. - (vect_transform_slp_perm_load): Remove slp_instance parameter, - instead use the number of lanes in the node as group size. - * tree-vect-stmts.c (vect_model_load_cost): Get vectorization - factor instead of slp_instance as parameter. - (vectorizable_load): Adjust. - -2020-05-06 Andreas Schwab - - * config/aarch64/driver-aarch64.c: Include "aarch64-protos.h". - (aarch64_get_extension_string_for_isa_flags): Don't declare. - -2020-05-06 Richard Biener - - PR middle-end/94964 - * cfgloopmanip.c (create_preheader): Require non-complex - preheader edge for CP_SIMPLE_PREHEADERS. - -2020-05-06 Richard Biener - - PR tree-optimization/94963 - * tree-ssa-loop-im.c (execute_sm_if_changed): Remove - no-warning marking of the conditional store. - (execute_sm): Instead mark the uninitialized state - on loop entry to be not warned about. - -2020-05-06 Hongtao Liu - - * common/config/i386/i386-common.c (OPTION_MASK_ISA2_TSXLDTRK_SET, - OPTION_MASK_ISA2_TSXLDTRK_UNSET): New macros. - * config.gcc: Add tsxldtrkintrin.h to extra_headers. - * config/i386/driver-i386.c (host_detect_local_cpu): Detect - TSXLDTRK. - * config/i386/i386-builtin.def: Add new builtins. - * config/i386/i386-c.c (ix86_target_macros_internal): Define - __TSXLDTRK__. - * config/i386/i386-options.c (ix86_target_string): Add - -mtsxldtrk. - (ix86_valid_target_attribute_inner_p): Add attribute tsxldtrk. - * config/i386/i386.h (TARGET_TSXLDTRK, TARGET_TSXLDTRK_P): - New. - * config/i386/i386.md (define_c_enum "unspec"): Add - UNSPECV_SUSLDTRK, UNSPECV_RESLDTRK. - (TSXLDTRK): New define_int_iterator. - (""): New define_insn. - * config/i386/i386.opt: Add -mtsxldtrk. - * config/i386/immintrin.h: Include tsxldtrkintrin.h. - * config/i386/tsxldtrkintrin.h: New. - * doc/invoke.texi: Document -mtsxldtrk. - -2020-05-06 Jakub Jelinek - - PR tree-optimization/94921 - * match.pd (~(~X - Y) -> X + Y, ~(~X + Y) -> X - Y): New - simplifications. - -2020-05-06 Richard Biener - - PR tree-optimization/94965 - * tree-vect-stmts.c (vectorizable_load): Fix typo. - -2020-05-06 Rainer Orth - - * doc/install.texi: Replace Sun with Solaris as appropriate. - (Tools/packages necessary for building GCC, Perl version between - 5.6.1 and 5.6.24): Remove Solaris 8 reference. - (Installing GCC: Binaries, Solaris 2 (SPARC, Intel)): Remove - TGCware reference. - (Specific, i?86-*-solaris2*): Update version references for - Solaris 11.3 and later. Remove gas 2.26 caveat. - (Specific, *-*-solaris2*): Update version references for - Solaris 11.3 and later. Remove boehm-gc reference. - Document GMP, MPFR caveats on Solaris 11.3. - (Specific, sparc-sun-solaris2*): Update Solaris 9 references. - (Specific, sparc64-*-solaris2*): Likewise. - Document --build requirement. - -2020-05-06 Jakub Jelinek - - PR target/94950 - * config/riscv/riscv-builtins.c (riscv_atomic_assign_expand_fenv): Use - TARGET_EXPR instead of MODIFY_EXPR for first assignment to old_flags. - - PR rtl-optimization/94873 - * combine.c (combine_instructions): Don't optimize using REG_EQUAL - note if SET_SRC (set) has side-effects. - -2020-05-06 Hongtao Liu - Wei Xiao - - * common/config/i386/i386-common.c (OPTION_MASK_ISA2_SERIALIZE_SET, - OPTION_MASK_ISA2_SERIALIZE_UNSET): New macros. - (ix86_handle_option): Handle -mserialize. - * config.gcc (serializeintrin.h): New header file. - * config/i386/cpuid.h (bit_SERIALIZE): New bit. - * config/i386/driver-i386.c (host_detect_local_cpu): Detect - -mserialize. - * config/i386/i386-builtin.def: Add new builtin. - * config/i386/i386-c.c (__SERIALIZE__): New macro. - * config/i386/i386-options.c (ix86_target_opts_isa2_opts): - Add -mserialize. - * (ix86_valid_target_attribute_inner_p): Add target attribute - * for serialize. - * config/i386/i386.h (TARGET_SERIALIZE, TARGET_SERIALIZE_P): - New macros. - * config/i386/i386.md (UNSPECV_SERIALIZE): New unspec. - (serialize): New define_insn. - * config/i386/i386.opt (mserialize): New option - * config/i386/immintrin.h: Include serailizeintrin.h. - * config/i386/serializeintrin.h: New header file. - * doc/invoke.texi: Add documents for -mserialize. - -2020-05-06 Richard Biener - - * tree-cfg.c (verify_gimple_assign_unary): Adjust integer - to/from pointer conversion checking. - -2020-05-05 Michael Meissner - - * config/rs6000/rs6000-builtin.def: Delete changes meant for a - private branch. - * config/rs6000/rs6000-c.c: Likewise. - * config/rs6000/rs6000-call.c: Likewise. - * config/rs6000/rs6000.c: Likewise. - -2020-05-05 Sebastian Huber - - * config/rtems.h (RTEMS_STARTFILE_SPEC): Define if undefined. - (RTEMS_ENDFILE_SPEC): Likewise. - (STARTFILE_SPEC): Update comment. Add RTEMS_STARTFILE_SPEC. - (ENDFILE_SPEC): Add RTEMS_ENDFILE_SPEC. - (LIB_SPECS): Support -nodefaultlibs option. - * config/or1k/rtems.h (RTEMS_STARTFILE_SPEC): Define. - (RTEMS_ENDFILE_SPEC): Likewise. - * config/rs6000/rtems.h (RTEMS_STARTFILE_SPEC): Likewise. - (RTEMS_ENDFILE_SPEC): Likewise. - * config/v850/rtems.h (RTEMS_STARTFILE_SPEC): Likewise. - (RTEMS_ENDFILE_SPEC): Likewise. - -2020-05-05 Dimitar Dimitrov - - * config/pru/pru.c (pru_hard_regno_call_part_clobbered): Remove. - (TARGET_HARD_REGNO_CALL_PART_CLOBBERED): Remove. - -2020-05-05 Dimitar Dimitrov - - * config/pru/pru.h: Mark R3.w0 as caller saved. - -2020-05-05 Dimitar Dimitrov - - * config/pru/pru.c (pru_emit_doloop): Use new gen_doloop_end_internal - and gen_doloop_begin_internal. - (pru_reorg_loop): Use gen_pruloop with mode. - * config/pru/pru.md: Use new @insn syntax. - -2020-05-05 Dimitar Dimitrov - - * config/pru/pru.c (pru_print_operand): Fix fall through comment. - -2020-05-05 Uroš Bizjak - - * config/i386/i386.md (fixuns_truncsi2): Use - "clobber (scratch:M)" instad of "clobber (match_scratch:M N)". - (addqi3_cconly_overflow): Ditto. - (umulv4): Ditto. - (mul3_highpart): Ditto. - (tls_global_dynamic_32): Ditto. - (tls_local_dynamic_base_32): Ditto. - (atanxf2): Ditto. - (asinxf2): Ditto. - (acosxf2): Ditto. - (logxf2): Ditto. - (log10xf2): Ditto. - (log2xf2): Ditto. - (*adddi_4): Remove "m" constraint from scratch operand. - (*add_4): Ditto. - -2020-05-05 Jakub Jelinek - - PR rtl-optimization/94516 - * postreload.c (reload_cse_simplify): When replacing sp = sp + const - with sp = reg, add REG_EQUAL note with sp + const. - * combine-stack-adj.c (try_apply_stack_adjustment): Change return - type from int to bool. Add LIVE and OTHER_INSN arguments. Undo - postreload sp = sp + const to sp = reg optimization if needed and - possible. - (combine_stack_adjustments_for_block): Add LIVE argument. Handle - reg = sp insn with sp + const REG_EQUAL note. Adjust - try_apply_stack_adjustment caller, call - df_simulate_initialize_forwards and df_simulate_one_insn_forwards. - (combine_stack_adjustments): Allocate and free LIVE bitmap, - adjust combine_stack_adjustments_for_block caller. - -2020-05-05 Martin Liska - - PR gcov-profile/93623 - * tree-cfg.c (stmt_can_terminate_bb_p): Update comment to reflect - reality. - -2020-05-05 Martin Liska - - * opt-functions.awk (opt_args_non_empty): New function. - * opt-read.awk: Use the function for various option arguments. - -2020-05-05 Martin Liska - - PR driver/94330 - * lto-wrapper.c (run_gcc): When using -flto=jobserver, - report warning when the jobserver is not detected. - -2020-05-05 Martin Liska - - PR gcov-profile/94636 - * gcov.c (main): Print total lines summary at the end. - (generate_results): Expect file_name always being non-null. - Print newline after intermediate file is printed in order to align with - what we do for normal files. - -2020-05-05 Martin Liska - - * dumpfile.c (dump_switch_p): Change return type - and print option suggestion. - * dumpfile.h: Change return type. - * opts-global.c (handle_common_deferred_options): - Move error into dump_switch_p function. - -2020-05-05 Martin Liska - - PR c/92472 - * alloc-pool.h: Use const for some arguments. - * bitmap.h: Likewise. - * mem-stats.h: Likewise. - * sese.h (get_entry_bb): Likewise. - (get_exit_bb): Likewise. - -2020-05-05 Richard Biener - - * tree-vect-slp.c (struct vdhs_data): New. - (vect_detect_hybrid_slp): New walker. - (vect_detect_hybrid_slp): Rewrite. - -2020-05-05 Richard Biener - - PR ipa/94947 - * tree-ssa-structalias.c (ipa_pta_execute): Use - varpool_node::externally_visible_p (). - (refered_from_nonlocal_var): Likewise. - -2020-05-05 Eric Botcazou - - * gcc.c (LTO_PLUGIN_SPEC): Define if not already. - (LINK_PLUGIN_SPEC): Execute LTO_PLUGIN_SPEC. - * config/vxworks.h (LTO_PLUGIN_SPEC): Define. - -2020-05-05 Eric Botcazou - - * gimplify.c (gimplify_init_constructor): Do not put the constructor - into static memory if it is not complete. - -2020-05-05 Richard Biener - - PR tree-optimization/94949 - * tree-ssa-loop-im.c (execute_sm): Check whether we use - the multithreaded model or always compute the stored value - before eliding a load. - -2020-05-05 Alex Coplan - - * config/aarch64/aarch64.md (*one_cmpl_zero_extend): New. - -2020-05-05 Jakub Jelinek - - PR tree-optimization/94800 - * match.pd (X + (X << C) to X * (1 + (1 << C)), - (X << C1) + (X << C2) to X * ((1 << C1) + (1 << C2))): New - canonicalizations. - - PR target/94942 - * config/i386/mmx.md (*vec_dupv4hi): Use xYw constraints instead of Yv. - - PR tree-optimization/94914 - * match.pd ((((type)A * B) >> prec) != 0 to .MUL_OVERFLOW(A, B) != 0): - New simplification. - -2020-05-05 Uroš Bizjak - - * config/i386/i386.md (*testqi_ext_3): Use - int_nonimmediate_operand instead of manual mode checks. - (*x86_movcc_0_m1_neg_leu): - Use int_nonimmediate_operand predicate. Rewrite - define_insn_and_split pattern to a combine pass splitter. - -2020-05-05 Rainer Orth - - * configure.ac : Add --32 to tls_as_opt on Solaris. - * configure: Regenerate. - -2020-05-05 Jakub Jelinek - - PR target/94460 - * config/i386/sse.md (avx2_phwv16hi3, - ssse3_phwv8hi3, ssse3_phwv4hi3, - avx2_phdv8si3, ssse3_phdv4si3, - ssse3_phdv2si3): Simplify RTL patterns. - -2020-05-04 Clement Chigot - David Edelsohn - - * config/rs6000/rs6000-call.c (rs6000_init_builtins): Override explicit - for fmodl, frexpl, ldexpl and modfl builtins. - -2020-05-04 Richard Sandiford - - PR middle-end/94941 - * internal-fn.c (expand_load_lanes_optab_fn): Emit a move if the - chosen lhs is different from the gcall lhs. - (expand_mask_load_optab_fn): Likewise. - (expand_gather_load_optab_fn): Likewise. - -2020-05-04 Uroš Bizjak - - PR target/94795 - * config/i386/i386.md (*neg_ccc): New insn pattern. - (EQ compare->LTU compare splitter): New splitter. - (NE compare->NEG splitter): Ditto. - -2020-05-04 Marek Polacek - - Revert: - 2020-04-30 Marek Polacek - - PR c++/94775 - * tree.c (check_base_type): Return true only if TYPE_USER_ALIGN match. - (check_aligned_type): Check if TYPE_USER_ALIGN match. - -2020-05-04 Richard Biener - - PR tree-optimization/93891 - * tree-ssa-sccvn.c (vn_reference_lookup_3): Fall back to - the original reference tree for assessing access alignment. - -2020-05-04 Richard Biener - - PR tree-optimization/39612 - * tree-ssa-loop-im.c (im_mem_ref::loaded): New member. - (set_ref_loaded_in_loop): New. - (mark_ref_loaded): Likewise. - (gather_mem_refs_stmt): Call mark_ref_loaded for loads. - (execute_sm): Avoid issueing a load when it was not there. - (execute_sm_if_changed): Avoid issueing warnings for the - conditional store. - -2020-05-04 Martin Jambor - - PR ipa/93385 - * tree-inline.c (tree_function_versioning): Leave any type conversion - of replacements to setup_one_parameter and its friend - force_value_to_type. - -2020-05-04 Uroš Bizjak - - PR target/94650 - * config/i386/predicates.md (shr_comparison_operator): New predicate. - * config/i386/i386.md (compare->shr splitter): New splitters. - -2020-05-04 Jakub Jelinek - - PR tree-optimization/94718 - * match.pd ((X < 0) != (Y < 0) into (X ^ Y) < 0): New simplification. - - PR tree-optimization/94718 - * match.pd (bitop (convert @0) (convert? @1)): For GIMPLE, if we can, - replace two nop conversions on bit_{and,ior,xor} argument - and result with just one conversion on the result or another argument. - - PR tree-optimization/94718 - * fold-const.c (fold_binary_loc): Move (X & C) eqne (Y & C) - -> (X ^ Y) & C eqne 0 optimization to ... - * match.pd ((X & C) op (Y & C) into (X ^ Y) & C op 0): ... here. - - * opts.c (get_option_html_page): Instead of hardcoding a list of - options common between C/C++ and Fortran only use gfortran/ - documentation for warnings that have CL_Fortran set but not - CL_C or CL_CXX. - -2020-05-03 Uroš Bizjak - - * config/i386/i386-expand.c (ix86_expand_int_movcc): - Use plus_constant instead of gen_rtx_PLUS with GEN_INT. - (emit_memmov): Ditto. - (emit_memset): Ditto. - (ix86_expand_strlensi_unroll_1): Ditto. - (release_scratch_register_on_entry): Ditto. - (gen_frame_set): Ditto. - (ix86_emit_restore_reg_using_pop): Ditto. - (ix86_emit_outlined_ms2sysv_restore): Ditto. - (ix86_expand_epilogue): Ditto. - (ix86_expand_split_stack_prologue): Ditto. - * config/i386/i386.md (push immediate splitter): Ditto. - (strmov): Ditto. - (strset): Ditto. - -2020-05-02 Iain Sandoe - - PR translation/93861 - * config/darwin-driver.c (darwin_driver_init): Adjust spelling in - a warning. - -2020-05-02 Jakub Jelinek - - * config/tilegx/tilegx.md - (insn_stnt_add): Use - rather than just . - -2020-05-01 H.J. Lu - - PR target/93492 - * cfgexpand.c (pass_expand::execute): Set crtl->patch_area_size - and crtl->patch_area_entry. - * emit-rtl.h (rtl_data): Add patch_area_size and patch_area_entry. - * opts.c (common_handle_option): Limit - function_entry_patch_area_size and function_entry_patch_area_start - to USHRT_MAX. Fix a typo in error message. - * varasm.c (assemble_start_function): Use crtl->patch_area_size - and crtl->patch_area_entry. - * doc/invoke.texi: Document the maximum value for - -fpatchable-function-entry. - -2020-05-01 Iain Sandoe - - * config/i386/darwin.h: Repair SUBTARGET_INIT_BUILTINS. - Override SUBTARGET_SHADOW_OFFSET macro. - -2020-05-01 Andreas Tobler - - * config/i386/i386.h: Define a new macro: SUBTARGET_SHADOW_OFFSET. - * config/i386/i386.c (ix86_asan_shadow_offset): Use this macro. - * config/i386/darwin.h: Override the SUBTARGET_SHADOW_OFFSET macro. - * config/i386/freebsd.h: Likewise. - * config/freebsd.h (LIBASAN_EARLY_SPEC): Define. - LIBTSAN_EARLY_SPEC): Likewise. (LIBLSAN_EARLY_SPEC): Likewise. - -2020-04-30 Alexandre Oliva - - * doc/sourcebuild.texi (Effective-Target Keywords): Document - the newly-introduced fileio effective target. - -2020-04-30 Richard Sandiford - - PR rtl-optimization/94740 - * cse.c (cse_process_notes_1): Replace with... - (cse_process_note_1): ...this new function, acting as a - simplify_replace_fn_rtx callback to process_note. Handle only - REGs and MEMs directly. Validate the MEM if cse_process_note - changes its address. - (cse_process_notes): Replace with... - (cse_process_note): ...this new function. - (cse_extended_basic_block): Update accordingly, iterating over - the register notes and passing individual notes to cse_process_note. - -2020-04-30 Carl Love - - * config/rs6000/emmintrin.h (_mm_movemask_epi8): Fix comment. - -2020-04-30 Martin Jambor - - PR ipa/94856 - * cgraph.c (clone_of_p): Also consider thunks whih had their bodies - saved by the inliner and thunks which had their call inlined. - * ipa-inline-transform.c (save_inline_function_body): Fill in - former_clone_of of new body holders. - -2020-04-30 Jakub Jelinek - - * BASE-VER: Set to 11.0.0. - -2020-04-30 Jonathan Wakely - - * pretty-print.c (pp_take_prefix): Fix spelling in comment. - -2020-04-30 Marek Polacek - - PR c++/94775 - * tree.c (check_base_type): Return true only if TYPE_USER_ALIGN match. - (check_aligned_type): Check if TYPE_USER_ALIGN match. - -2020-04-30 Kyrylo Tkachov - - * config/aarch64/aarch64.h (TARGET_OUTLINE_ATOMICS): Define. - * config/aarch64/aarch64.opt (moutline-atomics): Change to Int variable. - * doc/invoke.texi (moutline-atomics): Document as on by default. - -2020-04-30 Szabolcs Nagy - - PR target/94748 - * config/aarch64/aarch64-bti-insert.c (rest_of_insert_bti): Remove - the check for NOTE_INSN_DELETED_LABEL. - -2020-04-30 Jakub Jelinek - - * configure.ac (--with-documentation-root-url, - --with-changes-root-url): Diagnose URL not ending with /, - use AC_DEFINE_UNQUOTED instead of AC_SUBST. - * opts.h (get_changes_url): Remove. - * opts.c (get_changes_url): Remove. - * Makefile.in (CFLAGS-opts.o): Don't add -DDOCUMENTATION_ROOT_URL - or -DCHANGES_ROOT_URL. - * doc/install.texi (--with-documentation-root-url, - --with-changes-root-url): Document. - * config/arm/arm.c (aapcs_vfp_is_call_or_return_candidate): Don't call - get_changes_url and free, change url variable type to const char * and - set it to CHANGES_ROOT_URL "gcc-10/changes.html#empty_base". - * config/s390/s390.c (s390_function_arg_vector, - s390_function_arg_float): Likewise. - * config/aarch64/aarch64.c (aarch64_vfp_is_call_or_return_candidate): - Likewise. - * config/rs6000/rs6000-call.c (rs6000_discover_homogeneous_aggregate): - Likewise. - * config.in: Regenerate. - * configure: Regenerate. - -2020-04-30 Christophe Lyon - - PR target/57002 - * config/arm/arm.c (isr_attribute_args): Remove duplicate entries. - -2020-04-30 Andreas Krebbel - - * config/s390/constraints.md ("j>f", "jb4"): New constraints. - * config/s390/vecintrin.h (vec_load_len_r, vec_store_len_r): Fix - macro definitions. - * config/s390/vx-builtins.md ("vlrlrv16qi", "vstrlrv16qi"): Add a - separate expander. - ("*vlrlrv16qi", "*vstrlrv16qi"): Add alternative for vl/vst. - Change constraint for vlrl/vstrl to jb4. - -2020-04-30 Stefan Schulze Frielinghaus - - * var-tracking.c (vt_initialize): Move variables pre and post - into inner block and initialize both in order to fix warning - about uninitialized use. Remove unnecessary checks for - frame_pointer_needed. - -2020-04-30 Stefan Schulze Frielinghaus - - * toplev.c (output_stack_usage_1): Ensure that first - argument to fprintf is not null. - -2020-04-29 Jakub Jelinek - - * configure.ac (-with-changes-root-url): New configure option, - defaulting to https://gcc.gnu.org/. - * Makefile.in (CFLAGS-opts.o): Define CHANGES_ROOT_URL for - opts.c. - * pretty-print.c (get_end_url_string): New function. - (pp_format): Handle %{ and %} for URLs. - (pp_begin_url): Use pp_string instead of pp_printf. - (pp_end_url): Use get_end_url_string. - * opts.h (get_changes_url): Declare. - * opts.c (get_changes_url): New function. - * config/rs6000/rs6000-call.c: Include opts.h. - (rs6000_discover_homogeneous_aggregate): Use %{in GCC 10.1%} instead - of just in GCC 10.1 in diagnostics and add URL. - * config/arm/arm.c (aapcs_vfp_is_call_or_return_candidate): Likewise. - * config/aarch64/aarch64.c (aarch64_vfp_is_call_or_return_candidate): - Likewise. - * config/s390/s390.c (s390_function_arg_vector, - s390_function_arg_float): Likewise. - * configure: Regenerated. - - PR target/94704 - * config/s390/s390.c (s390_function_arg_vector, - s390_function_arg_float): Use DECL_FIELD_ABI_IGNORED instead of - cxx17_empty_base_field_p. In -Wpsabi diagnostics use the type - passed to the function rather than the type of the single element. - Rename cxx17_empty_base_seen variable to empty_base_seen, change - type to int, and adjust diagnostics depending on if the field - has [[no_unique_attribute]] or not. - - PR target/94832 - * config/i386/avx512bwintrin.h (_mm512_alignr_epi8, - _mm512_mask_alignr_epi8, _mm512_maskz_alignr_epi8): Wrap macro operands - used in casts into parens. - * config/i386/avx512fintrin.h (_mm512_cvt_roundps_ph, _mm512_cvtps_ph, - _mm512_mask_cvt_roundps_ph, _mm512_mask_cvtps_ph, - _mm512_maskz_cvt_roundps_ph, _mm512_maskz_cvtps_ph, - _mm512_mask_cmp_epi64_mask, _mm512_mask_cmp_epi32_mask, - _mm512_mask_cmp_epu64_mask, _mm512_mask_cmp_epu32_mask, - _mm512_mask_cmp_round_pd_mask, _mm512_mask_cmp_round_ps_mask, - _mm512_mask_cmp_pd_mask, _mm512_mask_cmp_ps_mask): Likewise. - * config/i386/avx512vlbwintrin.h (_mm256_mask_alignr_epi8, - _mm256_maskz_alignr_epi8, _mm_mask_alignr_epi8, _mm_maskz_alignr_epi8, - _mm256_mask_cmp_epu8_mask): Likewise. - * config/i386/avx512vlintrin.h (_mm_mask_cvtps_ph, _mm_maskz_cvtps_ph, - _mm256_mask_cvtps_ph, _mm256_maskz_cvtps_ph): Likewise. - * config/i386/f16cintrin.h (_mm_cvtps_ph, _mm256_cvtps_ph): Likewise. - * config/i386/shaintrin.h (_mm_sha1rnds4_epu32): Likewise. - - PR target/94832 - * config/i386/avx2intrin.h (_mm_mask_i32gather_pd, - _mm256_mask_i32gather_pd, _mm_mask_i64gather_pd, - _mm256_mask_i64gather_pd, _mm_mask_i32gather_ps, - _mm256_mask_i32gather_ps, _mm_mask_i64gather_ps, - _mm256_mask_i64gather_ps, _mm_i32gather_epi64, - _mm_mask_i32gather_epi64, _mm256_i32gather_epi64, - _mm256_mask_i32gather_epi64, _mm_i64gather_epi64, - _mm_mask_i64gather_epi64, _mm256_i64gather_epi64, - _mm256_mask_i64gather_epi64, _mm_i32gather_epi32, - _mm_mask_i32gather_epi32, _mm256_i32gather_epi32, - _mm256_mask_i32gather_epi32, _mm_i64gather_epi32, - _mm_mask_i64gather_epi32, _mm256_i64gather_epi32, - _mm256_mask_i64gather_epi32): Surround macro parameter uses with - parens. - (_mm_i32gather_pd, _mm256_i32gather_pd, _mm_i64gather_pd, - _mm256_i64gather_pd, _mm_i32gather_ps, _mm256_i32gather_ps, - _mm_i64gather_ps, _mm256_i64gather_ps): Likewise. Don't use - as mask vector containing -1.0 or -1.0f elts, but instead vector - with all bits set using _mm*_cmpeq_p? with zero operands. - * config/i386/avx512fintrin.h (_mm512_i32gather_ps, - _mm512_mask_i32gather_ps, _mm512_i32gather_pd, - _mm512_mask_i32gather_pd, _mm512_i64gather_ps, - _mm512_mask_i64gather_ps, _mm512_i64gather_pd, - _mm512_mask_i64gather_pd, _mm512_i32gather_epi32, - _mm512_mask_i32gather_epi32, _mm512_i32gather_epi64, - _mm512_mask_i32gather_epi64, _mm512_i64gather_epi32, - _mm512_mask_i64gather_epi32, _mm512_i64gather_epi64, - _mm512_mask_i64gather_epi64, _mm512_i32scatter_ps, - _mm512_mask_i32scatter_ps, _mm512_i32scatter_pd, - _mm512_mask_i32scatter_pd, _mm512_i64scatter_ps, - _mm512_mask_i64scatter_ps, _mm512_i64scatter_pd, - _mm512_mask_i64scatter_pd, _mm512_i32scatter_epi32, - _mm512_mask_i32scatter_epi32, _mm512_i32scatter_epi64, - _mm512_mask_i32scatter_epi64, _mm512_i64scatter_epi32, - _mm512_mask_i64scatter_epi32, _mm512_i64scatter_epi64, - _mm512_mask_i64scatter_epi64): Surround macro parameter uses with - parens. - * config/i386/avx512pfintrin.h (_mm512_prefetch_i32gather_pd, - _mm512_prefetch_i32gather_ps, _mm512_mask_prefetch_i32gather_pd, - _mm512_mask_prefetch_i32gather_ps, _mm512_prefetch_i64gather_pd, - _mm512_prefetch_i64gather_ps, _mm512_mask_prefetch_i64gather_pd, - _mm512_mask_prefetch_i64gather_ps, _mm512_prefetch_i32scatter_pd, - _mm512_prefetch_i32scatter_ps, _mm512_mask_prefetch_i32scatter_pd, - _mm512_mask_prefetch_i32scatter_ps, _mm512_prefetch_i64scatter_pd, - _mm512_prefetch_i64scatter_ps, _mm512_mask_prefetch_i64scatter_pd, - _mm512_mask_prefetch_i64scatter_ps): Likewise. - * config/i386/avx512vlintrin.h (_mm256_mmask_i32gather_ps, - _mm_mmask_i32gather_ps, _mm256_mmask_i32gather_pd, - _mm_mmask_i32gather_pd, _mm256_mmask_i64gather_ps, - _mm_mmask_i64gather_ps, _mm256_mmask_i64gather_pd, - _mm_mmask_i64gather_pd, _mm256_mmask_i32gather_epi32, - _mm_mmask_i32gather_epi32, _mm256_mmask_i32gather_epi64, - _mm_mmask_i32gather_epi64, _mm256_mmask_i64gather_epi32, - _mm_mmask_i64gather_epi32, _mm256_mmask_i64gather_epi64, - _mm_mmask_i64gather_epi64, _mm256_i32scatter_ps, - _mm256_mask_i32scatter_ps, _mm_i32scatter_ps, _mm_mask_i32scatter_ps, - _mm256_i32scatter_pd, _mm256_mask_i32scatter_pd, _mm_i32scatter_pd, - _mm_mask_i32scatter_pd, _mm256_i64scatter_ps, - _mm256_mask_i64scatter_ps, _mm_i64scatter_ps, _mm_mask_i64scatter_ps, - _mm256_i64scatter_pd, _mm256_mask_i64scatter_pd, _mm_i64scatter_pd, - _mm_mask_i64scatter_pd, _mm256_i32scatter_epi32, - _mm256_mask_i32scatter_epi32, _mm_i32scatter_epi32, - _mm_mask_i32scatter_epi32, _mm256_i32scatter_epi64, - _mm256_mask_i32scatter_epi64, _mm_i32scatter_epi64, - _mm_mask_i32scatter_epi64, _mm256_i64scatter_epi32, - _mm256_mask_i64scatter_epi32, _mm_i64scatter_epi32, - _mm_mask_i64scatter_epi32, _mm256_i64scatter_epi64, - _mm256_mask_i64scatter_epi64, _mm_i64scatter_epi64, - _mm_mask_i64scatter_epi64): Likewise. - -2020-04-29 Jeff Law - - * config/h8300/h8300.md (H8/SX div patterns): All H8/SX specific - division instructions are 4 bytes long. - -2020-04-29 Jakub Jelinek - - PR target/94826 - * config/rs6000/rs6000.c (rs6000_atomic_assign_expand_fenv): Use - TARGET_EXPR instead of MODIFY_EXPR for first assignment to - fenv_var, fenv_clear and old_fenv variables. For fenv_addr - take address of TARGET_EXPR of fenv_var with void_node initializer. - Formatting fixes. - -2020-04-29 Stefan Schulze Frielinghaus - - PR tree-optimization/94774 - * gimple-ssa-sprintf.c (try_substitute_return_value): Initialize - variable retval. - -2020-04-29 Richard Sandiford - - * calls.h (cxx17_empty_base_field_p): Turn into a function declaration. - * calls.c (cxx17_empty_base_field_p): New function. Check - DECL_ARTIFICIAL and RECORD_OR_UNION_TYPE_P in addition to the - previous checks. - -2020-04-29 H.J. Lu - - PR target/93654 - * config/i386/i386-options.c (ix86_set_indirect_branch_type): - Allow -fcf-protection with -mindirect-branch=thunk-extern and - -mfunction-return=thunk-extern. - * doc/invoke.texi: Update notes for -fcf-protection=branch with - -mindirect-branch=thunk-extern and -mindirect-return=thunk-extern. - -2020-04-29 Richard Sandiford - - * doc/sourcebuild.texi: Add missing arm_arch_v8a_hard_ok anchor. - -2020-04-29 Richard Sandiford - - * config/arm/arm-builtins.c (arm_atomic_assign_expand_fenv): Use - TARGET_EXPR instead of MODIFY_EXPR for the first assignments to - fenv_var and new_fenv_var. - -2020-04-29 Richard Sandiford - - * doc/sourcebuild.texi (arm_arch_v8a_hard_ok): Document new - effective-target keyword. - (arm_arch_v8a_hard_multilib): Likewise. - (arm_arch_v8a_hard): Document new dg-add-options keyword. - * config/arm/arm.c (arm_return_in_memory): Note that the APCS - code is deprecated and has not been updated to handle - DECL_FIELD_ABI_IGNORED. - (WARN_PSABI_EMPTY_CXX17_BASE): New constant. - (WARN_PSABI_NO_UNIQUE_ADDRESS): Likewise. - (aapcs_vfp_sub_candidate): Replace the boolean pointer parameter - avoid_cxx17_empty_base with a pointer to a bitmask. Ignore fields - whose DECL_FIELD_ABI_IGNORED bit is set when determining whether - something actually is a HFA or HVA. Record whether we see a - [[no_unique_address]] field that previous GCCs would not have - ignored in this way. - (aapcs_vfp_is_call_or_return_candidate): Update the calls to - aapcs_vfp_sub_candidate and report a -Wpsabi warning for the - [[no_unique_address]] case. Use TYPE_MAIN_VARIANT in the - diagnostic messages. - (arm_needs_doubleword_align): Add a comment explaining why we - consider even zero-sized fields. - -2020-04-29 Richard Biener - Li Zekun - - PR lto/94822 - * tree.c (component_ref_size): Guard against error_mark_node - DECL_INITIAL as it happens with LTO. - -2020-04-29 Richard Sandiford - - * config/aarch64/aarch64.c (aarch64_function_arg_alignment): Add a - comment explaining why we consider even zero-sized fields. - (WARN_PSABI_EMPTY_CXX17_BASE): New constant. - (WARN_PSABI_NO_UNIQUE_ADDRESS): Likewise. - (aapcs_vfp_sub_candidate): Replace the boolean pointer parameter - avoid_cxx17_empty_base with a pointer to a bitmask. Ignore fields - whose DECL_FIELD_ABI_IGNORED bit is set when determining whether - something actually is a HFA or HVA. Record whether we see a - [[no_unique_address]] field that previous GCCs would not have - ignored in this way. - (aarch64_vfp_is_call_or_return_candidate): Add a parameter to say - whether diagnostics should be suppressed. Update the calls to - aapcs_vfp_sub_candidate and report a -Wpsabi warning for the - [[no_unique_address]] case. - (aarch64_return_in_msb): Update call accordingly, never silencing - diagnostics. - (aarch64_function_value): Likewise. - (aarch64_return_in_memory_1): Likewise. - (aarch64_init_cumulative_args): Likewise. - (aarch64_gimplify_va_arg_expr): Likewise. - (aarch64_pass_by_reference_1): Take a CUMULATIVE_ARGS pointer and - use it to decide whether arch64_vfp_is_call_or_return_candidate - should be silent. - (aarch64_pass_by_reference): Update calls accordingly. - (aarch64_vfp_is_call_candidate): Use the CUMULATIVE_ARGS argument - to decide whether arch64_vfp_is_call_or_return_candidate should be - silent. - -2020-04-29 Haijian Zhang - - PR target/94820 - * config/aarch64/aarch64-builtins.c - (aarch64_atomic_assign_expand_fenv): Use TARGET_EXPR instead of - MODIFY_EXPR for first assignment to fenv_cr, fenv_sr and - new_fenv_var. - -2020-04-29 Thomas Schwinge - - * configure.ac <$enable_offload_targets>: Do parsing as done - elsewhere. - * configure: Regenerate. - - * configure.ac <$enable_offload_targets>: 'amdgcn' is 'gcn'. - * configure: Regenerate. - - PR target/94279 - * rtlanal.c (set_noop_p): Handle non-constant selectors. - - PR target/94282 - * common/config/gcn/gcn-common.c (gcn_except_unwind_info): New - function. - (TARGET_EXCEPT_UNWIND_INFO): Define. - -2020-04-29 Jakub Jelinek - - PR target/94248 - * config/gcn/gcn.md (*mov_insn): Use - 'reg_overlap_mentioned_p' to check for overlap. - - PR target/94706 - * config/ia64/ia64.c (hfa_element_mode): Use DECL_FIELD_ABI_IGNORED - instead of cxx17_empty_base_field_p. - - PR target/94707 - * tree-core.h (tree_decl_common): Note decl_flag_0 used for - DECL_FIELD_ABI_IGNORED. - * tree.h (DECL_FIELD_ABI_IGNORED): Define. - * calls.h (cxx17_empty_base_field_p): Change into a temporary - macro, check DECL_FIELD_ABI_IGNORED flag with no "no_unique_address" - attribute. - * calls.c (cxx17_empty_base_field_p): Remove. - * tree-streamer-out.c (pack_ts_decl_common_value_fields): Handle - DECL_FIELD_ABI_IGNORED. - * tree-streamer-in.c (unpack_ts_decl_common_value_fields): Likewise. - * lto-streamer-out.c (hash_tree): Likewise. - * config/rs6000/rs6000-call.c (rs6000_aggregate_candidate): Rename - cxx17_empty_base_seen to empty_base_seen, change type to int *, - adjust recursive calls, use DECL_FIELD_ABI_IGNORED instead of - cxx17_empty_base_field_p, if "no_unique_address" attribute is - present, propagate that to the caller too. - (rs6000_discover_homogeneous_aggregate): Adjust - rs6000_aggregate_candidate caller, emit different diagnostics - when c++17 empty base fields are present and when empty - [[no_unique_address]] fields are present. - * config/rs6000/rs6000.c (rs6000_special_round_type_align, - darwin_rs6000_special_round_type_align): Skip DECL_FIELD_ABI_IGNORED - fields. - -2020-04-29 Richard Biener - - * tree-ssa-loop-im.c (ref_always_accessed::operator ()): - Just check whether the stmt stores. - -2020-04-28 Alexandre Oliva - - PR target/94812 - * config/rs6000/rs6000.md (rs6000_mffsl): Copy result to - output operand in emulation. Don't overwrite pseudos. - -2020-04-28 Jeff Law - - * config/h8300/h8300.md (H8/SX mult patterns): All H8/SX specific - multiply patterns are 4 bytes long. - -2020-04-28 Kyrylo Tkachov - - * config/arm/arm-cpus.in (cortex-m55): Remove +nofp option. - * doc/invoke.texi (Arm Options): Remove -mcpu=cortex-m55 from +nofp option. - -2020-04-28 Matthew Malcomson - Jakub Jelinek - - PR target/94711 - * config/arm/arm.c (aapcs_vfp_sub_candidate): Account for C++17 empty - base class artificial fields. - (aapcs_vfp_is_call_or_return_candidate): Warn when PCS ABI - decision is different after this fix. - -2020-04-28 David Malcolm - - PR analyzer/94447 - PR analyzer/94639 - PR analyzer/94732 - PR analyzer/94754 - * doc/invoke.texi (Static Analyzer Options): Remove - -Wanalyzer-use-of-uninitialized-value. - (-Wno-analyzer-use-of-uninitialized-value): Remove item. - -2020-04-28 Jakub Jelinek - - PR tree-optimization/94809 - * tree.c (build_call_expr_internal_loc_array): Call - process_call_operands. - -2020-04-27 Anton Youdkevitch - - * config/aarch64/aarch64-cores.def (thunderx3t110): Add the chip name. - * config/aarch64/aarch64-tune.md: Regenerate. - * config/aarch64/aarch64.c (thunderx3t110_addrcost_table): Define. - (thunderx3t110_regmove_cost): Likewise. - (thunderx3t110_vector_cost): Likewise. - (thunderx3t110_prefetch_tune): Likewise. - (thunderx3t110_tunings): Likewise. - * config/aarch64/aarch64-cost-tables.h (thunderx3t110_extra_costs): - Define. - * config/aarch64/thunderx3t110.md: New file. - * config/aarch64/aarch64.md: Include thunderx3t110.md. - * doc/invoke.texi (AArch64 options): Add thunderx3t110. - -2020-04-28 Jakub Jelinek - - PR target/94704 - * config/s390/s390.c (s390_function_arg_vector, - s390_function_arg_float): Emit -Wpsabi diagnostics if the ABI changed. - -2020-04-28 Richard Sandiford - - PR tree-optimization/94727 - * tree-vect-stmts.c (vect_is_simple_cond): If both comparison - operands are invariant booleans, use the mask type associated with the - STMT_VINFO_VECTYPE. Use !slp_node instead of !vectype to exclude SLP. - (vectorizable_condition): Pass vectype unconditionally to - vect_is_simple_cond. - -2020-04-27 Jakub Jelinek - - PR target/94780 - * config/i386/i386.c (ix86_atomic_assign_expand_fenv): Use - TARGET_EXPR instead of MODIFY_EXPR for first assignment to - sw_var, exceptions_var, mxcsr_orig_var and mxcsr_mod_var. - -2020-04-27 David Malcolm - - PR 92830 - * configure.ac (DOCUMENTATION_ROOT_URL): Drop trailing "gcc/" from - default value, so that it can by supplied by get_option_html_page. - * configure: Regenerate. - * opts.c: Include "selftest.h". - (get_option_html_page): New function. - (get_option_url): Use it. Reformat to place comments next to the - expressions they refer to. - (selftest::test_get_option_html_page): New. - (selftest::opts_c_tests): New. - * selftest-run-tests.c (selftest::run_tests): Call - selftest::opts_c_tests. - * selftest.h (selftest::opts_c_tests): New decl. - -2020-04-27 Richard Sandiford - - * config/arm/arm-builtins.c (arm_expand_builtin_args): Only apply - UINTVAL to CONST_INTs. - -2020-04-27 Srinath Parvathaneni - - * config/arm/constraints.md (e): Remove constraint. - (Te): Define constraint. - * config/arm/mve.md (vaddvq_): Modify constraint in - operand 0 from "e" to "Te". - (vaddvaq_): Likewise. - (vaddvq_p_): Likewise. - (vmladavq_): Likewise. - (vmladavxq_s): Likewise. - (vmlsdavq_s): Likewise. - (vmlsdavxq_s): Likewise. - (vaddvaq_p_): Likewise. - (vmladavaq_): Likewise. - (vmladavq_p_): Likewise. - (vmladavxq_p_s): Likewise. - (vmlsdavq_p_s): Likewise. - (vmlsdavxq_p_s): Likewise. - (vmlsdavaxq_s): Likewise. - (vmlsdavaq_s): Likewise. - (vmladavaxq_s): Likewise. - (vmladavaq_p_): Likewise. - (vmladavaxq_p_s): Likewise. - (vmlsdavaq_p_s): Likewise. - (vmlsdavaxq_p_s): Likewise. - -2020-04-27 Andre Vieira - - * config/arm/arm.c (output_move_neon): Only get the first operand if - addr is PLUS. - -2020-04-27 Felix Yang - - PR tree-optimization/94784 - * tree-ssa-forwprop.c (simplify_vector_constructor): Flip the - assert around so that it checks that the two vectors have equal - TYPE_VECTOR_SUBPARTS and that converting the corresponding element - types is a useless_type_conversion_p. - -2020-04-27 Szabolcs Nagy - - PR target/94515 - * dwarf2cfi.c (struct GTY): Add ra_mangled. - (cfi_row_equal_p): Check ra_mangled. - (dwarf2out_frame_debug_cfa_window_save): Remove the argument, - this only handles the sparc logic now. - (dwarf2out_frame_debug_cfa_toggle_ra_mangle): New function for - the aarch64 specific logic. - (dwarf2out_frame_debug): Update to use the new subroutines. - (change_cfi_row): Check ra_mangled. - -2020-04-27 Jakub Jelinek - - PR target/94704 - * config/s390/s390.c (s390_function_arg_vector, - s390_function_arg_float): Ignore cxx17_empty_base_field_p fields. - -2020-04-27 Jiufu Guo - - * common/config/rs6000/rs6000-common.c - (rs6000_option_optimization_table) [OPT_LEVELS_ALL]: Remove turn off - -fweb. - * config/rs6000/rs6000.c (rs6000_option_override_internal): Avoid to - set flag_web. - -2020-04-27 Martin Liska - - PR lto/94659 - * cgraph.h (cgraph_node::can_remove_if_no_direct_calls_and_refs_p): - Do not remove ifunc_resolvers in remove unreachable nodes in LTO. - -2020-04-27 Xiong Hu Luo - - PR target/91518 - * config/rs6000/rs6000-logue.c (frame_pointer_needed_indeed): - New variable. - (rs6000_emit_prologue_components): - Check with frame_pointer_needed_indeed. - (rs6000_emit_epilogue_components): Likewise. - (rs6000_emit_prologue): Likewise. - (rs6000_emit_epilogue): Set frame_pointer_needed_indeed. - -2020-04-25 David Edelsohn - - * config/rs6000/rs6000-logue.c (rs6000_stack_info): Don't push a - stack frame when debugging and flag_compare_debug is enabled. - -2020-04-25 Michael Meissner - - * config/rs6000/linux64.h (PCREL_SUPPORTED_BY_OS): Define to - enable PC-relative addressing for -mcpu=future. - * config/rs6000/rs6000-cpus.def (ISA_FUTURE_MASKS_SERVER): Move - after OTHER_FUTURE_MASKS. Use OTHER_FUTURE_MASKS. - * config/rs6000/rs6000.c (PCREL_SUPPORTED_BY_OS): If not defined, - suppress PC-relative addressing. - (rs6000_option_override_internal): Split up error messages - checking for -mprefixed and -mpcrel. Enable -mpcrel if the target - system supports it. - -2020-04-25 Jakub Jelinek - Richard Biener - - PR tree-optimization/94734 - PR tree-optimization/89430 - * tree-ssa-phiopt.c: Include tree-eh.h. - (cond_store_replacement): Return false if an automatic variable - access could trap. If -fstore-data-races, don't return false - just because an automatic variable is addressable. - -2020-04-24 Andrew Stubbs - - * config/gcn/gcn-valu.md (add_zext_dup2_exec): Fix merge - of high-part. - (add_sext_dup2_exec): Likewise. - -2020-04-24 Segher Boessenkool - - PR target/94710 - * config/rs6000/vector.md (vec_shr_ for VEC_L): Correct little - endian byteshift_val calculation. - -2020-04-24 Andrew Stubbs - - * config/gcn/gcn.md (*mov_insn): Only split post-reload. - -2020-04-24 Richard Sandiford - - * config/aarch64/arm_sve.h: Add a comment. - -2020-04-24 Haijian Zhang - - PR rtl-optimization/94708 - * combine.c (simplify_if_then_else): Add check for - !HONOR_NANS (mode) && !HONOR_SIGNED_ZEROS (mode). - -2020-04-23 Martin Sebor - - PR driver/90983 - * common.opt (-Wno-frame-larger-than): New option. - (-Wno-larger-than, -Wno-stack-usage): Same. - -2020-04-23 Andrew Stubbs - - * config/gcn/gcn-valu.md (mov_exec): Swap the numbers on operands - 2 and 3. - (mov_exec): Likewise. - (trunc2_exec): Swap parameters to gen_mov_exec. - (2_exec): Likewise. - -2019-04-23 Eric Botcazou - - PR tree-optimization/94717 - * gimple-ssa-store-merging.c (try_coalesce_bswap): Return false if one - of the stores doesn't have the same landing pad number as the first. - (coalesce_immediate_stores): Do not try to coalesce the store using - bswap if it doesn't have the same landing pad number as the first. - -2020-04-23 Bill Schmidt - - * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions): - Replace outdated link to ELFv2 ABI. - -2020-04-23 Jakub Jelinek - - PR target/94710 - * optabs.c (expand_vec_perm_const): For shift_amt const0_rtx - just return v2. - - PR middle-end/94724 - * tree.c (get_narrower): Instead of creating COMPOUND_EXPRs - temporarily with non-final second operand and updating it later, - push COMPOUND_EXPRs into a vector and process it in reverse, - creating COMPOUND_EXPRs with the final operands. - -2020-04-23 Szabolcs Nagy - - PR target/94697 - * config/aarch64/aarch64-bti-insert.c (rest_of_insert_bti): Swap - bti c and bti j handling. - -2020-04-23 Andrew Stubbs - Thomas Schwinge - - PR middle-end/93488 - - * omp-expand.c (expand_omp_target): Use force_gimple_operand_gsi on - t_async and the wait arguments. - -2020-04-23 Richard Sandiford - - PR tree-optimization/94727 - * tree-vect-stmts.c (vectorizable_comparison): Use mask_type when - comparing invariant scalar booleans. - -2020-04-23 Matthew Malcomson - Jakub Jelinek - - PR target/94383 - * config/aarch64/aarch64.c (aapcs_vfp_sub_candidate): Account for C++17 - empty base class artificial fields. - (aarch64_vfp_is_call_or_return_candidate): Warn when ABI PCS decision is - different after this fix. - -2020-04-23 Jakub Jelinek - - PR target/94707 - * config/rs6000/rs6000-call.c (rs6000_discover_homogeneous_aggregate): - Use TYPE_UID (TYPE_MAIN_VARIANT (type)) instead of type to check - if the same type has been diagnosed most recently already. - -2020-04-23 Srinath Parvathaneni - - * config/arm/arm_mve.h (__arm_vbicq_n_u16): Modify function parameter's - datatype. - (__arm_vbicq_n_s16): Likewise. - (__arm_vbicq_n_u32): Likewise. - (__arm_vbicq_n_s32): Likewise. - (__arm_vbicq): Likewise. - (__arm_vbicq_n_s16): Modify MVE polymorphic variant argument's datatype. - (__arm_vbicq_n_s32): Likewise. - (__arm_vbicq_n_u16): Likewise. - (__arm_vbicq_n_u32): Likewise. - (__arm_vdupq_m_n_s8): Likewise. - (__arm_vdupq_m_n_s16): Likewise. - (__arm_vdupq_m_n_s32): Likewise. - (__arm_vdupq_m_n_u8): Likewise. - (__arm_vdupq_m_n_u16): Likewise. - (__arm_vdupq_m_n_u32): Likewise. - (__arm_vdupq_m_n_f16): Likewise. - (__arm_vdupq_m_n_f32): Likewise. - (__arm_vldrhq_gather_offset_s16): Likewise. - (__arm_vldrhq_gather_offset_s32): Likewise. - (__arm_vldrhq_gather_offset_u16): Likewise. - (__arm_vldrhq_gather_offset_u32): Likewise. - (__arm_vldrhq_gather_offset_f16): Likewise. - (__arm_vldrhq_gather_offset_z_s16): Likewise. - (__arm_vldrhq_gather_offset_z_s32): Likewise. - (__arm_vldrhq_gather_offset_z_u16): Likewise. - (__arm_vldrhq_gather_offset_z_u32): Likewise. - (__arm_vldrhq_gather_offset_z_f16): Likewise. - (__arm_vldrhq_gather_shifted_offset_s16): Likewise. - (__arm_vldrhq_gather_shifted_offset_s32): Likewise. - (__arm_vldrhq_gather_shifted_offset_u16): Likewise. - (__arm_vldrhq_gather_shifted_offset_u32): Likewise. - (__arm_vldrhq_gather_shifted_offset_f16): Likewise. - (__arm_vldrhq_gather_shifted_offset_z_s16): Likewise. - (__arm_vldrhq_gather_shifted_offset_z_s32): Likewise. - (__arm_vldrhq_gather_shifted_offset_z_u16): Likewise. - (__arm_vldrhq_gather_shifted_offset_z_u32): Likewise. - (__arm_vldrhq_gather_shifted_offset_z_f16): Likewise. - (__arm_vldrwq_gather_offset_s32): Likewise. - (__arm_vldrwq_gather_offset_u32): Likewise. - (__arm_vldrwq_gather_offset_f32): Likewise. - (__arm_vldrwq_gather_offset_z_s32): Likewise. - (__arm_vldrwq_gather_offset_z_u32): Likewise. - (__arm_vldrwq_gather_offset_z_f32): Likewise. - (__arm_vldrwq_gather_shifted_offset_s32): Likewise. - (__arm_vldrwq_gather_shifted_offset_u32): Likewise. - (__arm_vldrwq_gather_shifted_offset_f32): Likewise. - (__arm_vldrwq_gather_shifted_offset_z_s32): Likewise. - (__arm_vldrwq_gather_shifted_offset_z_u32): Likewise. - (__arm_vldrwq_gather_shifted_offset_z_f32): Likewise. - (__arm_vdwdupq_x_n_u8): Likewise. - (__arm_vdwdupq_x_n_u16): Likewise. - (__arm_vdwdupq_x_n_u32): Likewise. - (__arm_viwdupq_x_n_u8): Likewise. - (__arm_viwdupq_x_n_u16): Likewise. - (__arm_viwdupq_x_n_u32): Likewise. - (__arm_vidupq_x_n_u8): Likewise. - (__arm_vddupq_x_n_u8): Likewise. - (__arm_vidupq_x_n_u16): Likewise. - (__arm_vddupq_x_n_u16): Likewise. - (__arm_vidupq_x_n_u32): Likewise. - (__arm_vddupq_x_n_u32): Likewise. - (__arm_vldrdq_gather_offset_s64): Likewise. - (__arm_vldrdq_gather_offset_u64): Likewise. - (__arm_vldrdq_gather_offset_z_s64): Likewise. - (__arm_vldrdq_gather_offset_z_u64): Likewise. - (__arm_vldrdq_gather_shifted_offset_s64): Likewise. - (__arm_vldrdq_gather_shifted_offset_u64): Likewise. - (__arm_vldrdq_gather_shifted_offset_z_s64): Likewise. - (__arm_vldrdq_gather_shifted_offset_z_u64): Likewise. - (__arm_vidupq_m_n_u8): Likewise. - (__arm_vidupq_m_n_u16): Likewise. - (__arm_vidupq_m_n_u32): Likewise. - (__arm_vddupq_m_n_u8): Likewise. - (__arm_vddupq_m_n_u16): Likewise. - (__arm_vddupq_m_n_u32): Likewise. - (__arm_vidupq_n_u16): Likewise. - (__arm_vidupq_n_u32): Likewise. - (__arm_vidupq_n_u8): Likewise. - (__arm_vddupq_n_u16): Likewise. - (__arm_vddupq_n_u32): Likewise. - (__arm_vddupq_n_u8): Likewise. - -2020-04-23 Iain Buclaw - - * doc/install.texi (D-Specific Options): Document - --enable-libphobos-checking and --with-libphobos-druntime-only. - -2020-04-23 Jakub Jelinek - - PR target/94707 - * config/rs6000/rs6000-call.c (rs6000_aggregate_candidate): Add - cxx17_empty_base_seen argument. Pass it to recursive calls. - Ignore cxx17_empty_base_field_p fields after setting - *cxx17_empty_base_seen to true. - (rs6000_discover_homogeneous_aggregate): Adjust - rs6000_aggregate_candidate caller. With -Wpsabi, diagnose homogeneous - aggregates with C++17 empty base fields. - - PR c/94705 - * attribs.c (decl_attribute): Don't diagnose attribute exclusions - if last_decl is error_mark_node or has such a TREE_TYPE. - - PR c/94705 - * attribs.c (decl_attribute): Don't diagnose attribute exclusions - if last_decl is error_mark_node or has such a TREE_TYPE. - -2020-04-22 Felix Yang - - PR target/94678 - * config/aarch64/aarch64.h (TARGET_SVE): - Add && !TARGET_GENERAL_REGS_ONLY. - (TARGET_SVE2): Add && TARGET_SVE. - (TARGET_SVE2_AES, TARGET_SVE2_BITPERM, TARGET_SVE2_SHA3, - TARGET_SVE2_SM4): Add && TARGET_SVE2. - * config/aarch64/aarch64-sve-builtins.h - (sve_switcher::m_old_general_regs_only): New member. - * config/aarch64/aarch64-sve-builtins.cc (check_required_registers): - New function. - (reported_missing_registers_p): New variable. - (check_required_extensions): Call check_required_registers before - return if all required extenstions are present. - (sve_switcher::sve_switcher): Save TARGET_GENERAL_REGS_ONLY in - m_old_general_regs_only and clear MASK_GENERAL_REGS_ONLY in - global_options.x_target_flags. - (sve_switcher::~sve_switcher): Set MASK_GENERAL_REGS_ONLY in - global_options.x_target_flags if m_old_general_regs_only is true. - -2020-04-22 Zackery Spytz - - * doc/extend.exi: Add "free" to list of other builtin functions - supported by GCC. - -2020-04-20 Aaron Sawdey - - PR target/94622 - * config/rs6000/sync.md (load_quadpti): Add attr "prefixed" - if TARGET_PREFIXED. - (store_quadpti): Ditto. - (atomic_load): Do not swap doublewords if TARGET_PREFIXED as - plq will be used and doesn't need it. - (atomic_store): Ditto, for pstq. - -2020-04-22 Erick Ochoa - - * doc/invoke.texi: Update flags turned on by -O3. - -2020-04-22 Jakub Jelinek - - PR target/94706 - * config/ia64/ia64.c (hfa_element_mode): Ignore - cxx17_empty_base_field_p fields. - - PR target/94383 - * calls.h (cxx17_empty_base_field_p): Declare. - * calls.c (cxx17_empty_base_field_p): Define. - -2020-04-22 Christophe Lyon - - * doc/sourcebuild.texi (arm_softfp_ok, arm_hard_ok): Document. - -2020-04-22 Kyrylo Tkachov - Andre Vieira - Mihail Ionescu - - * config/arm/arm.c (arm_file_start): Handle isa_bit_quirk_no_asmcpu. - * config/arm/arm-cpus.in (quirk_no_asmcpu): Define. - (ALL_QUIRKS): Add quirk_no_asmcpu. - (cortex-m55): Define new cpu. - * config/arm/arm-tables.opt: Regenerate. - * config/arm/arm-tune.md: Likewise. - * doc/invoke.texi (Arm Options): Document -mcpu=cortex-m55. - -2020-04-22 Richard Sandiford - - PR tree-optimization/94700 - * tree-ssa-forwprop.c (simplify_vector_constructor): When processing - an identity constructor, use a VIEW_CONVERT_EXPR to handle mixtures - of similarly-structured but distinct vector types. - -2020-04-21 Martin Sebor - - PR middle-end/94647 - * gimple-ssa-warn-restrict.c (builtin_access::builtin_access): Correct - the computation of the lower bound of the source access size. - (builtin_access::generic_overlap): Remove a hack for setting ranges - of overlap offsets. - -2020-04-21 John David Anglin - - * config/pa/som.h (ASM_WEAKEN_LABEL): Delete. - (ASM_WEAKEN_DECL): New define. - (HAVE_GAS_WEAKREF): Undefine. - -2020-04-21 Richard Sandiford - - PR tree-optimization/94683 - * tree-ssa-forwprop.c (simplify_vector_constructor): Use a - VIEW_CONVERT_EXPR to handle mixtures of similarly-structured - but distinct vector types. - -2020-04-21 Jakub Jelinek - - PR c/94641 - * stor-layout.c (place_field, finalize_record_size): Don't emit - -Wpadded warning on TYPE_ARTIFICIAL rli->t. - * ubsan.c (ubsan_get_type_descriptor_type, - ubsan_get_source_location_type, ubsan_create_data): Set - TYPE_ARTIFICIAL. - * asan.c (asan_global_struct): Likewise. - -2020-04-21 Duan bo - - PR target/94577 - * config/aarch64/aarch64.c: Add an error message for option conflict. - * doc/invoke.texi (-mcmodel=large): Mention that -mcmodel=large is - incompatible with -fpic, -fPIC and -mabi=ilp32. - -2020-04-21 Frederik Harwath - - PR other/94629 - * omp-low.c (new_omp_context): Remove assignments to - ctx->outer_reduction_clauses and ctx->local_reduction_clauses. - -2020-04-20 Andreas Krebbel - - * config/s390/vector.md ("popcountv8hi2_vx", "popcountv4si2_vx") - ("popcountv2di2_vx"): Use simplify_gen_subreg. - -2020-04-20 Andreas Krebbel - - PR target/94613 - * config/s390/s390-builtin-types.def: Add 3 new function modes. - * config/s390/s390-builtins.def: Add mode dependent low-level - builtin and map the overloaded builtins to these. - * config/s390/vx-builtins.md ("vec_selV_HW"): Rename to ... - ("vsel - - * tree-vect-loop.c (vect_better_loop_vinfo_p): If old_loop_vinfo - has a variable VF, prefer new_loop_vinfo if it is cheaper for the - estimated VF and is no worse at double the estimated VF. - -2020-04-20 Richard Sandiford - - PR target/94668 - * config/aarch64/aarch64.c (aarch64_sve_expand_vector_init): Fix - order of arguments to rtx_vector_builder. - (aarch64_sve_expand_vector_init_handle_trailing_constants): Likewise. - When extending the trailing constants to a full vector, replace any - variables with zeros. - -2020-04-20 Jan Hubicka - - PR ipa/94582 - * tree-inline.c (optimize_inline_calls): Recompute calls_comdat_local - flag. - -2020-04-20 Martin Liska - - * symtab.c (symtab_node::dump_references): Add space after - one entry. - (symtab_node::dump_referring): Likewise. - -2020-04-18 Jeff Law - - PR debug/94439 - * regrename.c (check_new_reg_p): Ignore DEBUG_INSNs when walking - the chain. - -2020-04-18 Iain Buclaw - - * doc/sourcebuild.texi (Effective-Target Keywords, Environment - attributes): Document d_runtime_has_std_library. - -2020-04-17 Jeff Law - - PR rtl-optimization/90275 - * cse.c (cse_insn): Avoid recording nop sets in multi-set parallels - when the destination has a REG_UNUSED note. - -2020-04-17 Tobias Burnus - - PR middle-end/94635 - * gimplify.c (gimplify_scan_omp_clauses): Turn MAP_TO_PSET to - MAP_DELETE. - -2020-04-17 Richard Sandiford - - * config/aarch64/aarch64.c (aarch64_advsimd_ldp_stp_p): New function. - (aarch64_sve_adjust_stmt_cost): Add a vectype parameter. Double the - cost of load and store insns if one loop iteration has enough scalar - elements to use an Advanced SIMD LDP or STP. - (aarch64_add_stmt_cost): Update call accordingly. - -2020-04-17 Jakub Jelinek - Jeff Law - - PR target/94567 - * config/i386/i386.md (*testqi_ext_3): Use CCZmode rather than - CCNOmode in ix86_match_ccmode if len is equal to mode precision, - or pos + len >= 32, or pos + len is equal to operands[2] precision - and operands[2] is not a register operand. During splitting perform - SImode AND if operands[0] doesn't have CCZmode and pos + len is - equal to mode precision. - -2020-04-17 Richard Biener - - PR other/94629 - * cgraphclones.c (cgraph_node::create_clone): Remove duplicate - initialization. - * dwarf2out.c (dw_val_equal_p): Fix pasto in - dw_val_class_vms_delta comparison. - * optabs.c (expand_binop_directly): Fix pasto in commutation - check. - * tree-ssa-sccvn.c (vn_reference_lookup_pieces): Fix pasto in - initialization. - -2020-04-17 Jakub Jelinek - - PR rtl-optimization/94618 - * cfgrtl.c (delete_insn_and_edges): Set purge not just when - insn is the BB_END of its block, but also when it is only followed - by DEBUG_INSNs in its block. - - PR tree-optimization/94621 - * tree-inline.c (remap_type_1): Don't dereference NULL TYPE_DOMAIN. - Move id->adjust_array_error_bounds check first in the condition. - -2020-04-17 Martin Liska - Jonathan Yong <10walls@gmail.com> - - PR gcov-profile/94570 - * coverage.c (coverage_init): Use separator properly. - -2020-04-16 Peter Bergner - - PR rtl-optimization/93974 - * config/rs6000/rs6000.c (TARGET_CANNOT_SUBSTITUTE_MEM_EQUIV_P): Define. - (rs6000_cannot_substitute_mem_equiv_p): New function. - -2020-04-16 Martin Jambor - - PR ipa/93621 - * ipa-inline.h (ipa_saved_clone_sources): Declare. - * ipa-inline-transform.c (ipa_saved_clone_sources): New variable. - (save_inline_function_body): Link the new body holder with the - previous one. - * cgraph.c: Include ipa-inline.h. - (cgraph_edge::redirect_call_stmt_to_callee): Try to find the decl from - the statement in ipa_saved_clone_sources. - * cgraphunit.c: Include ipa-inline.h. - (expand_all_functions): Free ipa_saved_clone_sources. - -2020-04-16 Richard Sandiford - - PR target/94606 - * config/aarch64/aarch64.c (aarch64_expand_sve_const_pred_eor): Take - the VNx16BI lowpart of the recursively-generated constant. - -2020-04-16 Martin Liska - Jakub Jelinek - - PR c++/94314 - * cgraphclones.c (set_new_clone_decl_and_node_flags): Drop - DECL_IS_REPLACEABLE_OPERATOR during cloning. - * tree-ssa-dce.c (valid_new_delete_pair_p): New function. - (propagate_necessity): Check operator names. - -2020-04-16 Richard Sandiford - - PR rtl-optimization/94605 - * early-remat.c (early_remat::process_block): Handle insns that - set multiple candidate registers. -2020-04-16 Jan Hubicka - - PR gcov-profile/93401 - * common.opt (profile-prefix-path): New option. - * coverae.c: Include diagnostics.h. - (coverage_init): Strip profile prefix path. - * doc/invoke.texi (-fprofile-prefix-path): Document. - -2020-04-16 Richard Biener - - PR middle-end/94614 - * expr.c (emit_move_multi_word): Do not generate code when - the destination part is undefined_operand_subword_p. - * lower-subreg.c (resolve_clobber): Look through a paradoxica - subreg. - -2020-04-16 Martin Jambor - - PR tree-optimization/94598 - * tree-sra.c (verify_sra_access_forest): Fix verification of total - scalarization accesses under access to one-element arrays. - -2020-04-16 Jakub Jelinek - - PR bootstrap/89494 - * function.c (assign_parm_find_data_types): Add workaround for - BROKEN_VALUE_INITIALIZATION compilers. - -2020-04-16 Richard Biener - - * gdbhooks.py (TreePrinter): Print SSA_NAME_VERSION of SSA_NAME - nodes. - -2020-04-15 Uroš Bizjak - - PR target/94603 - * config/i386/i386-builtin.def (__builtin_ia32_movq128): - Require OPTION_MASK_ISA_SSE2. - -2020-04-15 Gustavo Romero - - PR bootstrap/89494 - * dumpfile.c (selftest::temp_dump_context::temp_dump_context): - Don't construct a dump_context temporary to call static method. - -2020-04-15 Andrea Corallo - - * config/aarch64/falkor-tag-collision-avoidance.c - (valid_src_p): Check for aarch64_address_info type before - accessing base field. - -2020-04-15 Andre Vieira - - * config/arm/mve.md (mve_vec_duplicate): New pattern. - (V_sz_elem2): Remove unused mode attribute. - -2020-04-15 Matthew Malcomson - - * config/arm/arm.md (arm_movdi): Disallow for MVE. - -2020-04-15 Richard Biener - - PR middle-end/94539 - * tree-ssa-alias.c (same_type_for_tbaa): Defer to - alias_sets_conflict_p for pointers. - -2020-04-14 Max Filippov - - PR target/94584 - * config/xtensa/xtensa.md (zero_extendhisi2, zero_extendqisi2) - (extendhisi2_internal): Add %v1 before the load instructions. - -2020-04-14 Aaron Sawdey - - PR target/94542 - * config/rs6000/rs6000.c (address_to_insn_form): Do not attempt to - use PC-relative addressing for TLS references. - -2020-04-14 Martin Jambor - - PR ipa/94434 - * ipa-sra.c: Include internal-fn.h. - (enum isra_scan_context): Update comment. - (scan_function): Treat calls to internal_functions like loads or stores. - -2020-04-14 Yang Yang - - PR tree-optimization/94574 - * tree-ssa.c (non_rewritable_lvalue_p): Add size check when analyzing - whether a vector-insert is rewritable using a BIT_INSERT_EXPR. - -2020-04-14 H.J. Lu - - PR target/94561 - * config/i386/i386.c (ix86_get_ssemov): Remove mode size check. - -2020-04-13 Martin Sebor - - * doc/extend.texi (-Wall): Mention -Wformat-overflow and - -Wformat-truncation. Move -Wzero-length-bounds last. - (-Wrestrict): Document positive form of option enabled by -Wall. - -2020-04-13 Zachary Spytz - - * doc/extend.texi: Add realloc to list of built-in functions - are recognized by the compiler. - -2020-04-13 H.J. Lu - - PR target/94556 - * config/i386/i386.c (ix86_expand_epilogue): Restore the frame - pointer in word_mode for eh_return epilogues. - -2020-04-13 Jozef Lawrynowicz - - * config/msp430/msp430.c (msp430_print_operand): Don't add offsets to - memory references in %B, %C and %D operand selectors when the inner - operand is a post increment address. - -2020-04-13 Jozef Lawrynowicz - - * config/msp430/msp430.c (msp430_print_operand): Offset a %C memory - reference by 4 bytes, and %D memory reference by 6 bytes. - -2020-04-11 Uroš Bizjak - - PR target/94494 - * config/i386/sse.md (REDUC_SSE_SMINMAX_MODE): Use TARGET_SSE2 - condition for V4SI, V8HI and V16QI modes. - -2020-04-11 Jakub Jelinek - - PR debug/94495 - PR target/94551 - * cselib.c (cselib_record_sp_cfa_base_equiv): Set PRESERVED_VALUE_P on - val->val_rtx. - -2020-04-10 Thomas Schwinge - - PR middle-end/89433 - PR middle-end/93465 - * omp-general.c (oacc_verify_routine_clauses): Diagnose if - "#pragma omp declare target" has also been applied. - -2020-04-09 Jozef Lawrynowicz - - * config/msp430/msp430.c (msp430_expand_epilogue): Use emit_jump_insn - when to emit the epilogue_helper insn. - * config/msp430/msp430.md (epilogue_helper): Add a return insn to the - RTL pattern. - -2020-04-09 Jakub Jelinek - - PR debug/94495 - * cselib.h (cselib_record_sp_cfa_base_equiv, - cselib_sp_derived_value_p): Declare. - * cselib.c (cselib_record_sp_cfa_base_equiv, - cselib_sp_derived_value_p): New functions. - * var-tracking.c (add_stores): Don't record MO_VAL_SET for - cselib_sp_derived_value_p values. - (vt_initialize): Call cselib_record_sp_cfa_base_equiv at the - start of extended basic blocks other than the first one - for !frame_pointer_needed functions. - -2020-04-09 Richard Sandiford - - * doc/sourcebuild.texi (aarch64_sve_hw, aarch64_sve128_hw) - (aarch64_sve256_hw, aarch64_sve512_hw, aarch64_sve1024_hw) - (aarch64_sve2048_hw): Document. - * config/aarch64/aarch64-protos.h - (aarch64_sve::handle_arm_sve_vector_bits_attribute): Declare. - * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Define - __ARM_FEATURE_SVE_VECTOR_OPERATIONS when SVE is enabled. - * config/aarch64/aarch64-sve-builtins.cc (matches_type_p): New - function. - (find_type_suffix_for_scalar_type): Use it instead of comparing - TYPE_MAIN_VARIANTs. - (function_resolver::infer_vector_or_tuple_type): Likewise. - (function_resolver::require_vector_type): Likewise. - (handle_arm_sve_vector_bits_attribute): New function. - * config/aarch64/aarch64.c (pure_scalable_type_info): New class. - (aarch64_attribute_table): Add arm_sve_vector_bits. - (aarch64_return_in_memory_1): - (pure_scalable_type_info::piece::get_rtx): New function. - (pure_scalable_type_info::num_zr): Likewise. - (pure_scalable_type_info::num_pr): Likewise. - (pure_scalable_type_info::get_rtx): Likewise. - (pure_scalable_type_info::analyze): Likewise. - (pure_scalable_type_info::analyze_registers): Likewise. - (pure_scalable_type_info::analyze_array): Likewise. - (pure_scalable_type_info::analyze_record): Likewise. - (pure_scalable_type_info::add_piece): Likewise. - (aarch64_some_values_include_pst_objects_p): Likewise. - (aarch64_returns_value_in_sve_regs_p): Use pure_scalable_type_info - to analyze whether the type is returned in SVE registers. - (aarch64_takes_arguments_in_sve_regs_p): Likwise whether the type - is passed in SVE registers. - (aarch64_pass_by_reference_1): New function, extracted from... - (aarch64_pass_by_reference): ...here. Use pure_scalable_type_info - to analyze whether the type is a pure scalable type and, if so, - whether it should be passed by reference. - (aarch64_return_in_msb): Return false for pure scalable types. - (aarch64_function_value_1): Fold back into... - (aarch64_function_value): ...this function. Use - pure_scalable_type_info to analyze whether the type is a pure - scalable type and, if so, which registers it should use. Handle - types that include pure scalable types but are not themselves - pure scalable types. - (aarch64_return_in_memory_1): New function, split out from... - (aarch64_return_in_memory): ...here. Use pure_scalable_type_info - to analyze whether the type is a pure scalable type and, if so, - whether it should be returned by reference. - (aarch64_layout_arg): Remove orig_mode argument. Use - pure_scalable_type_info to analyze whether the type is a pure - scalable type and, if so, which registers it should use. Handle - types that include pure scalable types but are not themselves - pure scalable types. - (aarch64_function_arg): Update call accordingly. - (aarch64_function_arg_advance): Likewise. - (aarch64_pad_reg_upward): On big-endian targets, return false for - pure scalable types that are smaller than 16 bytes. - (aarch64_member_type_forces_blk): New function. - (aapcs_vfp_sub_candidate): Exit early for built-in SVE types. - (aarch64_short_vector_p): Return false for VECTOR_TYPEs that - correspond to built-in SVE types. Do not rely on a vector mode - if the type includes an pure scalable type. When returning true, - assert that the mode is not an SVE mode. - (aarch64_vfp_is_call_or_return_candidate): Do not check for SVE - built-in types here. When returning true, assert that the type - does not have an SVE mode. - (aarch64_can_change_mode_class): Don't allow anything to change - between a predicate mode and a non-predicate mode. Also don't - allow changes between SVE vector modes and other modes that - might be bigger than 128 bits. - (aarch64_invalid_binary_op): Reject binary operations that mix - SVE and GNU vector types. - (TARGET_MEMBER_TYPE_FORCES_BLK): Define. - -2020-04-09 Richard Sandiford - - * config/aarch64/aarch64.c (aarch64_attribute_table): Add - "SVE sizeless type". - * config/aarch64/aarch64-sve-builtins.cc (make_type_sizeless) - (sizeless_type_p): New functions. - (register_builtin_types): Apply make_type_sizeless to the type. - (register_tuple_type): Likewise. - (verify_type_context): Use sizeless_type_p instead of builin_type_p. - -2020-04-09 Matthew Malcomson - - * config/arm/arm_cde.h: Remove `extern "C"` when compiling for - C++. - -2020-04-09 Martin Jambor - Richard Biener - - PR tree-optimization/94482 - * tree-sra.c (create_access_replacement): Dump new replacement with - TDF_UID. - (sra_modify_expr): Fix handling of cases when the original EXPR writes - to only part of the replacement. - * tree-ssa-forwprop.c (pass_forwprop::execute): Properly verify - the first operand of combinations into REAL/IMAGPART_EXPR and - BIT_FIELD_REF. - -2020-04-09 Richard Sandiford - - * doc/sourcebuild.texi (check-function-bodies): Treat the third - parameter as a list of option regexps and require each regexp - to match. - -2020-04-09 Andrea Corallo - - PR target/94530 - * config/aarch64/falkor-tag-collision-avoidance.c - (valid_src_p): Fix missing rtx type check. - -2020-04-09 Bin Cheng - Richard Biener - - PR tree-optimization/93674 - * tree-ssa-loop-ivopts.c (langhooks.h): New include. - (add_iv_candidate_for_use): For iv_use of non integer or pointer type, - or non-mode precision type, add candidate in unsigned type with the - same precision. - -2020-04-08 Clement Chigot - - * config/rs6000/aix61.h (LIB_SPEC): Add -lc128 with -mlong-double-128. - * config/rs6000/aix71.h (LIB_SPEC): Likewise. - * config/rs6000/aix72.h (LIB_SPEC): Likewise. - -2020-04-08 Jakub Jelinek - - PR middle-end/94526 - * cselib.c (autoinc_split): Handle e->val_rtx being SP_DERIVED_VALUE_P - with zero offset. - * reload1.c (eliminate_regs_1): Avoid creating - (plus (reg) (const_int 0)) in DEBUG_INSNs. - - PR tree-optimization/94524 - * tree-vect-generic.c (expand_vector_divmod): If any elt of op1 is - negative for signed TRUNC_MOD_EXPR, multiply with absolute value of - op1 rather than op1 itself at the end. Punt for signed modulo by - most negative constant. - * tree-vect-patterns.c (vect_recog_divmod_pattern): Punt for signed - modulo by most negative constant. - -2020-04-08 Richard Biener - - PR rtl-optimization/93946 - * cse.c (cse_insn): Record the tabled expression in - src_related. Verify a redundant store removal is valid. - -2020-04-08 H.J. Lu - - PR target/94417 - * config/i386/i386-features.c (rest_of_insert_endbranch): Insert - ENDBR at function entry if function will be called indirectly. - -2020-04-08 Jakub Jelinek - - PR target/94438 - * config/i386/i386.c (ix86_get_mask_mode): Only use int mask for elem_size - 1, 2, 4 and 8. - -2020-04-08 Martin Liska - - PR c++/94314 - * gimple.c (gimple_call_operator_delete_p): Rename to... - (gimple_call_replaceable_operator_delete_p): ... this. - Use DECL_IS_REPLACEABLE_OPERATOR_DELETE_P. - * gimple.h (gimple_call_operator_delete_p): Rename to ... - (gimple_call_replaceable_operator_delete_p): ... this. - * tree-core.h (tree_function_decl): Add replaceable_operator - flag. - * tree-ssa-dce.c (mark_all_reaching_defs_necessary_1): - Use DECL_IS_REPLACEABLE_OPERATOR_DELETE_P. - (propagate_necessity): Use gimple_call_replaceable_operator_delete_p. - (eliminate_unnecessary_stmts): Likewise. - * tree-streamer-in.c (unpack_ts_function_decl_value_fields): - Pack DECL_IS_REPLACEABLE_OPERATOR. - * tree-streamer-out.c (pack_ts_function_decl_value_fields): - Unpack the field here. - * tree.h (DECL_IS_REPLACEABLE_OPERATOR): New. - (DECL_IS_REPLACEABLE_OPERATOR_NEW_P): New. - (DECL_IS_REPLACEABLE_OPERATOR_DELETE_P): New. - * cgraph.c (cgraph_node::dump): Dump if an operator is replaceable. - * ipa-icf.c (sem_item::compare_referenced_symbol_properties): Compare - replaceable operator flags. - -2020-04-08 Dennis Zhang - Matthew Malcomson - - * config/arm/arm-builtins.c (CX_IMM_QUALIFIERS): New macro. - (CX_UNARY_QUALIFIERS, CX_BINARY_QUALIFIERS): Likewise. - (CX_TERNARY_QUALIFIERS): Likewise. - (ARM_BUILTIN_CDE_PATTERN_START): Likewise. - (ARM_BUILTIN_CDE_PATTERN_END): Likewise. - (arm_init_acle_builtins): Initialize CDE builtins. - (arm_expand_acle_builtin): Check CDE constant operands. - * config/arm/arm.h (ARM_CDE_CONST_COPROC): New macro to set the range - of CDE constant operand. - * config/arm/arm.c (arm_hard_regno_mode_ok): Support DImode for - TARGET_VFP_BASE. - (ARM_VCDE_CONST_1, ARM_VCDE_CONST_2, ARM_VCDE_CONST_3): Likewise. - * config/arm/arm_cde.h (__arm_vcx1_u32): New macro of ACLE interface. - (__arm_vcx1a_u32, __arm_vcx2_u32, __arm_vcx2a_u32): Likewise. - (__arm_vcx3_u32, __arm_vcx3a_u32, __arm_vcx1d_u64): Likewise. - (__arm_vcx1da_u64, __arm_vcx2d_u64, __arm_vcx2da_u64): Likewise. - (__arm_vcx3d_u64, __arm_vcx3da_u64): Likewise. - * config/arm/arm_cde_builtins.def: New file. - * config/arm/iterators.md (V_reg): New attribute of SI. - * config/arm/predicates.md (const_int_coproc_operand): New. - (const_int_vcde1_operand, const_int_vcde2_operand): New. - (const_int_vcde3_operand): New. - * config/arm/unspecs.md (UNSPEC_VCDE, UNSPEC_VCDEA): New. - * config/arm/vfp.md (arm_vcx1): New entry. - (arm_vcx1a, arm_vcx2, arm_vcx2a): Likewise. - (arm_vcx3, arm_vcx3a): Likewise. - -2020-04-08 Dennis Zhang - - * config.gcc: Add arm_cde.h. - * config/arm/arm-c.c (arm_cpu_builtins): Define or undefine - __ARM_FEATURE_CDE and __ARM_FEATURE_CDE_COPROC. - * config/arm/arm-cpus.in (cdecp0, cdecp1, ..., cdecp7): New options. - * config/arm/arm.c (arm_option_reconfigure_globals): Configure - arm_arch_cde and arm_arch_cde_coproc to store the feature bits. - * config/arm/arm.h (TARGET_CDE): New macro. - * config/arm/arm_cde.h: New file. - * doc/invoke.texi: Document CDE options +cdecp[0-7]. - * doc/sourcebuild.texi (arm_v8m_main_cde_ok): Document new target - supports option. - (arm_v8m_main_cde_fp, arm_v8_1m_main_cde_mve): Likewise. - -2020-04-08 Jakub Jelinek - - PR rtl-optimization/94516 - * postreload.c: Include rtl-iter.h. - (reload_cse_move2add): Handle SP autoinc here by FOR_EACH_SUBRTX_VAR - looking for all MEMs with RTX_AUTOINC operand. - (move2add_note_store): Remove {PRE,POST}_{INC,DEC} handling. - -2020-04-08 Tobias Burnus - - * omp-grid.c (grid_eliminate_combined_simd_part): Use - OMP_CLAUSE_CODE to access the omp clause code. - -2020-04-07 Jeff Law - - PR rtl-optimization/92264 - * config/h8300/h8300.md (mov;add peephole2): Avoid applying when - the destination is the stack pointer. - -2020-04-07 Jakub Jelinek - - PR rtl-optimization/94291 - PR rtl-optimization/84169 - * combine.c (try_combine): For split_i2i3, don't assume SET_DEST - must be a REG or SUBREG of REG; if it is not one of these, don't - update LOG_LINKs. - -2020-04-07 Richard Biener - - PR middle-end/94479 - * gimplify.c (gimplify_addr_expr): Also consider generated - MEM_REFs. - -2020-04-07 Andre Vieira - - * config/arm/arm_mve.h: Add C++ polymorphism and fix preserve MACROs. - -2020-04-07 Andre Vieira - - * config/arm/arm_mve.h: Cast some pointers to expected types. - -2020-04-07 Andre Vieira - - * config/arm/arm_mve.h: Replace all uses of vuninitializedq_* with the - same with '__arm_' prefix. - -2020-04-07 Andre Vieira - - * config/arm/mve.md (mve_vec_extract*): Allow memory operands in set. - -2020-04-07 Andre Vieira - - * config/arm/arm.c (arm_mve_immediate_check): Removed. - * config/arm/mve.md (MVE_pred2, MVE_constraint2): Added FP types. - (mve_vcvtq_n_to_f_*, mve_vcvtq_n_from_f_*, mve_vqshrnbq_n_*, - mve_vqshrntq_n_*, mve_vqshrunbq_n_s*, mve_vqshruntq_n_s*, - mve_vcvtq_m_n_from_f_*, mve_vcvtq_m_n_to_f_*, mve_vqshrnbq_m_n_*, - mve_vqrshruntq_m_n_s*, mve_vqshrunbq_m_n_s*, - mve_vqshruntq_m_n_s*): Fixed immediate constraints. - -2020-04-07 Andre Vieira - - * config/arm/arm.d (ashldi3): Don't use lsll for constant 32-bit shifts. - -2020-04-07 Andre Vieira - - * config/arm/arm_mve.h: Fix v[id]wdup intrinsics. - * config/arm/mve/md: Fix v[id]wdup patterns. - -2020-04-07 Andre Vieira - - * config/arm/arm.c (output_move_neon): Deal with label + offset cases. - * config/arm/mve.md (*mve_mov): Handle const vectors. - -2020-04-07 Andre Vieira - - * config/arm/arm_mve.h: Remove use of typeof for addr pointer parameters - and remove const_ptr enums. - -2020-04-07 Andre Vieira - - * config/arm/arm_mve.h (vsubq_n): Merge with... - (vsubq): ... this. - (vmulq_n): Merge with... - (vmulq): ... this. - (__ARM_mve_typeid): Simplify scalar and constant detection. - -2020-04-07 Jakub Jelinek - - PR target/94509 - * config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix the check - for inter-lane permutation for 64-byte modes. - - PR target/94488 - * config/aarch64/aarch64-simd.md (ashl3, lshr3, - ashr3): Force operands[2] into reg whenever it is not CONST_INT. - Assume it is a REG after that instead of testing it and doing FAIL - otherwise. Formatting fix. - -2020-04-07 Sebastian Huber - - * config/rs6000/t-rtems: Delete mcpu=8540 multilib. - -2020-04-07 Jakub Jelinek - - PR target/94500 - * config/i386/i386-expand.c (emit_reduc_half): For V{64QI,32HI}mode - handle i < 64 using avx512bw_lshrv4ti3. Formatting fixes. - -2020-04-06 Jakub Jelinek - - * cselib.c (cselib_subst_to_values): For SP_DERIVED_VALUE_P - + const0_rtx return the SP_DERIVED_VALUE_P. - -2020-04-06 Richard Sandiford - - PR rtl-optimization/92989 - * lra-lives.c (process_bb_lives): Do not treat eh_return data - registers as being live at the beginning of the EH receiver. - -2020-04-05 Zachary Spytz - - * extend.texi: Add free to list of ISO C90 functions that - are recognized by the compiler. - -2020-04-05 Nagaraju Mekala - - * config/microblaze/microblaze.c (microblaze_must_save_register): Check - for fast_interrupt. - - * config/microblaze/microblaze.md (trap): Update output pattern. - -2020-04-04 Hannes Domani - Jakub Jelinek - - PR debug/94459 - * dwarf2out.c (gen_subprogram_die): Look through references, pointers, - arrays, pointer-to-members, function types and qualifiers when - checking if in-class DIE had an 'auto' or 'decltype(auto)' return type - to emit type again on definition. - -2020-04-04 Jan Hubicka - - PR ipa/93940 - * ipa-fnsummary.c (vrp_will_run_p): New function. - (fre_will_run_p): New function. - (evaluate_properties_for_edge): Use it. - * ipa-inline.c (can_inline_edge_by_limits_p): Do not inline - !optimize_debug to optimize_debug. - -2020-04-04 Jakub Jelinek - - PR rtl-optimization/94468 - * cselib.c (references_value_p): Formatting fix. - (cselib_useless_value_p): New function. - (discard_useless_locs, discard_useless_values, - cselib_invalidate_regno_val, cselib_invalidate_mem, - cselib_record_set): Use it instead of - v->locs == 0 && !PRESERVED_VALUE_P (v->val_rtx). - - PR debug/94441 - * tree-iterator.h (expr_single): Declare. - * tree-iterator.c (expr_single): New function. - * tree.h (protected_set_expr_location_if_unset): Declare. - * tree.c (protected_set_expr_location): Use expr_single. - (protected_set_expr_location_if_unset): New function. - -2020-04-03 Jeff Law - - PR rtl-optimization/92264 - * config/stormy16/stormy16.c (xstormy16_preferred_reload_class): Handle - reloading of auto-increment addressing modes. - -2020-04-03 H.J. Lu - - PR target/94467 - * config/i386/sse.md (ssse3_pshufbv8qi3): Mark scratch operand - as earlyclobber. - -2020-04-03 Jeff Law - - PR rtl-optimization/92264 - * config/m32r/m32r.c (m32r_output_block_move): Properly account for - post-increment addressing of source operands as well as residuals - when computing any adjustments to the input pointer. - -2020-04-03 Jakub Jelinek - - PR target/94460 - * config/i386/sse.md (avx2_phwv16hi3, - avx2_phdv8si3): Fix up RTL pattern to do - second half of first lane from first lane of second operand and - first half of second lane from second lane of first operand. - -2020-04-03 Andre Vieira - - * config/arm/arm_mve.h: Condition the header file on __ARM_FEATURE_MVE. - -2020-04-03 Tamar Christina - - PR target/94396 - * common/config/aarch64/aarch64-common.c - (aarch64_get_extension_string_for_isa_flags): Handle default flags. - -2020-04-03 Richard Biener - - PR middle-end/94465 - * tree.c (array_ref_low_bound): Deal with released SSA names - in index position. - -2020-04-03 Kwok Cheung Yeung - - * config/gcn/gcn.c (print_operand): Handle unordered comparison - operators. - * config/gcn/predicates.md (gcn_fp_compare_operator): Add unordered - comparison operators. - -2020-04-03 Kewen Lin - - PR tree-optimization/94443 - * tree-vect-loop.c (vectorizable_live_operation): Use - gsi_insert_seq_before to replace gsi_insert_before. - -2020-04-03 Martin Liska - - PR ipa/94445 - * ipa-icf-gimple.c (func_checker::compare_gimple_call): - Compare type attributes for gimple_call_fntypes. - -2020-04-02 Sandra Loosemore - - * alias.c (get_alias_set): Fix comment typos. - -2020-04-02 Fritz Reese - - PR fortran/85982 - * fortran/decl.c (match_attr_spec): Lump COMP_STRUCTURE/COMP_MAP into - attribute checking used by TYPE. - -2020-04-02 Martin Jambor - - PR ipa/92676 - * ipa-sra.c (struct caller_issues): New fields candidate and - call_from_outside_comdat. - (check_for_caller_issues): Check for calls from outsied of - candidate's same_comdat_group. - (check_all_callers_for_issues): Set up issues.candidate, check result - of the new check. - (mark_callers_calls_comdat_local): New function. - (process_isra_node_results): Set calls_comdat_local of callers if - appropriate. - -2020-04-02 Richard Biener - - PR c/94392 - * common.opt (ffinite-loops): Initialize to zero. - * opts.c (default_options_table): Remove OPT_ffinite_loops - entry. - * cfgloop.h (loop::finite_p): New member. - * cfgloopmanip.c (copy_loop_info): Copy finite_p. - * ipa-icf-gimple.c (func_checker::compare_loops): Compare - finite_p. - * lto-streamer-in.c (input_cfg): Stream finite_p. - * lto-streamer-out.c (output_cfg): Likewise. - * tree-cfg.c (replace_loop_annotate): Initialize finite_p - from flag_finite_loops at CFG build time. - * tree-ssa-loop-niter.c (finite_loop_p): Check the loops - finite_p flag instead of flag_finite_loops. - * doc/invoke.texi (ffinite-loops): Adjust documentation of - default setting. - -2020-04-02 Richard Biener - - PR debug/94450 - * dwarf2out.c (dwarf2out_early_finish): Remove code emitting - DW_TAG_imported_unit. - -2020-04-02 Maciej W. Rozycki - - * doc/install.texi (Specific) - : Update binutils requirement to - 2.30. - -2020-04-02 Kewen Lin - - PR tree-optimization/94401 - * tree-vect-loop.c (vectorizable_load): Handle VMAT_CONTIGUOUS_REVERSE - access type when loading halves of vector to avoid peeling for gaps. - -2020-04-02 Jakub Jelinek - - * config/mips/mti-linux.h (SYSROOT_SUFFIX_SPEC): Add a space in - between a string literal and MIPS_SYSVERSION_SPEC macro. - -2020-04-02 Martin Jambor - - * doc/invoke.texi (Optimize Options): Document sra-max-propagations. - -2020-04-02 Jakub Jelinek - - PR rtl-optimization/92264 - * params.opt (-param=max-find-base-term-values=): Decrease default - from 2000 to 200. - - PR rtl-optimization/92264 - * rtl.h (struct rtx_def): Mention that call bit is used as - SP_DERIVED_VALUE_P in cselib.c. - * cselib.c (SP_DERIVED_VALUE_P): Define. - (PRESERVED_VALUE_P, SP_BASED_VALUE_P): Move definitions earlier. - (cselib_hasher::equal): Handle equality between SP_DERIVED_VALUE_P - val_rtx and sp based expression where offsets cancel each other. - (preserve_constants_and_equivs): Formatting fix. - (cselib_reset_table): Add reverse op loc to SP_DERIVED_VALUE_P - locs list for cfa_base_preserved_val if needed. Formatting fix. - (autoinc_split): If the to be returned value is a REG, MEM or - VALUE which has SP_DERIVED_VALUE_P + CONST_INT as one of its - locs, return the SP_DERIVED_VALUE_P VALUE and adjust *off. - (rtx_equal_for_cselib_1): Call autoinc_split even if both - expressions are PLUS in Pmode with CONST_INT second operands. - Handle SP_DERIVED_VALUE_P cases. - (cselib_hash_plus_const_int): New function. - (cselib_hash_rtx): Use it for PLUS in Pmode with CONST_INT - second operand, as well as for PRE_DEC etc. that ought to be - hashed the same way. - (cselib_subst_to_values): Substitute PLUS with Pmode and - CONST_INT operand if the first operand is a VALUE which has - SP_DERIVED_VALUE_P + CONST_INT as one of its locs for the - SP_DERIVED_VALUE_P + adjusted offset. - (cselib_lookup_1): When creating a new VALUE for stack_pointer_rtx, - set SP_DERIVED_VALUE_P on it. Set PRESERVED_VALUE_P when adding - SP_DERIVED_VALUE_P PRESERVED_VALUE_P subseted VALUE location. - * var-tracking.c (vt_initialize): Call cselib_add_permanent_equiv - on the sp value before calling cselib_add_permanent_equiv on the - cfa_base value. - * dse.c (check_for_inc_dec_1, check_for_inc_dec): Punt on RTX_AUTOINC - in the insn without REG_INC note. - (replace_read): Punt on RTX_AUTOINC in the *loc being replaced. - Punt on invalid insns added by copy_to_mode_reg. Formatting fixes. - - PR target/94435 - * config/aarch64/aarch64.c (aarch64_gen_compare_reg_maybe_ze): For - y_mode E_[QH]Imode and y being a CONST_INT, change y_mode to SImode. - -2020-04-02 Srinath Parvathaneni - - PR target/94317 - * config/arm/arm-builtins.c (LDRGBWBXU_QUALIFIERS): Define. - (LDRGBWBXU_Z_QUALIFIERS): Likewise. - * config/arm/arm_mve.h (__arm_vldrdq_gather_base_wb_s64): Modify - intrinsic defintion by adding a new builtin call to writeback into base - address. - (__arm_vldrdq_gather_base_wb_u64): Likewise. - (__arm_vldrdq_gather_base_wb_z_s64): Likewise. - (__arm_vldrdq_gather_base_wb_z_u64): Likewise. - (__arm_vldrwq_gather_base_wb_s32): Likewise. - (__arm_vldrwq_gather_base_wb_u32): Likewise. - (__arm_vldrwq_gather_base_wb_z_s32): Likewise. - (__arm_vldrwq_gather_base_wb_z_u32): Likewise. - (__arm_vldrwq_gather_base_wb_f32): Likewise. - (__arm_vldrwq_gather_base_wb_z_f32): Likewise. - * config/arm/arm_mve_builtins.def (vldrwq_gather_base_wb_z_u): Modify - builtin's qualifier. - (vldrdq_gather_base_wb_z_u): Likewise. - (vldrwq_gather_base_wb_u): Likewise. - (vldrdq_gather_base_wb_u): Likewise. - (vldrwq_gather_base_wb_z_s): Likewise. - (vldrwq_gather_base_wb_z_f): Likewise. - (vldrdq_gather_base_wb_z_s): Likewise. - (vldrwq_gather_base_wb_s): Likewise. - (vldrwq_gather_base_wb_f): Likewise. - (vldrdq_gather_base_wb_s): Likewise. - (vldrwq_gather_base_nowb_z_u): Define builtin. - (vldrdq_gather_base_nowb_z_u): Likewise. - (vldrwq_gather_base_nowb_u): Likewise. - (vldrdq_gather_base_nowb_u): Likewise. - (vldrwq_gather_base_nowb_z_s): Likewise. - (vldrwq_gather_base_nowb_z_f): Likewise. - (vldrdq_gather_base_nowb_z_s): Likewise. - (vldrwq_gather_base_nowb_s): Likewise. - (vldrwq_gather_base_nowb_f): Likewise. - (vldrdq_gather_base_nowb_s): Likewise. - * config/arm/mve.md (mve_vldrwq_gather_base_nowb_v4si): Define RTL - pattern. - (mve_vldrwq_gather_base_wb_v4si): Modify RTL pattern. - (mve_vldrwq_gather_base_nowb_z_v4si): Define RTL pattern. - (mve_vldrwq_gather_base_wb_z_v4si): Modify RTL pattern. - (mve_vldrwq_gather_base_wb_fv4sf): Modify RTL pattern. - (mve_vldrwq_gather_base_nowb_fv4sf): Define RTL pattern. - (mve_vldrwq_gather_base_wb_z_fv4sf): Modify RTL pattern. - (mve_vldrwq_gather_base_nowb_z_fv4sf): Define RTL pattern. - (mve_vldrdq_gather_base_nowb_v4di): Define RTL pattern. - (mve_vldrdq_gather_base_wb_v4di): Modify RTL pattern. - (mve_vldrdq_gather_base_nowb_z_v4di): Define RTL pattern. - (mve_vldrdq_gather_base_wb_z_v4di): Modify RTL pattern. - -2020-04-02 Andreas Krebbel - - * config/s390/vector.md ("add3", "mul3") - ("and3", "notand3", "ior3", "ior_not3") - ("xor3", "notxor3", "smin3", "smax3") - ("umin3", "umax3", "vec_widen_smult_even_") - ("vec_widen_umult_even_", "vec_widen_smult_odd_") - ("vec_widen_umult_odd_", "add3", "sub3") - ("mul3", "fma4", "fms4", "neg_fma4") - ("neg_fms4", "*smax3_vxe", "*smaxv2df3_vx") - ("*smin3_vxe", "*sminv2df3_vx"): Remove % constraint - modifier. - ("vec_widen_umult_lo_", "vec_widen_umult_hi_") - ("vec_widen_smult_lo_", "vec_widen_smult_hi_"): - Remove constraints from expander. - * config/s390/vx-builtins.md ("vacc_", "vacq") - ("vacccq", "vec_avg", "vec_avgu", "vec_vmal") - ("vec_vmah", "vec_vmalh", "vec_vmae") - ("vec_vmale", "vec_vmao", "vec_vmalo") - ("vec_smulh", "vec_umulh", "vec_nor3") - ("vfmin", "vfmax"): Remove % constraint modifier. - -2020-04-01 Peter Bergner - - PR rtl-optimization/94123 - * lower-subreg.c (pass_lower_subreg3::gate): Remove test for - flag_split_wide_types_early. - -2020-04-01 Joerg Sonnenberger - - * doc/extend.texi (Common Function Attributes): Fix typo. - -2020-04-01 Segher Boessenkool - - PR target/94420 - * config/rs6000/rs6000.md (*tocref for P): Add insn condition - on operands[1]. - -2020-04-01 Zackery Spytz - - * doc/extend.texi: Fix a typo in the documentation of the - copy function attribute. - -2020-04-01 Jakub Jelinek - - PR middle-end/94423 - * tree-object-size.c (pass_object_sizes::execute): Don't call - replace_uses_by for SSA_NAME_OCCURS_IN_ABNORMAL_PHI lhs, instead - call replace_call_with_value. - -2020-04-01 Kewen Lin - - PR tree-optimization/94043 - * tree-vect-loop.c (vectorizable_live_operation): Generate loop-closed - phi for vec_lhs and use it for lane extraction. - -2020-03-31 Felix Yang - - PR tree-optimization/94398 - * tree-vect-stmts.c (vectorizable_store): Instead of calling - vect_supportable_dr_alignment, set alignment_support_scheme to - dr_unaligned_supported for gather-scatter accesses. - (vectorizable_load): Likewise. - -2020-03-31 Andrew Stubbs - - * config/gcn/gcn-valu.md (V_QI, V_HI, V_HF, V_SI, V_SF, V_DI, V_DF): - New mode iterators. - (vnsi, VnSI, vndi, VnDI): New mode attributes. - (mov): Use in place of V64DI. - (mov_exec): Likewise. - (mov_sgprbase): Likewise. - (reload_out): Likewise. - (*vec_set_1): Use GET_MODE_NUNITS instead of constant 64. - (gather_loadv64si): Rename to ... - (gather_load): ... this, and use in place of V64SI, - and in place of V64DI. - (gather_insn_1offset): Use in place of V64DI. - (gather_insn_1offset_ds): Use in place of V64SI. - (gather_insn_2offsets): Use and . - (scatter_storev64si): Rename to ... - (scatter_store): ... this, and use and . - (scatter_expr): Use and . - (scatter_insn_1offset): Likewise. - (scatter_insn_1offset_ds): Likewise. - (scatter_insn_2offsets): Likewise. - (ds_bpermute): Use . - (addv64si3_vcc): Rename to ... - (add3_vcc): ... this, and use V_SI. - (addv64si3_vcc_dup): Rename to ... - (add3_vcc_dup): ... this, and use V_SI. - (addcv64si3): Rename to ... - (addc3): ... this, and use V_SI. - (subv64si3_vcc): Rename to ... - (sub3_vcc): ... this, and use V_SI. - (subcv64si3): Rename to ... - (subc3): ... this, and use V_SI. - (addv64di3): Rename to ... - (add3): ... this, and use V_DI. - (addv64di3_exec): Rename to ... - (add3_exec): ... this, and use V_DI. - (subv64di3): Rename to ... - (sub3): ... this, and use V_DI. - (subv64di3_exec): Rename to ... - (sub3_exec): ... this, and use V_DI. - (addv64di3_zext): Rename to ... - (add3_zext): ... this, and use V_DI and . - (addv64di3_zext_exec): Rename to ... - (add3_zext_exec): ... this, and use V_DI and . - (addv64di3_zext_dup): Rename to ... - (add3_zext_dup): ... this, and use V_DI and . - (addv64di3_zext_dup_exec): Rename to ... - (add3_zext_dup_exec): ... this, and use V_DI and . - (addv64di3_zext_dup2): Rename to ... - (add3_zext_dup2): ... this, and use V_DI and . - (addv64di3_zext_dup2_exec): Rename to ... - (add3_zext_dup2_exec): ... this, and use V_DI and . - (addv64di3_sext_dup2): Rename to ... - (add3_sext_dup2): ... this, and use V_DI and . - (addv64di3_sext_dup2_exec): Rename to ... - (add3_sext_dup2_exec): ... this, and use V_DI and . - (mulv64si3_highpart): Rename to ... - (mul3_highpart): ... this and use V_SI and . - (mulv64di3): Rename to ... - (mul3): ... this, and use V_DI and . - (mulv64di3_exec): Rename to ... - (mul3_exec): ... this, and use V_DI and . - (mulv64di3_zext): Rename to ... - (mul3_zext): ... this, and use V_DI and . - (mulv64di3_zext_exec): Rename to ... - (mul3_zext_exec): ... this, and use V_DI and . - (mulv64di3_zext_dup2): Rename to ... - (mul3_zext_dup2): ... this, and use V_DI and . - (mulv64di3_zext_dup2_exec): Rename to ... - (mul3_zext_dup2_exec): ... this, and use V_DI and . - (v64di3): Rename to ... - (3): ... this, and use V_DI and . - (v64di3_exec): Rename to ... - (3_exec): ... this, and use V_DI and . - (v64si3): Rename to ... - (3): ... this, and use V_SI and . - (vv64si3): Rename to ... - (v3): ... this, and use V_SI and . - (v64si3): Rename to ... - (3): ... this, and use V_SI. - (subv64df3): Rename to ... - (sub3): ... this, and use V_DF. - (truncv64di2): Rename to ... - (trunc2): ... this, and use . - (truncv64di2_exec): Rename to ... - (trunc2_exec): ... this, and use . - (v64di2): Rename to ... - (2): ... this, and use . - (v64di2_exec): Rename to ... - (2_exec): ... this, and use . - (vec_cmpv64qidi): Rename to ... - (vec_cmpdi): ... this, and use . - (vec_cmpv64qidi_exec): Rename to ... - (vec_cmpdi_exec): ... this, and use . - (vcond_mask_di): Use . - (maskloaddi): Likewise. - (maskstoredi): Likewise. - (mask_gather_loadv64si): Rename to ... - (mask_gather_load): ... this, and use and . - (mask_scatter_storev64si): Rename to ... - (mask_scatter_store): ... this, and use and . - (*_dpp_shr_v64di): Rename to ... - (*_dpp_shr_): ... this, and use V_DI and . - (*plus_carry_in_dpp_shr_v64si): Rename to ... - (*plus_carry_in_dpp_shr_): ... this, and use V_SI. - (*plus_carry_dpp_shr_v64di): Rename to ... - (*plus_carry_dpp_shr_): ... this, and use V_DI and . - (vec_seriesv64si): Rename to ... - (vec_series): ... this, and use V_SI. - (vec_seriesv64di): Rename to ... - (vec_series): ... this, and use V_DI. - -2020-03-31 Claudiu Zissulescu - - * config/arc/arc.c (arc_print_operand): Use - HOST_WIDE_INT_PRINT_DEC macro. - -2020-03-31 Claudiu Zissulescu - - * config/arc/arc.h (ASM_FORMAT_PRIVATE_NAME): Fix it. - -2020-03-31 Srinath Parvathaneni - - * config/arm/arm_mve.h (vbicq): Define MVE intrinsic polymorphic - variant. - (__arm_vbicq): Likewise. - -2020-03-31 Vineet Gupta - - * config/arc/linux.h: GLIBC_DYNAMIC_LINKER support BE/arc700. - -2020-03-31 Srinath Parvathaneni - - * config/arm/arm_mve.h (vaddlvq): Move the polymorphic variant to the - common section of both MVE Integer and MVE Floating Point. - (vaddvq): Likewise. - (vaddlvq_p): Likewise. - (vaddvaq): Likewise. - (vaddvq_p): Likewise. - (vcmpcsq): Likewise. - (vmlsdavxq): Likewise. - (vmlsdavq): Likewise. - (vmladavxq): Likewise. - (vmladavq): Likewise. - (vminvq): Likewise. - (vminavq): Likewise. - (vmaxvq): Likewise. - (vmaxavq): Likewise. - (vmlaldavq): Likewise. - (vcmphiq): Likewise. - (vaddlvaq): Likewise. - (vrmlaldavhq): Likewise. - (vrmlaldavhxq): Likewise. - (vrmlsldavhq): Likewise. - (vrmlsldavhxq): Likewise. - (vmlsldavxq): Likewise. - (vmlsldavq): Likewise. - (vabavq): Likewise. - (vrmlaldavhaq): Likewise. - (vcmpgeq_m_n): Likewise. - (vmlsdavxq_p): Likewise. - (vmlsdavq_p): Likewise. - (vmlsdavaxq): Likewise. - (vmlsdavaq): Likewise. - (vaddvaq_p): Likewise. - (vcmpcsq_m_n): Likewise. - (vcmpcsq_m): Likewise. - (vmladavxq_p): Likewise. - (vmladavq_p): Likewise. - (vmladavaxq): Likewise. - (vmladavaq): Likewise. - (vminvq_p): Likewise. - (vminavq_p): Likewise. - (vmaxvq_p): Likewise. - (vmaxavq_p): Likewise. - (vcmphiq_m): Likewise. - (vaddlvaq_p): Likewise. - (vmlaldavaq): Likewise. - (vmlaldavaxq): Likewise. - (vmlaldavq_p): Likewise. - (vmlaldavxq_p): Likewise. - (vmlsldavaq): Likewise. - (vmlsldavaxq): Likewise. - (vmlsldavq_p): Likewise. - (vmlsldavxq_p): Likewise. - (vrmlaldavhaxq): Likewise. - (vrmlaldavhq_p): Likewise. - (vrmlaldavhxq_p): Likewise. - (vrmlsldavhaq): Likewise. - (vrmlsldavhaxq): Likewise. - (vrmlsldavhq_p): Likewise. - (vrmlsldavhxq_p): Likewise. - (vabavq_p): Likewise. - (vmladavaq_p): Likewise. - (vstrbq_scatter_offset): Likewise. - (vstrbq_p): Likewise. - (vstrbq_scatter_offset_p): Likewise. - (vstrdq_scatter_base_p): Likewise. - (vstrdq_scatter_base): Likewise. - (vstrdq_scatter_offset_p): Likewise. - (vstrdq_scatter_offset): Likewise. - (vstrdq_scatter_shifted_offset_p): Likewise. - (vstrdq_scatter_shifted_offset): Likewise. - (vmaxq_x): Likewise. - (vminq_x): Likewise. - (vmovlbq_x): Likewise. - (vmovltq_x): Likewise. - (vmulhq_x): Likewise. - (vmullbq_int_x): Likewise. - (vmullbq_poly_x): Likewise. - (vmulltq_int_x): Likewise. - (vmulltq_poly_x): Likewise. - (vstrbq): Likewise. - -2020-03-31 Jakub Jelinek - - PR target/94368 - * config/aarch64/constraints.md (Uph): New constraint. - * config/aarch64/atomics.md (cas_short_expected_imm): New mode attr. - (@aarch64_compare_and_swap): Use it instead of n in operand 2's - constraint. - -2020-03-31 Marc Glisse - Jakub Jelinek - - PR middle-end/94412 - * fold-const.c (fold_binary_loc) : Use - ANY_INTEGRAL_TYPE_P instead of INTEGRAL_TYPE_P. - -2020-03-31 Jakub Jelinek - - PR tree-optimization/94403 - * gimple-ssa-store-merging.c (verify_symbolic_number_p): Allow also - ENUMERAL_TYPE lhs_type. - - PR rtl-optimization/94344 - * tree-ssa-forwprop.c (simplify_rotate): Handle also same precision - conversions, either on both operands of |^+ or just one. Handle - also extra same precision conversion on RSHIFT_EXPR first operand - provided RSHIFT_EXPR is performed in unsigned type. - -2020-03-30 David Malcolm - - * lra.c (finish_insn_code_data_once): Set the array elements - to NULL after freeing them. - -2020-03-30 Andreas Schwab - - * config/host-linux.c (TRY_EMPTY_VM_SPACE) [__riscv && __LP64__]: - Define. - -2020-03-30 Will Schmidt - - * config/rs6000/rs6000-call.c altivec_init_builtins(): Remove code - to skip defining builtins based on builtin_mask. - -2020-03-30 Jakub Jelinek - - PR target/94343 - * config/i386/sse.md (one_cmpl2): If - !TARGET_AVX512VL, use 512-bit vpternlog and make sure the input - operand is a register. Don't enable masked variants for V*[QH]Imode. - - PR target/93069 - * config/i386/sse.md (vec_extract_lo_): Use - instead of m in output operand constraint. - (vec_extract_hi_): Use instead of - %{%3%}. - -2020-03-30 Alan Modra - - * config/rs6000/rs6000.c (rs6000_call_aix): Emit cookie to pattern. - (rs6000_indirect_call_template_1): Adjust to suit. - * config/rs6000/rs6000.md (call_local): Merge call_local32, - call_local64, and call_local_aix. - (call_value_local): Simlarly. - (call_nonlocal_aix, call_value_nonlocal_aix): Adjust rtl to suit, - and disable pattern when CALL_LONG. - (call_indirect_aix, call_value_indirect_aix): Adjust rtl. - (call_indirect_elfv2, call_indirect_pcrel): Likewise. - (call_value_indirect_elfv2, call_value_indirect_pcrel): Likewise. - -2020-03-29 H.J. Lu - - PR driver/94381 - * doc/invoke.texi: Update -falign-functions, -falign-loops and - -falign-jumps documentation. - -2020-03-29 Martin Liska - - PR ipa/94363 - * cgraphunit.c (process_function_and_variable_attributes): Remove - double 'attribute' words. - -2020-03-29 John David Anglin - - * config/pa/pa.c (pa_asm_output_aligned_bss): Delete duplicate - .align output. - -2020-03-28 Jakub Jelinek - - PR c/93573 - * c-decl.c (grokdeclarator): After issuing errors, set size_int_const - to true after setting size to integer_one_node. - - PR tree-optimization/94329 - * tree-ssa-reassoc.c (reassociate_bb): When calling reassoc_remove_stmt - on the last stmt in a bb, make sure gsi_prev isn't done immediately - after gsi_last_bb. - -2020-03-27 Alan Modra - - PR target/94145 - * config/rs6000/rs6000.c (rs6000_longcall_ref): Use unspec_volatile - for PLT16_LO and PLT_PCREL. - * config/rs6000/rs6000.md (UNSPEC_PLT16_LO, UNSPEC_PLT_PCREL): Remove. - (UNSPECV_PLT16_LO, UNSPECV_PLT_PCREL): Define. - (pltseq_plt16_lo_, pltseq_plt_pcrel): Use unspec_volatile. - -2020-03-27 Martin Sebor - - PR c++/94098 - * calls.c (init_attr_rdwr_indices): Iterate over all access attributes. - -2020-03-27 Andrew Stubbs - - * config/gcn/gcn-valu.md: - (VEC_SUBDWORD_MODE): Rename to V_QIHI throughout. - (VEC_1REG_MODE): Delete. - (VEC_1REG_ALT): Delete. - (VEC_ALL1REG_MODE): Rename to V_1REG throughout. - (VEC_1REG_INT_MODE): Delete. - (VEC_ALL1REG_INT_MODE): Rename to V_INT_1REG throughout. - (VEC_ALL1REG_INT_ALT): Rename to V_INT_1REG_ALT throughout. - (VEC_2REG_MODE): Rename to V_2REG throughout. - (VEC_REG_MODE): Rename to V_noHI throughout. - (VEC_ALLREG_MODE): Rename to V_ALL throughout. - (VEC_ALLREG_ALT): Rename to V_ALL_ALT throughout. - (VEC_ALLREG_INT_MODE): Rename to V_INT throughout. - (VEC_INT_MODE): Delete. - (VEC_FP_MODE): Rename to V_FP throughout and move to top. - (VEC_FP_1REG_MODE): Rename to V_FP_1REG throughout and move to top. - (FP_MODE): Delete and replace with FP throughout. - (FP_1REG_MODE): Delete and replace with FP_1REG throughout. - (VCMP_MODE): Rename to V_noQI throughout and move to top. - (VCMP_MODE_INT): Rename to V_INT_noQI throughout and move to top. - * config/gcn/gcn.md (FP): New mode iterator. - (FP_1REG): New mode iterator. - -2020-03-27 David Malcolm - - * doc/invoke.texi (-fdump-analyzer-supergraph): Document that this - now emits two .dot files. - * graphviz.cc (graphviz_out::begin_tr): Only emit a TR, not a TD. - (graphviz_out::end_tr): Only close a TR, not a TD. - (graphviz_out::begin_td): New. - (graphviz_out::end_td): New. - (graphviz_out::begin_trtd): New, replacing the old implementation - of graphviz_out::begin_tr. - (graphviz_out::end_tdtr): New, replacing the old implementation - of graphviz_out::end_tr. - * graphviz.h (graphviz_out::begin_td): New decl. - (graphviz_out::end_td): New decl. - (graphviz_out::begin_trtd): New decl. - (graphviz_out::end_tdtr): New decl. - -2020-03-27 Richard Biener - - PR debug/94273 - * dwarf2out.c (should_emit_struct_debug): Return false for - DINFO_LEVEL_TERSE. - -2020-03-27 Richard Biener - - PR tree-optimization/94352 - * tree-ssa-propagate.c (ssa_prop_init): Move seeding of the - worklist ... - (ssa_propagation_engine::ssa_propagate): ... here after - initializing curr_order. - -2020-03-27 Kewen Lin - - PR tree-optimization/90332 - * tree-vect-stmts.c (vector_vector_composition_type): New function. - (get_group_load_store_type): Adjust to call - vector_vector_composition_type, extend it to construct with scalar - types. - (vectorizable_load): Likewise. - -2020-03-27 Roman Zhuykov - - * ddg.c (create_ddg_dep_from_intra_loop_link): Remove assertions. - (create_ddg_dep_no_link): Likewise. - (add_cross_iteration_register_deps): Move debug instruction check. - Other minor refactoring. - (add_intra_loop_mem_dep): Do not check for debug instructions. - (add_inter_loop_mem_dep): Likewise. - (build_intra_loop_deps): Likewise. - (create_ddg): Do not include debug insns into the graph. - * ddg.h (struct ddg): Remove num_debug field. - * modulo-sched.c (doloop_register_get): Adjust condition. - (res_MII): Remove DDG num_debug field usage. - (sms_schedule_by_order): Use assertion against debug insns. - (ps_has_conflicts): Drop debug insn check. - -2020-03-26 Jakub Jelinek - - PR debug/94323 - * tree.c (protected_set_expr_location): Recurse on STATEMENT_LIST - that contains exactly one non-DEBUG_BEGIN_STMT statement. - - PR debug/94281 - * gimple.h (gimple_seq_first_nondebug_stmt): New function. - (gimple_seq_last_nondebug_stmt): Don't return NULL if seq contains - a single non-debug stmt followed by one or more debug stmts. - * gimplify.c (gimplify_body): Use gimple_seq_first_nondebug_stmt - instead of gimple_seq_first_stmt, use gimple_seq_first_nondebug_stmt - and gimple_seq_last_nondebug_stmt instead of gimple_seq_first and - gimple_seq_last to check if outer_stmt gbind could be reused and - if yes and it is surrounded by any debug stmts, move them into the - gbind body. - - PR rtl-optimization/92264 - * var-tracking.c (add_stores): Call cselib_set_value_sp_based even - for sp based values in !frame_pointer_needed - && !ACCUMULATE_OUTGOING_ARGS functions. - -2020-03-26 Felix Yang - - PR tree-optimization/94269 - * tree-ssa-math-opts.c (convert_plusminus_to_widen): Restrict - this - operation to single basic block. - -2020-03-25 Jeff Law - - PR rtl-optimization/90275 - * config/sh/sh.md (mov_neg_si_t): Clobber the T register in the - pattern. - -2020-03-25 Jakub Jelinek - - PR target/94292 - * config/arm/arm.c (arm_gen_dicompare_reg): Set mode of COMPARE to - mode rather than VOIDmode. - -2020-03-25 Martin Sebor - - PR middle-end/94004 - * gimple-ssa-warn-alloca.c (pass_walloca::execute): Issue warnings - even for alloca calls resulting from system macro expansion. - Include inlining context in all warnings. - -2020-03-25 Richard Sandiford - - PR target/94254 - * config/rs6000/rs6000.c (rs6000_can_change_mode_class): Allow - FPRs to change between SDmode and DDmode. - -2020-03-25 Martin Sebor - - PR tree-optimization/94131 - * gimple-fold.c (get_range_strlen_tree): Fail for variable-length - types and decls. - * tree-ssa-strlen.c (get_range_strlen_dynamic): Avoid assuming - types have constant sizes. - -2020-03-25 Martin Liska - - PR lto/94259 - * configure.ac: Report error only when --with-zstd - is used. - * configure: Regenerate. - -2020-03-25 Jakub Jelinek - - PR target/94308 - * config/i386/i386-features.c (ix86_add_reg_usage_to_vzeroupper): Set - INSN_CODE (insn) to -1 when changing the pattern. - -2020-03-25 Martin Liska - - PR target/93274 - PR ipa/94271 - * config/i386/i386-features.c (make_resolver_func): Drop - public flag for resolver. - * config/rs6000/rs6000.c (make_resolver_func): Add comdat - group for resolver and drop public flag if possible. - * multiple_target.c (create_dispatcher_calls): Drop unique_name - and resolution as we want to enable LTO privatization of the default - symbol. - -2020-03-25 Martin Liska - - PR lto/94259 - * configure.ac: Respect --without-zstd and report - error when we can't find header file with --with-zstd. - * configure: Regenerate. - -2020-03-25 Jakub Jelinek - - PR middle-end/94303 - * varasm.c (output_constructor_array_range): If local->index - RANGE_EXPR doesn't start at the current location in the constructor, - skip needed number of bytes using assemble_zeros or assert we don't - go backwards. - - PR c++/94223 - * langhooks.c (lhd_set_decl_assembler_name): Use a static ulong - counter instead of DECL_UID. - - PR tree-optimization/94300 - * tree-ssa-sccvn.c (vn_walk_cb_data::push_partial_def): If pd.offset - is positive, make sure that off + size isn't larger than needed_len. - -2020-03-25 Richard Biener - Jakub Jelinek - - PR debug/94283 - * tree-if-conv.c (ifcvt_local_dce): Delete dead statements backwards. - -2020-03-24 Christophe Lyon - - * doc/sourcebuild.texi (ARM-specific attributes): Add - arm_fp_dp_ok. - (Features for dg-add-options): Add arm_fp_dp. - -2020-03-24 John David Anglin - - PR lto/94249 - * config/pa/pa.h (TARGET_CPU_CPP_BUILTINS): Define __BIG_ENDIAN__. - -2020-03-24 Tobias Burnus - - PR libgomp/81689 - * omp-offload.c (omp_finish_file): Fix target-link handling if - targetm_common.have_named_sections is false. - -2020-03-24 Jakub Jelinek - - PR target/94286 - * config/arm/arm.md (subvdi4, usubvsi4, usubvdi4): Use gen_int_mode - instead of GEN_INT. - - PR debug/94285 - * tree-ssa-loop-manip.c (create_iv): If after, set stmt location to - e->goto_locus even if gsi_bb (*incr_pos) contains only debug stmts. - If not after and at *incr_pos is a debug stmt, set stmt location to - location of next non-debug stmt after it if any. - - PR debug/94283 - * tree-if-conv.c (ifcvt_local_dce): For gimple debug stmts, just set - GF_PLF_2, but don't add them to worklist. Don't add an assigment to - worklist or set GF_PLF_2 just because it is used in a debug stmt in - another bb. Formatting improvements. - - PR debug/94277 - * cgraphunit.c (check_global_declaration): For DECL_EXTERNAL and - non-TREE_PUBLIC non-DECL_ARTIFICIAL FUNCTION_DECLs, set TREE_PUBLIC - regardless of whether TREE_NO_WARNING is set on it or whether - warn_unused_function is true or not. - -2020-03-23 Jeff Law - - PR rtl-optimization/90275 - PR target/94238 - PR target/94144 - * simplify-rtx.c (comparison_code_valid_for_mode): New function. - (simplify_logical_relational_operation): Use it. - -2020-03-23 Jakub Jelinek - - PR c++/91993 - * tree.c (get_narrower): Handle COMPOUND_EXPR by recursing on - ultimate rhs and if returned something different, reconstructing - the COMPOUND_EXPRs. - -2020-03-23 Lewis Hyatt - - * opts.c (print_filtered_help): Improve the help text for alias options. - -2020-03-23 Srinath Parvathaneni - Andre Vieira - Mihail Ionescu - - * config/arm/arm_mve.h (vshlcq_m_s8): Define macro. - (vshlcq_m_u8): Likewise. - (vshlcq_m_s16): Likewise. - (vshlcq_m_u16): Likewise. - (vshlcq_m_s32): Likewise. - (vshlcq_m_u32): Likewise. - (__arm_vshlcq_m_s8): Define intrinsic. - (__arm_vshlcq_m_u8): Likewise. - (__arm_vshlcq_m_s16): Likewise. - (__arm_vshlcq_m_u16): Likewise. - (__arm_vshlcq_m_s32): Likewise. - (__arm_vshlcq_m_u32): Likewise. - (vshlcq_m): Define polymorphic variant. - * config/arm/arm_mve_builtins.def (QUADOP_NONE_NONE_UNONE_IMM_UNONE): - Use builtin qualifier. - (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE): Likewise. - * config/arm/mve.md (mve_vshlcq_m_vec_): Define RTL pattern. - (mve_vshlcq_m_carry_): Likewise. - (mve_vshlcq_m_): Likewise. - -2020-03-23 Srinath Parvathaneni - - * config/arm/arm-builtins.c (LSLL_QUALIFIERS): Define builtin qualifier. - (UQSHL_QUALIFIERS): Likewise. - (ASRL_QUALIFIERS): Likewise. - (SQSHL_QUALIFIERS): Likewise. - * config/arm/arm_mve.h (__ARM_BIG_ENDIAN): Check to not support MVE in - Big-Endian Mode. - (sqrshr): Define macro. - (sqrshrl): Likewise. - (sqrshrl_sat48): Likewise. - (sqshl): Likewise. - (sqshll): Likewise. - (srshr): Likewise. - (srshrl): Likewise. - (uqrshl): Likewise. - (uqrshll): Likewise. - (uqrshll_sat48): Likewise. - (uqshl): Likewise. - (uqshll): Likewise. - (urshr): Likewise. - (urshrl): Likewise. - (lsll): Likewise. - (asrl): Likewise. - (__arm_lsll): Define intrinsic. - (__arm_asrl): Likewise. - (__arm_uqrshll): Likewise. - (__arm_uqrshll_sat48): Likewise. - (__arm_sqrshrl): Likewise. - (__arm_sqrshrl_sat48): Likewise. - (__arm_uqshll): Likewise. - (__arm_urshrl): Likewise. - (__arm_srshrl): Likewise. - (__arm_sqshll): Likewise. - (__arm_uqrshl): Likewise. - (__arm_sqrshr): Likewise. - (__arm_uqshl): Likewise. - (__arm_urshr): Likewise. - (__arm_sqshl): Likewise. - (__arm_srshr): Likewise. - * config/arm/arm_mve_builtins.def (LSLL_QUALIFIERS): Use builtin - qualifier. - (UQSHL_QUALIFIERS): Likewise. - (ASRL_QUALIFIERS): Likewise. - (SQSHL_QUALIFIERS): Likewise. - * config/arm/mve.md (mve_uqrshll_sat_di): Define RTL pattern. - (mve_sqrshrl_sat_di): Likewise. - (mve_uqrshl_si): Likewise. - (mve_sqrshr_si): Likewise. - (mve_uqshll_di): Likewise. - (mve_urshrl_di): Likewise. - (mve_uqshl_si): Likewise. - (mve_urshr_si): Likewise. - (mve_sqshl_si): Likewise. - (mve_srshr_si): Likewise. - (mve_srshrl_di): Likewise. - (mve_sqshll_di): Likewise. - -2020-03-23 Srinath Parvathaneni - Andre Vieira - Mihail Ionescu - - * config/arm/arm_mve.h (vsetq_lane_f16): Define macro. - (vsetq_lane_f32): Likewise. - (vsetq_lane_s16): Likewise. - (vsetq_lane_s32): Likewise. - (vsetq_lane_s8): Likewise. - (vsetq_lane_s64): Likewise. - (vsetq_lane_u8): Likewise. - (vsetq_lane_u16): Likewise. - (vsetq_lane_u32): Likewise. - (vsetq_lane_u64): Likewise. - (vgetq_lane_f16): Likewise. - (vgetq_lane_f32): Likewise. - (vgetq_lane_s16): Likewise. - (vgetq_lane_s32): Likewise. - (vgetq_lane_s8): Likewise. - (vgetq_lane_s64): Likewise. - (vgetq_lane_u8): Likewise. - (vgetq_lane_u16): Likewise. - (vgetq_lane_u32): Likewise. - (vgetq_lane_u64): Likewise. - (__ARM_NUM_LANES): Likewise. - (__ARM_LANEQ): Likewise. - (__ARM_CHECK_LANEQ): Likewise. - (__arm_vsetq_lane_s16): Define intrinsic. - (__arm_vsetq_lane_s32): Likewise. - (__arm_vsetq_lane_s8): Likewise. - (__arm_vsetq_lane_s64): Likewise. - (__arm_vsetq_lane_u8): Likewise. - (__arm_vsetq_lane_u16): Likewise. - (__arm_vsetq_lane_u32): Likewise. - (__arm_vsetq_lane_u64): Likewise. - (__arm_vgetq_lane_s16): Likewise. - (__arm_vgetq_lane_s32): Likewise. - (__arm_vgetq_lane_s8): Likewise. - (__arm_vgetq_lane_s64): Likewise. - (__arm_vgetq_lane_u8): Likewise. - (__arm_vgetq_lane_u16): Likewise. - (__arm_vgetq_lane_u32): Likewise. - (__arm_vgetq_lane_u64): Likewise. - (__arm_vsetq_lane_f16): Likewise. - (__arm_vsetq_lane_f32): Likewise. - (__arm_vgetq_lane_f16): Likewise. - (__arm_vgetq_lane_f32): Likewise. - (vgetq_lane): Define polymorphic variant. - (vsetq_lane): Likewise. - * config/arm/mve.md (mve_vec_extract): Define RTL - pattern. - (mve_vec_extractv2didi): Likewise. - (mve_vec_extract_sext_internal): Likewise. - (mve_vec_extract_zext_internal): Likewise. - (mve_vec_set_internal): Likewise. - (mve_vec_setv2di_internal): Likewise. - * config/arm/neon.md (vec_set): Move RTL pattern to vec-common.md - file. - (vec_extract): Rename to - "neon_vec_extract". - (vec_extractv2didi): Rename to "neon_vec_extractv2didi". - * config/arm/vec-common.md (vec_extract): Define RTL - pattern common for MVE and NEON. - (vec_set): Move RTL pattern from neon.md and modify to accept both - MVE and NEON. - -2020-03-23 Andre Vieira - - * config/arm/mve.md (earlyclobber_32): New mode attribute. - (mve_vrev64q_*, mve_vcaddq*, mve_vhcaddq_*, mve_vcmulq_*, - mve_vmull[bt]q_*, mve_vqdmull[bt]q_*): Add appropriate early clobbers. - -2020-03-23 Richard Biener - - PR tree-optimization/94261 - * tree-vect-slp.c (vect_get_and_check_slp_defs): Remove - IL operand swapping code. - (vect_slp_rearrange_stmts): Do not arrange isomorphic - nodes that would need operation code adjustments. - -2020-03-23 Tobias Burnus - - * doc/install.texi (amdgcn-*-amdhsa): Renamed - from amdgcn-unknown-amdhsa; change - amdgcn-unknown-amdhsa to amdgcn-amdhsa. - -2020-03-23 Richard Biener - - PR ipa/94245 - * ipa-prop.c (ipa_read_jump_function): Build the ADDR_EXRP - directly rather than also folding it via build_fold_addr_expr. - -2020-03-23 Richard Biener - - PR tree-optimization/94266 - * tree-ssa-forwprop.c (pass_forwprop::execute): Do not propagate - addresses of TARGET_MEM_REFs. - -2020-03-23 Martin Liska - - PR ipa/94250 - * symtab.c (symtab_node::clone_references): Save speculative_id - as ref may be overwritten by create_reference. - (symtab_node::clone_referring): Likewise. - (symtab_node::clone_reference): Likewise. - -2020-03-22 Iain Sandoe - - * config/i386/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Remove - references to Darwin. - * config/i386/i386.h (JUMP_TABLES_IN_TEXT_SECTION): Define this - unconditionally and comment on why. - -2020-03-21 Iain Sandoe - - * config/darwin.c (darwin_mergeable_constant_section): Collect - section anchor checks into the caller. - (machopic_select_section): Collect section anchor checks into - the determination of 'effective zero-size' objects. When the - size is unknown, assume it is non-zero, and thus return the - 'generic' section for the DECL. - -2020-03-21 Iain Sandoe - - PR target/93694 - * config/darwin.opt: Amend options descriptions. - -2020-03-21 Richard Sandiford - - PR rtl-optimization/94052 - * lra-constraints.c (simplify_operand_subreg): Reload the inner - register of a paradoxical subreg if simplify_subreg_regno fails - to give a valid hard register for the outer mode. - -2020-03-20 Martin Jambor - - PR tree-optimization/93435 - * params.opt (sra-max-propagations): New parameter. - * tree-sra.c (propagation_budget): New variable. - (budget_for_propagation_access): New function. - (propagate_subaccesses_from_rhs): Use it. - (propagate_subaccesses_from_lhs): Likewise. - (propagate_all_subaccesses): Set up and destroy propagation_budget. - -2020-03-20 Carl Love - - PR/target 87583 - * config/rs6000/rs6000.c (rs6000_option_override_internal): - Add check for TARGET_FPRND for Power 7 or newer. - -2020-03-20 Jan Hubicka - - PR ipa/93347 - * cgraph.c (symbol_table::create_edge): Update calls_comdat_local flag. - (cgraph_edge::redirect_callee): Move here; likewise. - (cgraph_node::remove_callees): Update calls_comdat_local flag. - (cgraph_node::verify_node): Verify that calls_comdat_local flag match - reality. - (cgraph_node::check_calls_comdat_local_p): New member function. - * cgraph.h (cgraph_node::check_calls_comdat_local_p): Declare. - (cgraph_edge::redirect_callee): Move offline. - * ipa-fnsummary.c (compute_fn_summary): Do not compute - calls_comdat_local flag here. - * ipa-inline-transform.c (inline_call): Fix updating of - calls_comdat_local flag. - * ipa-split.c (split_function): Use true instead of 1 to set the flag. - * symtab.c (symtab_node::add_to_same_comdat_group): Update - calls_comdat_local flag. - -2020-03-20 Richard Biener - - * tree-vect-slp.c (vect_analyze_slp_instance): Dump SLP tree - from the possibly modified root. - -2020-03-20 Srinath Parvathaneni - Andre Vieira - Mihail Ionescu - - * config/arm/arm_mve.h (vst1q_p_u8): Define macro. - (vst1q_p_s8): Likewise. - (vst2q_s8): Likewise. - (vst2q_u8): Likewise. - (vld1q_z_u8): Likewise. - (vld1q_z_s8): Likewise. - (vld2q_s8): Likewise. - (vld2q_u8): Likewise. - (vld4q_s8): Likewise. - (vld4q_u8): Likewise. - (vst1q_p_u16): Likewise. - (vst1q_p_s16): Likewise. - (vst2q_s16): Likewise. - (vst2q_u16): Likewise. - (vld1q_z_u16): Likewise. - (vld1q_z_s16): Likewise. - (vld2q_s16): Likewise. - (vld2q_u16): Likewise. - (vld4q_s16): Likewise. - (vld4q_u16): Likewise. - (vst1q_p_u32): Likewise. - (vst1q_p_s32): Likewise. - (vst2q_s32): Likewise. - (vst2q_u32): Likewise. - (vld1q_z_u32): Likewise. - (vld1q_z_s32): Likewise. - (vld2q_s32): Likewise. - (vld2q_u32): Likewise. - (vld4q_s32): Likewise. - (vld4q_u32): Likewise. - (vld4q_f16): Likewise. - (vld2q_f16): Likewise. - (vld1q_z_f16): Likewise. - (vst2q_f16): Likewise. - (vst1q_p_f16): Likewise. - (vld4q_f32): Likewise. - (vld2q_f32): Likewise. - (vld1q_z_f32): Likewise. - (vst2q_f32): Likewise. - (vst1q_p_f32): Likewise. - (__arm_vst1q_p_u8): Define intrinsic. - (__arm_vst1q_p_s8): Likewise. - (__arm_vst2q_s8): Likewise. - (__arm_vst2q_u8): Likewise. - (__arm_vld1q_z_u8): Likewise. - (__arm_vld1q_z_s8): Likewise. - (__arm_vld2q_s8): Likewise. - (__arm_vld2q_u8): Likewise. - (__arm_vld4q_s8): Likewise. - (__arm_vld4q_u8): Likewise. - (__arm_vst1q_p_u16): Likewise. - (__arm_vst1q_p_s16): Likewise. - (__arm_vst2q_s16): Likewise. - (__arm_vst2q_u16): Likewise. - (__arm_vld1q_z_u16): Likewise. - (__arm_vld1q_z_s16): Likewise. - (__arm_vld2q_s16): Likewise. - (__arm_vld2q_u16): Likewise. - (__arm_vld4q_s16): Likewise. - (__arm_vld4q_u16): Likewise. - (__arm_vst1q_p_u32): Likewise. - (__arm_vst1q_p_s32): Likewise. - (__arm_vst2q_s32): Likewise. - (__arm_vst2q_u32): Likewise. - (__arm_vld1q_z_u32): Likewise. - (__arm_vld1q_z_s32): Likewise. - (__arm_vld2q_s32): Likewise. - (__arm_vld2q_u32): Likewise. - (__arm_vld4q_s32): Likewise. - (__arm_vld4q_u32): Likewise. - (__arm_vld4q_f16): Likewise. - (__arm_vld2q_f16): Likewise. - (__arm_vld1q_z_f16): Likewise. - (__arm_vst2q_f16): Likewise. - (__arm_vst1q_p_f16): Likewise. - (__arm_vld4q_f32): Likewise. - (__arm_vld2q_f32): Likewise. - (__arm_vld1q_z_f32): Likewise. - (__arm_vst2q_f32): Likewise. - (__arm_vst1q_p_f32): Likewise. - (vld1q_z): Define polymorphic variant. - (vld2q): Likewise. - (vld4q): Likewise. - (vst1q_p): Likewise. - (vst2q): Likewise. - * config/arm/arm_mve_builtins.def (STORE1): Use builtin qualifier. - (LOAD1): Likewise. - * config/arm/mve.md (mve_vst2q): Define RTL pattern. - (mve_vld2q): Likewise. - (mve_vld4q): Likewise. - -2020-03-20 Srinath Parvathaneni - Andre Vieira - Mihail Ionescu - - * config/arm/arm-builtins.c (ARM_BUILTIN_GET_FPSCR_NZCVQC): Define. - (ARM_BUILTIN_SET_FPSCR_NZCVQC): Likewise. - (arm_init_mve_builtins): Add "__builtin_arm_get_fpscr_nzcvqc" and - "__builtin_arm_set_fpscr_nzcvqc" to arm_builtin_decls array. - (arm_expand_builtin): Define case ARM_BUILTIN_GET_FPSCR_NZCVQC - and ARM_BUILTIN_SET_FPSCR_NZCVQC. - * config/arm/arm_mve.h (vadciq_s32): Define macro. - (vadciq_u32): Likewise. - (vadciq_m_s32): Likewise. - (vadciq_m_u32): Likewise. - (vadcq_s32): Likewise. - (vadcq_u32): Likewise. - (vadcq_m_s32): Likewise. - (vadcq_m_u32): Likewise. - (vsbciq_s32): Likewise. - (vsbciq_u32): Likewise. - (vsbciq_m_s32): Likewise. - (vsbciq_m_u32): Likewise. - (vsbcq_s32): Likewise. - (vsbcq_u32): Likewise. - (vsbcq_m_s32): Likewise. - (vsbcq_m_u32): Likewise. - (__arm_vadciq_s32): Define intrinsic. - (__arm_vadciq_u32): Likewise. - (__arm_vadciq_m_s32): Likewise. - (__arm_vadciq_m_u32): Likewise. - (__arm_vadcq_s32): Likewise. - (__arm_vadcq_u32): Likewise. - (__arm_vadcq_m_s32): Likewise. - (__arm_vadcq_m_u32): Likewise. - (__arm_vsbciq_s32): Likewise. - (__arm_vsbciq_u32): Likewise. - (__arm_vsbciq_m_s32): Likewise. - (__arm_vsbciq_m_u32): Likewise. - (__arm_vsbcq_s32): Likewise. - (__arm_vsbcq_u32): Likewise. - (__arm_vsbcq_m_s32): Likewise. - (__arm_vsbcq_m_u32): Likewise. - (vadciq_m): Define polymorphic variant. - (vadciq): Likewise. - (vadcq_m): Likewise. - (vadcq): Likewise. - (vsbciq_m): Likewise. - (vsbciq): Likewise. - (vsbcq_m): Likewise. - (vsbcq): Likewise. - * config/arm/arm_mve_builtins.def (BINOP_NONE_NONE_NONE): Use builtin - qualifier. - (BINOP_UNONE_UNONE_UNONE): Likewise. - (QUADOP_NONE_NONE_NONE_NONE_UNONE): Likewise. - (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE): Likewise. - * config/arm/mve.md (VADCIQ): Define iterator. - (VADCIQ_M): Likewise. - (VSBCQ): Likewise. - (VSBCQ_M): Likewise. - (VSBCIQ): Likewise. - (VSBCIQ_M): Likewise. - (VADCQ): Likewise. - (VADCQ_M): Likewise. - (mve_vadciq_m_v4si): Define RTL pattern. - (mve_vadciq_v4si): Likewise. - (mve_vadcq_m_v4si): Likewise. - (mve_vadcq_v4si): Likewise. - (mve_vsbciq_m_v4si): Likewise. - (mve_vsbciq_v4si): Likewise. - (mve_vsbcq_m_v4si): Likewise. - (mve_vsbcq_v4si): Likewise. - (get_fpscr_nzcvqc): Define isns. - (set_fpscr_nzcvqc): Define isns. - * config/arm/unspecs.md (UNSPEC_GET_FPSCR_NZCVQC): Define. - (UNSPEC_SET_FPSCR_NZCVQC): Define. - -2020-03-20 Srinath Parvathaneni - - * config/arm/arm_mve.h (vddupq_x_n_u8): Define macro. - (vddupq_x_n_u16): Likewise. - (vddupq_x_n_u32): Likewise. - (vddupq_x_wb_u8): Likewise. - (vddupq_x_wb_u16): Likewise. - (vddupq_x_wb_u32): Likewise. - (vdwdupq_x_n_u8): Likewise. - (vdwdupq_x_n_u16): Likewise. - (vdwdupq_x_n_u32): Likewise. - (vdwdupq_x_wb_u8): Likewise. - (vdwdupq_x_wb_u16): Likewise. - (vdwdupq_x_wb_u32): Likewise. - (vidupq_x_n_u8): Likewise. - (vidupq_x_n_u16): Likewise. - (vidupq_x_n_u32): Likewise. - (vidupq_x_wb_u8): Likewise. - (vidupq_x_wb_u16): Likewise. - (vidupq_x_wb_u32): Likewise. - (viwdupq_x_n_u8): Likewise. - (viwdupq_x_n_u16): Likewise. - (viwdupq_x_n_u32): Likewise. - (viwdupq_x_wb_u8): Likewise. - (viwdupq_x_wb_u16): Likewise. - (viwdupq_x_wb_u32): Likewise. - (vdupq_x_n_s8): Likewise. - (vdupq_x_n_s16): Likewise. - (vdupq_x_n_s32): Likewise. - (vdupq_x_n_u8): Likewise. - (vdupq_x_n_u16): Likewise. - (vdupq_x_n_u32): Likewise. - (vminq_x_s8): Likewise. - (vminq_x_s16): Likewise. - (vminq_x_s32): Likewise. - (vminq_x_u8): Likewise. - (vminq_x_u16): Likewise. - (vminq_x_u32): Likewise. - (vmaxq_x_s8): Likewise. - (vmaxq_x_s16): Likewise. - (vmaxq_x_s32): Likewise. - (vmaxq_x_u8): Likewise. - (vmaxq_x_u16): Likewise. - (vmaxq_x_u32): Likewise. - (vabdq_x_s8): Likewise. - (vabdq_x_s16): Likewise. - (vabdq_x_s32): Likewise. - (vabdq_x_u8): Likewise. - (vabdq_x_u16): Likewise. - (vabdq_x_u32): Likewise. - (vabsq_x_s8): Likewise. - (vabsq_x_s16): Likewise. - (vabsq_x_s32): Likewise. - (vaddq_x_s8): Likewise. - (vaddq_x_s16): Likewise. - (vaddq_x_s32): Likewise. - (vaddq_x_n_s8): Likewise. - (vaddq_x_n_s16): Likewise. - (vaddq_x_n_s32): Likewise. - (vaddq_x_u8): Likewise. - (vaddq_x_u16): Likewise. - (vaddq_x_u32): Likewise. - (vaddq_x_n_u8): Likewise. - (vaddq_x_n_u16): Likewise. - (vaddq_x_n_u32): Likewise. - (vclsq_x_s8): Likewise. - (vclsq_x_s16): Likewise. - (vclsq_x_s32): Likewise. - (vclzq_x_s8): Likewise. - (vclzq_x_s16): Likewise. - (vclzq_x_s32): Likewise. - (vclzq_x_u8): Likewise. - (vclzq_x_u16): Likewise. - (vclzq_x_u32): Likewise. - (vnegq_x_s8): Likewise. - (vnegq_x_s16): Likewise. - (vnegq_x_s32): Likewise. - (vmulhq_x_s8): Likewise. - (vmulhq_x_s16): Likewise. - (vmulhq_x_s32): Likewise. - (vmulhq_x_u8): Likewise. - (vmulhq_x_u16): Likewise. - (vmulhq_x_u32): Likewise. - (vmullbq_poly_x_p8): Likewise. - (vmullbq_poly_x_p16): Likewise. - (vmullbq_int_x_s8): Likewise. - (vmullbq_int_x_s16): Likewise. - (vmullbq_int_x_s32): Likewise. - (vmullbq_int_x_u8): Likewise. - (vmullbq_int_x_u16): Likewise. - (vmullbq_int_x_u32): Likewise. - (vmulltq_poly_x_p8): Likewise. - (vmulltq_poly_x_p16): Likewise. - (vmulltq_int_x_s8): Likewise. - (vmulltq_int_x_s16): Likewise. - (vmulltq_int_x_s32): Likewise. - (vmulltq_int_x_u8): Likewise. - (vmulltq_int_x_u16): Likewise. - (vmulltq_int_x_u32): Likewise. - (vmulq_x_s8): Likewise. - (vmulq_x_s16): Likewise. - (vmulq_x_s32): Likewise. - (vmulq_x_n_s8): Likewise. - (vmulq_x_n_s16): Likewise. - (vmulq_x_n_s32): Likewise. - (vmulq_x_u8): Likewise. - (vmulq_x_u16): Likewise. - (vmulq_x_u32): Likewise. - (vmulq_x_n_u8): Likewise. - (vmulq_x_n_u16): Likewise. - (vmulq_x_n_u32): Likewise. - (vsubq_x_s8): Likewise. - (vsubq_x_s16): Likewise. - (vsubq_x_s32): Likewise. - (vsubq_x_n_s8): Likewise. - (vsubq_x_n_s16): Likewise. - (vsubq_x_n_s32): Likewise. - (vsubq_x_u8): Likewise. - (vsubq_x_u16): Likewise. - (vsubq_x_u32): Likewise. - (vsubq_x_n_u8): Likewise. - (vsubq_x_n_u16): Likewise. - (vsubq_x_n_u32): Likewise. - (vcaddq_rot90_x_s8): Likewise. - (vcaddq_rot90_x_s16): Likewise. - (vcaddq_rot90_x_s32): Likewise. - (vcaddq_rot90_x_u8): Likewise. - (vcaddq_rot90_x_u16): Likewise. - (vcaddq_rot90_x_u32): Likewise. - (vcaddq_rot270_x_s8): Likewise. - (vcaddq_rot270_x_s16): Likewise. - (vcaddq_rot270_x_s32): Likewise. - (vcaddq_rot270_x_u8): Likewise. - (vcaddq_rot270_x_u16): Likewise. - (vcaddq_rot270_x_u32): Likewise. - (vhaddq_x_n_s8): Likewise. - (vhaddq_x_n_s16): Likewise. - (vhaddq_x_n_s32): Likewise. - (vhaddq_x_n_u8): Likewise. - (vhaddq_x_n_u16): Likewise. - (vhaddq_x_n_u32): Likewise. - (vhaddq_x_s8): Likewise. - (vhaddq_x_s16): Likewise. - (vhaddq_x_s32): Likewise. - (vhaddq_x_u8): Likewise. - (vhaddq_x_u16): Likewise. - (vhaddq_x_u32): Likewise. - (vhcaddq_rot90_x_s8): Likewise. - (vhcaddq_rot90_x_s16): Likewise. - (vhcaddq_rot90_x_s32): Likewise. - (vhcaddq_rot270_x_s8): Likewise. - (vhcaddq_rot270_x_s16): Likewise. - (vhcaddq_rot270_x_s32): Likewise. - (vhsubq_x_n_s8): Likewise. - (vhsubq_x_n_s16): Likewise. - (vhsubq_x_n_s32): Likewise. - (vhsubq_x_n_u8): Likewise. - (vhsubq_x_n_u16): Likewise. - (vhsubq_x_n_u32): Likewise. - (vhsubq_x_s8): Likewise. - (vhsubq_x_s16): Likewise. - (vhsubq_x_s32): Likewise. - (vhsubq_x_u8): Likewise. - (vhsubq_x_u16): Likewise. - (vhsubq_x_u32): Likewise. - (vrhaddq_x_s8): Likewise. - (vrhaddq_x_s16): Likewise. - (vrhaddq_x_s32): Likewise. - (vrhaddq_x_u8): Likewise. - (vrhaddq_x_u16): Likewise. - (vrhaddq_x_u32): Likewise. - (vrmulhq_x_s8): Likewise. - (vrmulhq_x_s16): Likewise. - (vrmulhq_x_s32): Likewise. - (vrmulhq_x_u8): Likewise. - (vrmulhq_x_u16): Likewise. - (vrmulhq_x_u32): Likewise. - (vandq_x_s8): Likewise. - (vandq_x_s16): Likewise. - (vandq_x_s32): Likewise. - (vandq_x_u8): Likewise. - (vandq_x_u16): Likewise. - (vandq_x_u32): Likewise. - (vbicq_x_s8): Likewise. - (vbicq_x_s16): Likewise. - (vbicq_x_s32): Likewise. - (vbicq_x_u8): Likewise. - (vbicq_x_u16): Likewise. - (vbicq_x_u32): Likewise. - (vbrsrq_x_n_s8): Likewise. - (vbrsrq_x_n_s16): Likewise. - (vbrsrq_x_n_s32): Likewise. - (vbrsrq_x_n_u8): Likewise. - (vbrsrq_x_n_u16): Likewise. - (vbrsrq_x_n_u32): Likewise. - (veorq_x_s8): Likewise. - (veorq_x_s16): Likewise. - (veorq_x_s32): Likewise. - (veorq_x_u8): Likewise. - (veorq_x_u16): Likewise. - (veorq_x_u32): Likewise. - (vmovlbq_x_s8): Likewise. - (vmovlbq_x_s16): Likewise. - (vmovlbq_x_u8): Likewise. - (vmovlbq_x_u16): Likewise. - (vmovltq_x_s8): Likewise. - (vmovltq_x_s16): Likewise. - (vmovltq_x_u8): Likewise. - (vmovltq_x_u16): Likewise. - (vmvnq_x_s8): Likewise. - (vmvnq_x_s16): Likewise. - (vmvnq_x_s32): Likewise. - (vmvnq_x_u8): Likewise. - (vmvnq_x_u16): Likewise. - (vmvnq_x_u32): Likewise. - (vmvnq_x_n_s16): Likewise. - (vmvnq_x_n_s32): Likewise. - (vmvnq_x_n_u16): Likewise. - (vmvnq_x_n_u32): Likewise. - (vornq_x_s8): Likewise. - (vornq_x_s16): Likewise. - (vornq_x_s32): Likewise. - (vornq_x_u8): Likewise. - (vornq_x_u16): Likewise. - (vornq_x_u32): Likewise. - (vorrq_x_s8): Likewise. - (vorrq_x_s16): Likewise. - (vorrq_x_s32): Likewise. - (vorrq_x_u8): Likewise. - (vorrq_x_u16): Likewise. - (vorrq_x_u32): Likewise. - (vrev16q_x_s8): Likewise. - (vrev16q_x_u8): Likewise. - (vrev32q_x_s8): Likewise. - (vrev32q_x_s16): Likewise. - (vrev32q_x_u8): Likewise. - (vrev32q_x_u16): Likewise. - (vrev64q_x_s8): Likewise. - (vrev64q_x_s16): Likewise. - (vrev64q_x_s32): Likewise. - (vrev64q_x_u8): Likewise. - (vrev64q_x_u16): Likewise. - (vrev64q_x_u32): Likewise. - (vrshlq_x_s8): Likewise. - (vrshlq_x_s16): Likewise. - (vrshlq_x_s32): Likewise. - (vrshlq_x_u8): Likewise. - (vrshlq_x_u16): Likewise. - (vrshlq_x_u32): Likewise. - (vshllbq_x_n_s8): Likewise. - (vshllbq_x_n_s16): Likewise. - (vshllbq_x_n_u8): Likewise. - (vshllbq_x_n_u16): Likewise. - (vshlltq_x_n_s8): Likewise. - (vshlltq_x_n_s16): Likewise. - (vshlltq_x_n_u8): Likewise. - (vshlltq_x_n_u16): Likewise. - (vshlq_x_s8): Likewise. - (vshlq_x_s16): Likewise. - (vshlq_x_s32): Likewise. - (vshlq_x_u8): Likewise. - (vshlq_x_u16): Likewise. - (vshlq_x_u32): Likewise. - (vshlq_x_n_s8): Likewise. - (vshlq_x_n_s16): Likewise. - (vshlq_x_n_s32): Likewise. - (vshlq_x_n_u8): Likewise. - (vshlq_x_n_u16): Likewise. - (vshlq_x_n_u32): Likewise. - (vrshrq_x_n_s8): Likewise. - (vrshrq_x_n_s16): Likewise. - (vrshrq_x_n_s32): Likewise. - (vrshrq_x_n_u8): Likewise. - (vrshrq_x_n_u16): Likewise. - (vrshrq_x_n_u32): Likewise. - (vshrq_x_n_s8): Likewise. - (vshrq_x_n_s16): Likewise. - (vshrq_x_n_s32): Likewise. - (vshrq_x_n_u8): Likewise. - (vshrq_x_n_u16): Likewise. - (vshrq_x_n_u32): Likewise. - (vdupq_x_n_f16): Likewise. - (vdupq_x_n_f32): Likewise. - (vminnmq_x_f16): Likewise. - (vminnmq_x_f32): Likewise. - (vmaxnmq_x_f16): Likewise. - (vmaxnmq_x_f32): Likewise. - (vabdq_x_f16): Likewise. - (vabdq_x_f32): Likewise. - (vabsq_x_f16): Likewise. - (vabsq_x_f32): Likewise. - (vaddq_x_f16): Likewise. - (vaddq_x_f32): Likewise. - (vaddq_x_n_f16): Likewise. - (vaddq_x_n_f32): Likewise. - (vnegq_x_f16): Likewise. - (vnegq_x_f32): Likewise. - (vmulq_x_f16): Likewise. - (vmulq_x_f32): Likewise. - (vmulq_x_n_f16): Likewise. - (vmulq_x_n_f32): Likewise. - (vsubq_x_f16): Likewise. - (vsubq_x_f32): Likewise. - (vsubq_x_n_f16): Likewise. - (vsubq_x_n_f32): Likewise. - (vcaddq_rot90_x_f16): Likewise. - (vcaddq_rot90_x_f32): Likewise. - (vcaddq_rot270_x_f16): Likewise. - (vcaddq_rot270_x_f32): Likewise. - (vcmulq_x_f16): Likewise. - (vcmulq_x_f32): Likewise. - (vcmulq_rot90_x_f16): Likewise. - (vcmulq_rot90_x_f32): Likewise. - (vcmulq_rot180_x_f16): Likewise. - (vcmulq_rot180_x_f32): Likewise. - (vcmulq_rot270_x_f16): Likewise. - (vcmulq_rot270_x_f32): Likewise. - (vcvtaq_x_s16_f16): Likewise. - (vcvtaq_x_s32_f32): Likewise. - (vcvtaq_x_u16_f16): Likewise. - (vcvtaq_x_u32_f32): Likewise. - (vcvtnq_x_s16_f16): Likewise. - (vcvtnq_x_s32_f32): Likewise. - (vcvtnq_x_u16_f16): Likewise. - (vcvtnq_x_u32_f32): Likewise. - (vcvtpq_x_s16_f16): Likewise. - (vcvtpq_x_s32_f32): Likewise. - (vcvtpq_x_u16_f16): Likewise. - (vcvtpq_x_u32_f32): Likewise. - (vcvtmq_x_s16_f16): Likewise. - (vcvtmq_x_s32_f32): Likewise. - (vcvtmq_x_u16_f16): Likewise. - (vcvtmq_x_u32_f32): Likewise. - (vcvtbq_x_f32_f16): Likewise. - (vcvttq_x_f32_f16): Likewise. - (vcvtq_x_f16_u16): Likewise. - (vcvtq_x_f16_s16): Likewise. - (vcvtq_x_f32_s32): Likewise. - (vcvtq_x_f32_u32): Likewise. - (vcvtq_x_n_f16_s16): Likewise. - (vcvtq_x_n_f16_u16): Likewise. - (vcvtq_x_n_f32_s32): Likewise. - (vcvtq_x_n_f32_u32): Likewise. - (vcvtq_x_s16_f16): Likewise. - (vcvtq_x_s32_f32): Likewise. - (vcvtq_x_u16_f16): Likewise. - (vcvtq_x_u32_f32): Likewise. - (vcvtq_x_n_s16_f16): Likewise. - (vcvtq_x_n_s32_f32): Likewise. - (vcvtq_x_n_u16_f16): Likewise. - (vcvtq_x_n_u32_f32): Likewise. - (vrndq_x_f16): Likewise. - (vrndq_x_f32): Likewise. - (vrndnq_x_f16): Likewise. - (vrndnq_x_f32): Likewise. - (vrndmq_x_f16): Likewise. - (vrndmq_x_f32): Likewise. - (vrndpq_x_f16): Likewise. - (vrndpq_x_f32): Likewise. - (vrndaq_x_f16): Likewise. - (vrndaq_x_f32): Likewise. - (vrndxq_x_f16): Likewise. - (vrndxq_x_f32): Likewise. - (vandq_x_f16): Likewise. - (vandq_x_f32): Likewise. - (vbicq_x_f16): Likewise. - (vbicq_x_f32): Likewise. - (vbrsrq_x_n_f16): Likewise. - (vbrsrq_x_n_f32): Likewise. - (veorq_x_f16): Likewise. - (veorq_x_f32): Likewise. - (vornq_x_f16): Likewise. - (vornq_x_f32): Likewise. - (vorrq_x_f16): Likewise. - (vorrq_x_f32): Likewise. - (vrev32q_x_f16): Likewise. - (vrev64q_x_f16): Likewise. - (vrev64q_x_f32): Likewise. - (__arm_vddupq_x_n_u8): Define intrinsic. - (__arm_vddupq_x_n_u16): Likewise. - (__arm_vddupq_x_n_u32): Likewise. - (__arm_vddupq_x_wb_u8): Likewise. - (__arm_vddupq_x_wb_u16): Likewise. - (__arm_vddupq_x_wb_u32): Likewise. - (__arm_vdwdupq_x_n_u8): Likewise. - (__arm_vdwdupq_x_n_u16): Likewise. - (__arm_vdwdupq_x_n_u32): Likewise. - (__arm_vdwdupq_x_wb_u8): Likewise. - (__arm_vdwdupq_x_wb_u16): Likewise. - (__arm_vdwdupq_x_wb_u32): Likewise. - (__arm_vidupq_x_n_u8): Likewise. - (__arm_vidupq_x_n_u16): Likewise. - (__arm_vidupq_x_n_u32): Likewise. - (__arm_vidupq_x_wb_u8): Likewise. - (__arm_vidupq_x_wb_u16): Likewise. - (__arm_vidupq_x_wb_u32): Likewise. - (__arm_viwdupq_x_n_u8): Likewise. - (__arm_viwdupq_x_n_u16): Likewise. - (__arm_viwdupq_x_n_u32): Likewise. - (__arm_viwdupq_x_wb_u8): Likewise. - (__arm_viwdupq_x_wb_u16): Likewise. - (__arm_viwdupq_x_wb_u32): Likewise. - (__arm_vdupq_x_n_s8): Likewise. - (__arm_vdupq_x_n_s16): Likewise. - (__arm_vdupq_x_n_s32): Likewise. - (__arm_vdupq_x_n_u8): Likewise. - (__arm_vdupq_x_n_u16): Likewise. - (__arm_vdupq_x_n_u32): Likewise. - (__arm_vminq_x_s8): Likewise. - (__arm_vminq_x_s16): Likewise. - (__arm_vminq_x_s32): Likewise. - (__arm_vminq_x_u8): Likewise. - (__arm_vminq_x_u16): Likewise. - (__arm_vminq_x_u32): Likewise. - (__arm_vmaxq_x_s8): Likewise. - (__arm_vmaxq_x_s16): Likewise. - (__arm_vmaxq_x_s32): Likewise. - (__arm_vmaxq_x_u8): Likewise. - (__arm_vmaxq_x_u16): Likewise. - (__arm_vmaxq_x_u32): Likewise. - (__arm_vabdq_x_s8): Likewise. - (__arm_vabdq_x_s16): Likewise. - (__arm_vabdq_x_s32): Likewise. - (__arm_vabdq_x_u8): Likewise. - (__arm_vabdq_x_u16): Likewise. - (__arm_vabdq_x_u32): Likewise. - (__arm_vabsq_x_s8): Likewise. - (__arm_vabsq_x_s16): Likewise. - (__arm_vabsq_x_s32): Likewise. - (__arm_vaddq_x_s8): Likewise. - (__arm_vaddq_x_s16): Likewise. - (__arm_vaddq_x_s32): Likewise. - (__arm_vaddq_x_n_s8): Likewise. - (__arm_vaddq_x_n_s16): Likewise. - (__arm_vaddq_x_n_s32): Likewise. - (__arm_vaddq_x_u8): Likewise. - (__arm_vaddq_x_u16): Likewise. - (__arm_vaddq_x_u32): Likewise. - (__arm_vaddq_x_n_u8): Likewise. - (__arm_vaddq_x_n_u16): Likewise. - (__arm_vaddq_x_n_u32): Likewise. - (__arm_vclsq_x_s8): Likewise. - (__arm_vclsq_x_s16): Likewise. - (__arm_vclsq_x_s32): Likewise. - (__arm_vclzq_x_s8): Likewise. - (__arm_vclzq_x_s16): Likewise. - (__arm_vclzq_x_s32): Likewise. - (__arm_vclzq_x_u8): Likewise. - (__arm_vclzq_x_u16): Likewise. - (__arm_vclzq_x_u32): Likewise. - (__arm_vnegq_x_s8): Likewise. - (__arm_vnegq_x_s16): Likewise. - (__arm_vnegq_x_s32): Likewise. - (__arm_vmulhq_x_s8): Likewise. - (__arm_vmulhq_x_s16): Likewise. - (__arm_vmulhq_x_s32): Likewise. - (__arm_vmulhq_x_u8): Likewise. - (__arm_vmulhq_x_u16): Likewise. - (__arm_vmulhq_x_u32): Likewise. - (__arm_vmullbq_poly_x_p8): Likewise. - (__arm_vmullbq_poly_x_p16): Likewise. - (__arm_vmullbq_int_x_s8): Likewise. - (__arm_vmullbq_int_x_s16): Likewise. - (__arm_vmullbq_int_x_s32): Likewise. - (__arm_vmullbq_int_x_u8): Likewise. - (__arm_vmullbq_int_x_u16): Likewise. - (__arm_vmullbq_int_x_u32): Likewise. - (__arm_vmulltq_poly_x_p8): Likewise. - (__arm_vmulltq_poly_x_p16): Likewise. - (__arm_vmulltq_int_x_s8): Likewise. - (__arm_vmulltq_int_x_s16): Likewise. - (__arm_vmulltq_int_x_s32): Likewise. - (__arm_vmulltq_int_x_u8): Likewise. - (__arm_vmulltq_int_x_u16): Likewise. - (__arm_vmulltq_int_x_u32): Likewise. - (__arm_vmulq_x_s8): Likewise. - (__arm_vmulq_x_s16): Likewise. - (__arm_vmulq_x_s32): Likewise. - (__arm_vmulq_x_n_s8): Likewise. - (__arm_vmulq_x_n_s16): Likewise. - (__arm_vmulq_x_n_s32): Likewise. - (__arm_vmulq_x_u8): Likewise. - (__arm_vmulq_x_u16): Likewise. - (__arm_vmulq_x_u32): Likewise. - (__arm_vmulq_x_n_u8): Likewise. - (__arm_vmulq_x_n_u16): Likewise. - (__arm_vmulq_x_n_u32): Likewise. - (__arm_vsubq_x_s8): Likewise. - (__arm_vsubq_x_s16): Likewise. - (__arm_vsubq_x_s32): Likewise. - (__arm_vsubq_x_n_s8): Likewise. - (__arm_vsubq_x_n_s16): Likewise. - (__arm_vsubq_x_n_s32): Likewise. - (__arm_vsubq_x_u8): Likewise. - (__arm_vsubq_x_u16): Likewise. - (__arm_vsubq_x_u32): Likewise. - (__arm_vsubq_x_n_u8): Likewise. - (__arm_vsubq_x_n_u16): Likewise. - (__arm_vsubq_x_n_u32): Likewise. - (__arm_vcaddq_rot90_x_s8): Likewise. - (__arm_vcaddq_rot90_x_s16): Likewise. - (__arm_vcaddq_rot90_x_s32): Likewise. - (__arm_vcaddq_rot90_x_u8): Likewise. - (__arm_vcaddq_rot90_x_u16): Likewise. - (__arm_vcaddq_rot90_x_u32): Likewise. - (__arm_vcaddq_rot270_x_s8): Likewise. - (__arm_vcaddq_rot270_x_s16): Likewise. - (__arm_vcaddq_rot270_x_s32): Likewise. - (__arm_vcaddq_rot270_x_u8): Likewise. - (__arm_vcaddq_rot270_x_u16): Likewise. - (__arm_vcaddq_rot270_x_u32): Likewise. - (__arm_vhaddq_x_n_s8): Likewise. - (__arm_vhaddq_x_n_s16): Likewise. - (__arm_vhaddq_x_n_s32): Likewise. - (__arm_vhaddq_x_n_u8): Likewise. - (__arm_vhaddq_x_n_u16): Likewise. - (__arm_vhaddq_x_n_u32): Likewise. - (__arm_vhaddq_x_s8): Likewise. - (__arm_vhaddq_x_s16): Likewise. - (__arm_vhaddq_x_s32): Likewise. - (__arm_vhaddq_x_u8): Likewise. - (__arm_vhaddq_x_u16): Likewise. - (__arm_vhaddq_x_u32): Likewise. - (__arm_vhcaddq_rot90_x_s8): Likewise. - (__arm_vhcaddq_rot90_x_s16): Likewise. - (__arm_vhcaddq_rot90_x_s32): Likewise. - (__arm_vhcaddq_rot270_x_s8): Likewise. - (__arm_vhcaddq_rot270_x_s16): Likewise. - (__arm_vhcaddq_rot270_x_s32): Likewise. - (__arm_vhsubq_x_n_s8): Likewise. - (__arm_vhsubq_x_n_s16): Likewise. - (__arm_vhsubq_x_n_s32): Likewise. - (__arm_vhsubq_x_n_u8): Likewise. - (__arm_vhsubq_x_n_u16): Likewise. - (__arm_vhsubq_x_n_u32): Likewise. - (__arm_vhsubq_x_s8): Likewise. - (__arm_vhsubq_x_s16): Likewise. - (__arm_vhsubq_x_s32): Likewise. - (__arm_vhsubq_x_u8): Likewise. - (__arm_vhsubq_x_u16): Likewise. - (__arm_vhsubq_x_u32): Likewise. - (__arm_vrhaddq_x_s8): Likewise. - (__arm_vrhaddq_x_s16): Likewise. - (__arm_vrhaddq_x_s32): Likewise. - (__arm_vrhaddq_x_u8): Likewise. - (__arm_vrhaddq_x_u16): Likewise. - (__arm_vrhaddq_x_u32): Likewise. - (__arm_vrmulhq_x_s8): Likewise. - (__arm_vrmulhq_x_s16): Likewise. - (__arm_vrmulhq_x_s32): Likewise. - (__arm_vrmulhq_x_u8): Likewise. - (__arm_vrmulhq_x_u16): Likewise. - (__arm_vrmulhq_x_u32): Likewise. - (__arm_vandq_x_s8): Likewise. - (__arm_vandq_x_s16): Likewise. - (__arm_vandq_x_s32): Likewise. - (__arm_vandq_x_u8): Likewise. - (__arm_vandq_x_u16): Likewise. - (__arm_vandq_x_u32): Likewise. - (__arm_vbicq_x_s8): Likewise. - (__arm_vbicq_x_s16): Likewise. - (__arm_vbicq_x_s32): Likewise. - (__arm_vbicq_x_u8): Likewise. - (__arm_vbicq_x_u16): Likewise. - (__arm_vbicq_x_u32): Likewise. - (__arm_vbrsrq_x_n_s8): Likewise. - (__arm_vbrsrq_x_n_s16): Likewise. - (__arm_vbrsrq_x_n_s32): Likewise. - (__arm_vbrsrq_x_n_u8): Likewise. - (__arm_vbrsrq_x_n_u16): Likewise. - (__arm_vbrsrq_x_n_u32): Likewise. - (__arm_veorq_x_s8): Likewise. - (__arm_veorq_x_s16): Likewise. - (__arm_veorq_x_s32): Likewise. - (__arm_veorq_x_u8): Likewise. - (__arm_veorq_x_u16): Likewise. - (__arm_veorq_x_u32): Likewise. - (__arm_vmovlbq_x_s8): Likewise. - (__arm_vmovlbq_x_s16): Likewise. - (__arm_vmovlbq_x_u8): Likewise. - (__arm_vmovlbq_x_u16): Likewise. - (__arm_vmovltq_x_s8): Likewise. - (__arm_vmovltq_x_s16): Likewise. - (__arm_vmovltq_x_u8): Likewise. - (__arm_vmovltq_x_u16): Likewise. - (__arm_vmvnq_x_s8): Likewise. - (__arm_vmvnq_x_s16): Likewise. - (__arm_vmvnq_x_s32): Likewise. - (__arm_vmvnq_x_u8): Likewise. - (__arm_vmvnq_x_u16): Likewise. - (__arm_vmvnq_x_u32): Likewise. - (__arm_vmvnq_x_n_s16): Likewise. - (__arm_vmvnq_x_n_s32): Likewise. - (__arm_vmvnq_x_n_u16): Likewise. - (__arm_vmvnq_x_n_u32): Likewise. - (__arm_vornq_x_s8): Likewise. - (__arm_vornq_x_s16): Likewise. - (__arm_vornq_x_s32): Likewise. - (__arm_vornq_x_u8): Likewise. - (__arm_vornq_x_u16): Likewise. - (__arm_vornq_x_u32): Likewise. - (__arm_vorrq_x_s8): Likewise. - (__arm_vorrq_x_s16): Likewise. - (__arm_vorrq_x_s32): Likewise. - (__arm_vorrq_x_u8): Likewise. - (__arm_vorrq_x_u16): Likewise. - (__arm_vorrq_x_u32): Likewise. - (__arm_vrev16q_x_s8): Likewise. - (__arm_vrev16q_x_u8): Likewise. - (__arm_vrev32q_x_s8): Likewise. - (__arm_vrev32q_x_s16): Likewise. - (__arm_vrev32q_x_u8): Likewise. - (__arm_vrev32q_x_u16): Likewise. - (__arm_vrev64q_x_s8): Likewise. - (__arm_vrev64q_x_s16): Likewise. - (__arm_vrev64q_x_s32): Likewise. - (__arm_vrev64q_x_u8): Likewise. - (__arm_vrev64q_x_u16): Likewise. - (__arm_vrev64q_x_u32): Likewise. - (__arm_vrshlq_x_s8): Likewise. - (__arm_vrshlq_x_s16): Likewise. - (__arm_vrshlq_x_s32): Likewise. - (__arm_vrshlq_x_u8): Likewise. - (__arm_vrshlq_x_u16): Likewise. - (__arm_vrshlq_x_u32): Likewise. - (__arm_vshllbq_x_n_s8): Likewise. - (__arm_vshllbq_x_n_s16): Likewise. - (__arm_vshllbq_x_n_u8): Likewise. - (__arm_vshllbq_x_n_u16): Likewise. - (__arm_vshlltq_x_n_s8): Likewise. - (__arm_vshlltq_x_n_s16): Likewise. - (__arm_vshlltq_x_n_u8): Likewise. - (__arm_vshlltq_x_n_u16): Likewise. - (__arm_vshlq_x_s8): Likewise. - (__arm_vshlq_x_s16): Likewise. - (__arm_vshlq_x_s32): Likewise. - (__arm_vshlq_x_u8): Likewise. - (__arm_vshlq_x_u16): Likewise. - (__arm_vshlq_x_u32): Likewise. - (__arm_vshlq_x_n_s8): Likewise. - (__arm_vshlq_x_n_s16): Likewise. - (__arm_vshlq_x_n_s32): Likewise. - (__arm_vshlq_x_n_u8): Likewise. - (__arm_vshlq_x_n_u16): Likewise. - (__arm_vshlq_x_n_u32): Likewise. - (__arm_vrshrq_x_n_s8): Likewise. - (__arm_vrshrq_x_n_s16): Likewise. - (__arm_vrshrq_x_n_s32): Likewise. - (__arm_vrshrq_x_n_u8): Likewise. - (__arm_vrshrq_x_n_u16): Likewise. - (__arm_vrshrq_x_n_u32): Likewise. - (__arm_vshrq_x_n_s8): Likewise. - (__arm_vshrq_x_n_s16): Likewise. - (__arm_vshrq_x_n_s32): Likewise. - (__arm_vshrq_x_n_u8): Likewise. - (__arm_vshrq_x_n_u16): Likewise. - (__arm_vshrq_x_n_u32): Likewise. - (__arm_vdupq_x_n_f16): Likewise. - (__arm_vdupq_x_n_f32): Likewise. - (__arm_vminnmq_x_f16): Likewise. - (__arm_vminnmq_x_f32): Likewise. - (__arm_vmaxnmq_x_f16): Likewise. - (__arm_vmaxnmq_x_f32): Likewise. - (__arm_vabdq_x_f16): Likewise. - (__arm_vabdq_x_f32): Likewise. - (__arm_vabsq_x_f16): Likewise. - (__arm_vabsq_x_f32): Likewise. - (__arm_vaddq_x_f16): Likewise. - (__arm_vaddq_x_f32): Likewise. - (__arm_vaddq_x_n_f16): Likewise. - (__arm_vaddq_x_n_f32): Likewise. - (__arm_vnegq_x_f16): Likewise. - (__arm_vnegq_x_f32): Likewise. - (__arm_vmulq_x_f16): Likewise. - (__arm_vmulq_x_f32): Likewise. - (__arm_vmulq_x_n_f16): Likewise. - (__arm_vmulq_x_n_f32): Likewise. - (__arm_vsubq_x_f16): Likewise. - (__arm_vsubq_x_f32): Likewise. - (__arm_vsubq_x_n_f16): Likewise. - (__arm_vsubq_x_n_f32): Likewise. - (__arm_vcaddq_rot90_x_f16): Likewise. - (__arm_vcaddq_rot90_x_f32): Likewise. - (__arm_vcaddq_rot270_x_f16): Likewise. - (__arm_vcaddq_rot270_x_f32): Likewise. - (__arm_vcmulq_x_f16): Likewise. - (__arm_vcmulq_x_f32): Likewise. - (__arm_vcmulq_rot90_x_f16): Likewise. - (__arm_vcmulq_rot90_x_f32): Likewise. - (__arm_vcmulq_rot180_x_f16): Likewise. - (__arm_vcmulq_rot180_x_f32): Likewise. - (__arm_vcmulq_rot270_x_f16): Likewise. - (__arm_vcmulq_rot270_x_f32): Likewise. - (__arm_vcvtaq_x_s16_f16): Likewise. - (__arm_vcvtaq_x_s32_f32): Likewise. - (__arm_vcvtaq_x_u16_f16): Likewise. - (__arm_vcvtaq_x_u32_f32): Likewise. - (__arm_vcvtnq_x_s16_f16): Likewise. - (__arm_vcvtnq_x_s32_f32): Likewise. - (__arm_vcvtnq_x_u16_f16): Likewise. - (__arm_vcvtnq_x_u32_f32): Likewise. - (__arm_vcvtpq_x_s16_f16): Likewise. - (__arm_vcvtpq_x_s32_f32): Likewise. - (__arm_vcvtpq_x_u16_f16): Likewise. - (__arm_vcvtpq_x_u32_f32): Likewise. - (__arm_vcvtmq_x_s16_f16): Likewise. - (__arm_vcvtmq_x_s32_f32): Likewise. - (__arm_vcvtmq_x_u16_f16): Likewise. - (__arm_vcvtmq_x_u32_f32): Likewise. - (__arm_vcvtbq_x_f32_f16): Likewise. - (__arm_vcvttq_x_f32_f16): Likewise. - (__arm_vcvtq_x_f16_u16): Likewise. - (__arm_vcvtq_x_f16_s16): Likewise. - (__arm_vcvtq_x_f32_s32): Likewise. - (__arm_vcvtq_x_f32_u32): Likewise. - (__arm_vcvtq_x_n_f16_s16): Likewise. - (__arm_vcvtq_x_n_f16_u16): Likewise. - (__arm_vcvtq_x_n_f32_s32): Likewise. - (__arm_vcvtq_x_n_f32_u32): Likewise. - (__arm_vcvtq_x_s16_f16): Likewise. - (__arm_vcvtq_x_s32_f32): Likewise. - (__arm_vcvtq_x_u16_f16): Likewise. - (__arm_vcvtq_x_u32_f32): Likewise. - (__arm_vcvtq_x_n_s16_f16): Likewise. - (__arm_vcvtq_x_n_s32_f32): Likewise. - (__arm_vcvtq_x_n_u16_f16): Likewise. - (__arm_vcvtq_x_n_u32_f32): Likewise. - (__arm_vrndq_x_f16): Likewise. - (__arm_vrndq_x_f32): Likewise. - (__arm_vrndnq_x_f16): Likewise. - (__arm_vrndnq_x_f32): Likewise. - (__arm_vrndmq_x_f16): Likewise. - (__arm_vrndmq_x_f32): Likewise. - (__arm_vrndpq_x_f16): Likewise. - (__arm_vrndpq_x_f32): Likewise. - (__arm_vrndaq_x_f16): Likewise. - (__arm_vrndaq_x_f32): Likewise. - (__arm_vrndxq_x_f16): Likewise. - (__arm_vrndxq_x_f32): Likewise. - (__arm_vandq_x_f16): Likewise. - (__arm_vandq_x_f32): Likewise. - (__arm_vbicq_x_f16): Likewise. - (__arm_vbicq_x_f32): Likewise. - (__arm_vbrsrq_x_n_f16): Likewise. - (__arm_vbrsrq_x_n_f32): Likewise. - (__arm_veorq_x_f16): Likewise. - (__arm_veorq_x_f32): Likewise. - (__arm_vornq_x_f16): Likewise. - (__arm_vornq_x_f32): Likewise. - (__arm_vorrq_x_f16): Likewise. - (__arm_vorrq_x_f32): Likewise. - (__arm_vrev32q_x_f16): Likewise. - (__arm_vrev64q_x_f16): Likewise. - (__arm_vrev64q_x_f32): Likewise. - (vabdq_x): Define polymorphic variant. - (vabsq_x): Likewise. - (vaddq_x): Likewise. - (vandq_x): Likewise. - (vbicq_x): Likewise. - (vbrsrq_x): Likewise. - (vcaddq_rot270_x): Likewise. - (vcaddq_rot90_x): Likewise. - (vcmulq_rot180_x): Likewise. - (vcmulq_rot270_x): Likewise. - (vcmulq_x): Likewise. - (vcvtq_x): Likewise. - (vcvtq_x_n): Likewise. - (vcvtnq_m): Likewise. - (veorq_x): Likewise. - (vmaxnmq_x): Likewise. - (vminnmq_x): Likewise. - (vmulq_x): Likewise. - (vnegq_x): Likewise. - (vornq_x): Likewise. - (vorrq_x): Likewise. - (vrev32q_x): Likewise. - (vrev64q_x): Likewise. - (vrndaq_x): Likewise. - (vrndmq_x): Likewise. - (vrndnq_x): Likewise. - (vrndpq_x): Likewise. - (vrndq_x): Likewise. - (vrndxq_x): Likewise. - (vsubq_x): Likewise. - (vcmulq_rot90_x): Likewise. - (vadciq): Likewise. - (vclsq_x): Likewise. - (vclzq_x): Likewise. - (vhaddq_x): Likewise. - (vhcaddq_rot270_x): Likewise. - (vhcaddq_rot90_x): Likewise. - (vhsubq_x): Likewise. - (vmaxq_x): Likewise. - (vminq_x): Likewise. - (vmovlbq_x): Likewise. - (vmovltq_x): Likewise. - (vmulhq_x): Likewise. - (vmullbq_int_x): Likewise. - (vmullbq_poly_x): Likewise. - (vmulltq_int_x): Likewise. - (vmulltq_poly_x): Likewise. - (vmvnq_x): Likewise. - (vrev16q_x): Likewise. - (vrhaddq_x): Likewise. - (vrmulhq_x): Likewise. - (vrshlq_x): Likewise. - (vrshrq_x): Likewise. - (vshllbq_x): Likewise. - (vshlltq_x): Likewise. - (vshlq_x_n): Likewise. - (vshlq_x): Likewise. - (vdwdupq_x_u8): Likewise. - (vdwdupq_x_u16): Likewise. - (vdwdupq_x_u32): Likewise. - (viwdupq_x_u8): Likewise. - (viwdupq_x_u16): Likewise. - (viwdupq_x_u32): Likewise. - (vidupq_x_u8): Likewise. - (vddupq_x_u8): Likewise. - (vidupq_x_u16): Likewise. - (vddupq_x_u16): Likewise. - (vidupq_x_u32): Likewise. - (vddupq_x_u32): Likewise. - (vshrq_x): Likewise. - -2020-03-20 Richard Biener - - * tree-vect-slp.c (vect_analyze_slp_instance): Push the stmts - to vectorize for CTOR defs. - -2020-03-20 Srinath Parvathaneni - Andre Vieira - Mihail Ionescu - - * config/arm/arm-builtins.c (LDRGBWBS_QUALIFIERS): Define builtin - qualifier. - (LDRGBWBU_QUALIFIERS): Likewise. - (LDRGBWBS_Z_QUALIFIERS): Likewise. - (LDRGBWBU_Z_QUALIFIERS): Likewise. - (STRSBWBS_QUALIFIERS): Likewise. - (STRSBWBU_QUALIFIERS): Likewise. - (STRSBWBS_P_QUALIFIERS): Likewise. - (STRSBWBU_P_QUALIFIERS): Likewise. - * config/arm/arm_mve.h (vldrdq_gather_base_wb_s64): Define macro. - (vldrdq_gather_base_wb_u64): Likewise. - (vldrdq_gather_base_wb_z_s64): Likewise. - (vldrdq_gather_base_wb_z_u64): Likewise. - (vldrwq_gather_base_wb_f32): Likewise. - (vldrwq_gather_base_wb_s32): Likewise. - (vldrwq_gather_base_wb_u32): Likewise. - (vldrwq_gather_base_wb_z_f32): Likewise. - (vldrwq_gather_base_wb_z_s32): Likewise. - (vldrwq_gather_base_wb_z_u32): Likewise. - (vstrdq_scatter_base_wb_p_s64): Likewise. - (vstrdq_scatter_base_wb_p_u64): Likewise. - (vstrdq_scatter_base_wb_s64): Likewise. - (vstrdq_scatter_base_wb_u64): Likewise. - (vstrwq_scatter_base_wb_p_s32): Likewise. - (vstrwq_scatter_base_wb_p_f32): Likewise. - (vstrwq_scatter_base_wb_p_u32): Likewise. - (vstrwq_scatter_base_wb_s32): Likewise. - (vstrwq_scatter_base_wb_u32): Likewise. - (vstrwq_scatter_base_wb_f32): Likewise. - (__arm_vldrdq_gather_base_wb_s64): Define intrinsic. - (__arm_vldrdq_gather_base_wb_u64): Likewise. - (__arm_vldrdq_gather_base_wb_z_s64): Likewise. - (__arm_vldrdq_gather_base_wb_z_u64): Likewise. - (__arm_vldrwq_gather_base_wb_s32): Likewise. - (__arm_vldrwq_gather_base_wb_u32): Likewise. - (__arm_vldrwq_gather_base_wb_z_s32): Likewise. - (__arm_vldrwq_gather_base_wb_z_u32): Likewise. - (__arm_vstrdq_scatter_base_wb_s64): Likewise. - (__arm_vstrdq_scatter_base_wb_u64): Likewise. - (__arm_vstrdq_scatter_base_wb_p_s64): Likewise. - (__arm_vstrdq_scatter_base_wb_p_u64): Likewise. - (__arm_vstrwq_scatter_base_wb_p_s32): Likewise. - (__arm_vstrwq_scatter_base_wb_p_u32): Likewise. - (__arm_vstrwq_scatter_base_wb_s32): Likewise. - (__arm_vstrwq_scatter_base_wb_u32): Likewise. - (__arm_vldrwq_gather_base_wb_f32): Likewise. - (__arm_vldrwq_gather_base_wb_z_f32): Likewise. - (__arm_vstrwq_scatter_base_wb_f32): Likewise. - (__arm_vstrwq_scatter_base_wb_p_f32): Likewise. - (vstrwq_scatter_base_wb): Define polymorphic variant. - (vstrwq_scatter_base_wb_p): Likewise. - (vstrdq_scatter_base_wb_p): Likewise. - (vstrdq_scatter_base_wb): Likewise. - * config/arm/arm_mve_builtins.def (LDRGBWBS_QUALIFIERS): Use builtin - qualifier. - * config/arm/mve.md (mve_vstrwq_scatter_base_wb_v4si): Define RTL - pattern. - (mve_vstrwq_scatter_base_wb_add_v4si): Likewise. - (mve_vstrwq_scatter_base_wb_v4si_insn): Likewise. - (mve_vstrwq_scatter_base_wb_p_v4si): Likewise. - (mve_vstrwq_scatter_base_wb_p_add_v4si): Likewise. - (mve_vstrwq_scatter_base_wb_p_v4si_insn): Likewise. - (mve_vstrwq_scatter_base_wb_fv4sf): Likewise. - (mve_vstrwq_scatter_base_wb_add_fv4sf): Likewise. - (mve_vstrwq_scatter_base_wb_fv4sf_insn): Likewise. - (mve_vstrwq_scatter_base_wb_p_fv4sf): Likewise. - (mve_vstrwq_scatter_base_wb_p_add_fv4sf): Likewise. - (mve_vstrwq_scatter_base_wb_p_fv4sf_insn): Likewise. - (mve_vstrdq_scatter_base_wb_v2di): Likewise. - (mve_vstrdq_scatter_base_wb_add_v2di): Likewise. - (mve_vstrdq_scatter_base_wb_v2di_insn): Likewise. - (mve_vstrdq_scatter_base_wb_p_v2di): Likewise. - (mve_vstrdq_scatter_base_wb_p_add_v2di): Likewise. - (mve_vstrdq_scatter_base_wb_p_v2di_insn): Likewise. - (mve_vldrwq_gather_base_wb_v4si): Likewise. - (mve_vldrwq_gather_base_wb_v4si_insn): Likewise. - (mve_vldrwq_gather_base_wb_z_v4si): Likewise. - (mve_vldrwq_gather_base_wb_z_v4si_insn): Likewise. - (mve_vldrwq_gather_base_wb_fv4sf): Likewise. - (mve_vldrwq_gather_base_wb_fv4sf_insn): Likewise. - (mve_vldrwq_gather_base_wb_z_fv4sf): Likewise. - (mve_vldrwq_gather_base_wb_z_fv4sf_insn): Likewise. - (mve_vldrdq_gather_base_wb_v2di): Likewise. - (mve_vldrdq_gather_base_wb_v2di_insn): Likewise. - (mve_vldrdq_gather_base_wb_z_v2di): Likewise. - (mve_vldrdq_gather_base_wb_z_v2di_insn): Likewise. - -2020-03-20 Srinath Parvathaneni - Andre Vieira - Mihail Ionescu - - * config/arm/arm-builtins.c - (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Define quinary - builtin qualifier. - * config/arm/arm_mve.h (vddupq_m_n_u8): Define macro. - (vddupq_m_n_u32): Likewise. - (vddupq_m_n_u16): Likewise. - (vddupq_m_wb_u8): Likewise. - (vddupq_m_wb_u16): Likewise. - (vddupq_m_wb_u32): Likewise. - (vddupq_n_u8): Likewise. - (vddupq_n_u32): Likewise. - (vddupq_n_u16): Likewise. - (vddupq_wb_u8): Likewise. - (vddupq_wb_u16): Likewise. - (vddupq_wb_u32): Likewise. - (vdwdupq_m_n_u8): Likewise. - (vdwdupq_m_n_u32): Likewise. - (vdwdupq_m_n_u16): Likewise. - (vdwdupq_m_wb_u8): Likewise. - (vdwdupq_m_wb_u32): Likewise. - (vdwdupq_m_wb_u16): Likewise. - (vdwdupq_n_u8): Likewise. - (vdwdupq_n_u32): Likewise. - (vdwdupq_n_u16): Likewise. - (vdwdupq_wb_u8): Likewise. - (vdwdupq_wb_u32): Likewise. - (vdwdupq_wb_u16): Likewise. - (vidupq_m_n_u8): Likewise. - (vidupq_m_n_u32): Likewise. - (vidupq_m_n_u16): Likewise. - (vidupq_m_wb_u8): Likewise. - (vidupq_m_wb_u16): Likewise. - (vidupq_m_wb_u32): Likewise. - (vidupq_n_u8): Likewise. - (vidupq_n_u32): Likewise. - (vidupq_n_u16): Likewise. - (vidupq_wb_u8): Likewise. - (vidupq_wb_u16): Likewise. - (vidupq_wb_u32): Likewise. - (viwdupq_m_n_u8): Likewise. - (viwdupq_m_n_u32): Likewise. - (viwdupq_m_n_u16): Likewise. - (viwdupq_m_wb_u8): Likewise. - (viwdupq_m_wb_u32): Likewise. - (viwdupq_m_wb_u16): Likewise. - (viwdupq_n_u8): Likewise. - (viwdupq_n_u32): Likewise. - (viwdupq_n_u16): Likewise. - (viwdupq_wb_u8): Likewise. - (viwdupq_wb_u32): Likewise. - (viwdupq_wb_u16): Likewise. - (__arm_vddupq_m_n_u8): Define intrinsic. - (__arm_vddupq_m_n_u32): Likewise. - (__arm_vddupq_m_n_u16): Likewise. - (__arm_vddupq_m_wb_u8): Likewise. - (__arm_vddupq_m_wb_u16): Likewise. - (__arm_vddupq_m_wb_u32): Likewise. - (__arm_vddupq_n_u8): Likewise. - (__arm_vddupq_n_u32): Likewise. - (__arm_vddupq_n_u16): Likewise. - (__arm_vdwdupq_m_n_u8): Likewise. - (__arm_vdwdupq_m_n_u32): Likewise. - (__arm_vdwdupq_m_n_u16): Likewise. - (__arm_vdwdupq_m_wb_u8): Likewise. - (__arm_vdwdupq_m_wb_u32): Likewise. - (__arm_vdwdupq_m_wb_u16): Likewise. - (__arm_vdwdupq_n_u8): Likewise. - (__arm_vdwdupq_n_u32): Likewise. - (__arm_vdwdupq_n_u16): Likewise. - (__arm_vdwdupq_wb_u8): Likewise. - (__arm_vdwdupq_wb_u32): Likewise. - (__arm_vdwdupq_wb_u16): Likewise. - (__arm_vidupq_m_n_u8): Likewise. - (__arm_vidupq_m_n_u32): Likewise. - (__arm_vidupq_m_n_u16): Likewise. - (__arm_vidupq_n_u8): Likewise. - (__arm_vidupq_m_wb_u8): Likewise. - (__arm_vidupq_m_wb_u16): Likewise. - (__arm_vidupq_m_wb_u32): Likewise. - (__arm_vidupq_n_u32): Likewise. - (__arm_vidupq_n_u16): Likewise. - (__arm_vidupq_wb_u8): Likewise. - (__arm_vidupq_wb_u16): Likewise. - (__arm_vidupq_wb_u32): Likewise. - (__arm_vddupq_wb_u8): Likewise. - (__arm_vddupq_wb_u16): Likewise. - (__arm_vddupq_wb_u32): Likewise. - (__arm_viwdupq_m_n_u8): Likewise. - (__arm_viwdupq_m_n_u32): Likewise. - (__arm_viwdupq_m_n_u16): Likewise. - (__arm_viwdupq_m_wb_u8): Likewise. - (__arm_viwdupq_m_wb_u32): Likewise. - (__arm_viwdupq_m_wb_u16): Likewise. - (__arm_viwdupq_n_u8): Likewise. - (__arm_viwdupq_n_u32): Likewise. - (__arm_viwdupq_n_u16): Likewise. - (__arm_viwdupq_wb_u8): Likewise. - (__arm_viwdupq_wb_u32): Likewise. - (__arm_viwdupq_wb_u16): Likewise. - (vidupq_m): Define polymorphic variant. - (vddupq_m): Likewise. - (vidupq_u16): Likewise. - (vidupq_u32): Likewise. - (vidupq_u8): Likewise. - (vddupq_u16): Likewise. - (vddupq_u32): Likewise. - (vddupq_u8): Likewise. - (viwdupq_m): Likewise. - (viwdupq_u16): Likewise. - (viwdupq_u32): Likewise. - (viwdupq_u8): Likewise. - (vdwdupq_m): Likewise. - (vdwdupq_u16): Likewise. - (vdwdupq_u32): Likewise. - (vdwdupq_u8): Likewise. - * config/arm/arm_mve_builtins.def - (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Use builtin - qualifier. - * config/arm/mve.md (mve_vidupq_n_u): Define RTL pattern. - (mve_vidupq_u_insn): Likewise. - (mve_vidupq_m_n_u): Likewise. - (mve_vidupq_m_wb_u_insn): Likewise. - (mve_vddupq_n_u): Likewise. - (mve_vddupq_u_insn): Likewise. - (mve_vddupq_m_n_u): Likewise. - (mve_vddupq_m_wb_u_insn): Likewise. - (mve_vdwdupq_n_u): Likewise. - (mve_vdwdupq_wb_u): Likewise. - (mve_vdwdupq_wb_u_insn): Likewise. - (mve_vdwdupq_m_n_u): Likewise. - (mve_vdwdupq_m_wb_u): Likewise. - (mve_vdwdupq_m_wb_u_insn): Likewise. - (mve_viwdupq_n_u): Likewise. - (mve_viwdupq_wb_u): Likewise. - (mve_viwdupq_wb_u_insn): Likewise. - (mve_viwdupq_m_n_u): Likewise. - (mve_viwdupq_m_wb_u): Likewise. - (mve_viwdupq_m_wb_u_insn): Likewise. - -2020-03-20 Srinath Parvathaneni - - * config/arm/arm_mve.h (vreinterpretq_s16_s32): Define macro. - (vreinterpretq_s16_s64): Likewise. - (vreinterpretq_s16_s8): Likewise. - (vreinterpretq_s16_u16): Likewise. - (vreinterpretq_s16_u32): Likewise. - (vreinterpretq_s16_u64): Likewise. - (vreinterpretq_s16_u8): Likewise. - (vreinterpretq_s32_s16): Likewise. - (vreinterpretq_s32_s64): Likewise. - (vreinterpretq_s32_s8): Likewise. - (vreinterpretq_s32_u16): Likewise. - (vreinterpretq_s32_u32): Likewise. - (vreinterpretq_s32_u64): Likewise. - (vreinterpretq_s32_u8): Likewise. - (vreinterpretq_s64_s16): Likewise. - (vreinterpretq_s64_s32): Likewise. - (vreinterpretq_s64_s8): Likewise. - (vreinterpretq_s64_u16): Likewise. - (vreinterpretq_s64_u32): Likewise. - (vreinterpretq_s64_u64): Likewise. - (vreinterpretq_s64_u8): Likewise. - (vreinterpretq_s8_s16): Likewise. - (vreinterpretq_s8_s32): Likewise. - (vreinterpretq_s8_s64): Likewise. - (vreinterpretq_s8_u16): Likewise. - (vreinterpretq_s8_u32): Likewise. - (vreinterpretq_s8_u64): Likewise. - (vreinterpretq_s8_u8): Likewise. - (vreinterpretq_u16_s16): Likewise. - (vreinterpretq_u16_s32): Likewise. - (vreinterpretq_u16_s64): Likewise. - (vreinterpretq_u16_s8): Likewise. - (vreinterpretq_u16_u32): Likewise. - (vreinterpretq_u16_u64): Likewise. - (vreinterpretq_u16_u8): Likewise. - (vreinterpretq_u32_s16): Likewise. - (vreinterpretq_u32_s32): Likewise. - (vreinterpretq_u32_s64): Likewise. - (vreinterpretq_u32_s8): Likewise. - (vreinterpretq_u32_u16): Likewise. - (vreinterpretq_u32_u64): Likewise. - (vreinterpretq_u32_u8): Likewise. - (vreinterpretq_u64_s16): Likewise. - (vreinterpretq_u64_s32): Likewise. - (vreinterpretq_u64_s64): Likewise. - (vreinterpretq_u64_s8): Likewise. - (vreinterpretq_u64_u16): Likewise. - (vreinterpretq_u64_u32): Likewise. - (vreinterpretq_u64_u8): Likewise. - (vreinterpretq_u8_s16): Likewise. - (vreinterpretq_u8_s32): Likewise. - (vreinterpretq_u8_s64): Likewise. - (vreinterpretq_u8_s8): Likewise. - (vreinterpretq_u8_u16): Likewise. - (vreinterpretq_u8_u32): Likewise. - (vreinterpretq_u8_u64): Likewise. - (vreinterpretq_s32_f16): Likewise. - (vreinterpretq_s32_f32): Likewise. - (vreinterpretq_u16_f16): Likewise. - (vreinterpretq_u16_f32): Likewise. - (vreinterpretq_u32_f16): Likewise. - (vreinterpretq_u32_f32): Likewise. - (vreinterpretq_u64_f16): Likewise. - (vreinterpretq_u64_f32): Likewise. - (vreinterpretq_u8_f16): Likewise. - (vreinterpretq_u8_f32): Likewise. - (vreinterpretq_f16_f32): Likewise. - (vreinterpretq_f16_s16): Likewise. - (vreinterpretq_f16_s32): Likewise. - (vreinterpretq_f16_s64): Likewise. - (vreinterpretq_f16_s8): Likewise. - (vreinterpretq_f16_u16): Likewise. - (vreinterpretq_f16_u32): Likewise. - (vreinterpretq_f16_u64): Likewise. - (vreinterpretq_f16_u8): Likewise. - (vreinterpretq_f32_f16): Likewise. - (vreinterpretq_f32_s16): Likewise. - (vreinterpretq_f32_s32): Likewise. - (vreinterpretq_f32_s64): Likewise. - (vreinterpretq_f32_s8): Likewise. - (vreinterpretq_f32_u16): Likewise. - (vreinterpretq_f32_u32): Likewise. - (vreinterpretq_f32_u64): Likewise. - (vreinterpretq_f32_u8): Likewise. - (vreinterpretq_s16_f16): Likewise. - (vreinterpretq_s16_f32): Likewise. - (vreinterpretq_s64_f16): Likewise. - (vreinterpretq_s64_f32): Likewise. - (vreinterpretq_s8_f16): Likewise. - (vreinterpretq_s8_f32): Likewise. - (vuninitializedq_u8): Likewise. - (vuninitializedq_u16): Likewise. - (vuninitializedq_u32): Likewise. - (vuninitializedq_u64): Likewise. - (vuninitializedq_s8): Likewise. - (vuninitializedq_s16): Likewise. - (vuninitializedq_s32): Likewise. - (vuninitializedq_s64): Likewise. - (vuninitializedq_f16): Likewise. - (vuninitializedq_f32): Likewise. - (__arm_vuninitializedq_u8): Define intrinsic. - (__arm_vuninitializedq_u16): Likewise. - (__arm_vuninitializedq_u32): Likewise. - (__arm_vuninitializedq_u64): Likewise. - (__arm_vuninitializedq_s8): Likewise. - (__arm_vuninitializedq_s16): Likewise. - (__arm_vuninitializedq_s32): Likewise. - (__arm_vuninitializedq_s64): Likewise. - (__arm_vreinterpretq_s16_s32): Likewise. - (__arm_vreinterpretq_s16_s64): Likewise. - (__arm_vreinterpretq_s16_s8): Likewise. - (__arm_vreinterpretq_s16_u16): Likewise. - (__arm_vreinterpretq_s16_u32): Likewise. - (__arm_vreinterpretq_s16_u64): Likewise. - (__arm_vreinterpretq_s16_u8): Likewise. - (__arm_vreinterpretq_s32_s16): Likewise. - (__arm_vreinterpretq_s32_s64): Likewise. - (__arm_vreinterpretq_s32_s8): Likewise. - (__arm_vreinterpretq_s32_u16): Likewise. - (__arm_vreinterpretq_s32_u32): Likewise. - (__arm_vreinterpretq_s32_u64): Likewise. - (__arm_vreinterpretq_s32_u8): Likewise. - (__arm_vreinterpretq_s64_s16): Likewise. - (__arm_vreinterpretq_s64_s32): Likewise. - (__arm_vreinterpretq_s64_s8): Likewise. - (__arm_vreinterpretq_s64_u16): Likewise. - (__arm_vreinterpretq_s64_u32): Likewise. - (__arm_vreinterpretq_s64_u64): Likewise. - (__arm_vreinterpretq_s64_u8): Likewise. - (__arm_vreinterpretq_s8_s16): Likewise. - (__arm_vreinterpretq_s8_s32): Likewise. - (__arm_vreinterpretq_s8_s64): Likewise. - (__arm_vreinterpretq_s8_u16): Likewise. - (__arm_vreinterpretq_s8_u32): Likewise. - (__arm_vreinterpretq_s8_u64): Likewise. - (__arm_vreinterpretq_s8_u8): Likewise. - (__arm_vreinterpretq_u16_s16): Likewise. - (__arm_vreinterpretq_u16_s32): Likewise. - (__arm_vreinterpretq_u16_s64): Likewise. - (__arm_vreinterpretq_u16_s8): Likewise. - (__arm_vreinterpretq_u16_u32): Likewise. - (__arm_vreinterpretq_u16_u64): Likewise. - (__arm_vreinterpretq_u16_u8): Likewise. - (__arm_vreinterpretq_u32_s16): Likewise. - (__arm_vreinterpretq_u32_s32): Likewise. - (__arm_vreinterpretq_u32_s64): Likewise. - (__arm_vreinterpretq_u32_s8): Likewise. - (__arm_vreinterpretq_u32_u16): Likewise. - (__arm_vreinterpretq_u32_u64): Likewise. - (__arm_vreinterpretq_u32_u8): Likewise. - (__arm_vreinterpretq_u64_s16): Likewise. - (__arm_vreinterpretq_u64_s32): Likewise. - (__arm_vreinterpretq_u64_s64): Likewise. - (__arm_vreinterpretq_u64_s8): Likewise. - (__arm_vreinterpretq_u64_u16): Likewise. - (__arm_vreinterpretq_u64_u32): Likewise. - (__arm_vreinterpretq_u64_u8): Likewise. - (__arm_vreinterpretq_u8_s16): Likewise. - (__arm_vreinterpretq_u8_s32): Likewise. - (__arm_vreinterpretq_u8_s64): Likewise. - (__arm_vreinterpretq_u8_s8): Likewise. - (__arm_vreinterpretq_u8_u16): Likewise. - (__arm_vreinterpretq_u8_u32): Likewise. - (__arm_vreinterpretq_u8_u64): Likewise. - (__arm_vuninitializedq_f16): Likewise. - (__arm_vuninitializedq_f32): Likewise. - (__arm_vreinterpretq_s32_f16): Likewise. - (__arm_vreinterpretq_s32_f32): Likewise. - (__arm_vreinterpretq_s16_f16): Likewise. - (__arm_vreinterpretq_s16_f32): Likewise. - (__arm_vreinterpretq_s64_f16): Likewise. - (__arm_vreinterpretq_s64_f32): Likewise. - (__arm_vreinterpretq_s8_f16): Likewise. - (__arm_vreinterpretq_s8_f32): Likewise. - (__arm_vreinterpretq_u16_f16): Likewise. - (__arm_vreinterpretq_u16_f32): Likewise. - (__arm_vreinterpretq_u32_f16): Likewise. - (__arm_vreinterpretq_u32_f32): Likewise. - (__arm_vreinterpretq_u64_f16): Likewise. - (__arm_vreinterpretq_u64_f32): Likewise. - (__arm_vreinterpretq_u8_f16): Likewise. - (__arm_vreinterpretq_u8_f32): Likewise. - (__arm_vreinterpretq_f16_f32): Likewise. - (__arm_vreinterpretq_f16_s16): Likewise. - (__arm_vreinterpretq_f16_s32): Likewise. - (__arm_vreinterpretq_f16_s64): Likewise. - (__arm_vreinterpretq_f16_s8): Likewise. - (__arm_vreinterpretq_f16_u16): Likewise. - (__arm_vreinterpretq_f16_u32): Likewise. - (__arm_vreinterpretq_f16_u64): Likewise. - (__arm_vreinterpretq_f16_u8): Likewise. - (__arm_vreinterpretq_f32_f16): Likewise. - (__arm_vreinterpretq_f32_s16): Likewise. - (__arm_vreinterpretq_f32_s32): Likewise. - (__arm_vreinterpretq_f32_s64): Likewise. - (__arm_vreinterpretq_f32_s8): Likewise. - (__arm_vreinterpretq_f32_u16): Likewise. - (__arm_vreinterpretq_f32_u32): Likewise. - (__arm_vreinterpretq_f32_u64): Likewise. - (__arm_vreinterpretq_f32_u8): Likewise. - (vuninitializedq): Define polymorphic variant. - (vreinterpretq_f16): Likewise. - (vreinterpretq_f32): Likewise. - (vreinterpretq_s16): Likewise. - (vreinterpretq_s32): Likewise. - (vreinterpretq_s64): Likewise. - (vreinterpretq_s8): Likewise. - (vreinterpretq_u16): Likewise. - (vreinterpretq_u32): Likewise. - (vreinterpretq_u64): Likewise. - (vreinterpretq_u8): Likewise. - -2020-03-20 Srinath Parvathaneni - Andre Vieira - Mihail Ionescu - - * config/arm/arm_mve.h (vaddq_s8): Define macro. - (vaddq_s16): Likewise. - (vaddq_s32): Likewise. - (vaddq_u8): Likewise. - (vaddq_u16): Likewise. - (vaddq_u32): Likewise. - (vaddq_f16): Likewise. - (vaddq_f32): Likewise. - (__arm_vaddq_s8): Define intrinsic. - (__arm_vaddq_s16): Likewise. - (__arm_vaddq_s32): Likewise. - (__arm_vaddq_u8): Likewise. - (__arm_vaddq_u16): Likewise. - (__arm_vaddq_u32): Likewise. - (__arm_vaddq_f16): Likewise. - (__arm_vaddq_f32): Likewise. - (vaddq): Define polymorphic variant. - * config/arm/iterators.md (VNIM): Define mode iterator for common types - Neon, IWMMXT and MVE. - (VNINOTM): Likewise. - * config/arm/mve.md (mve_vaddq): Define RTL pattern. - (mve_vaddq_f): Define RTL pattern. - * config/arm/neon.md (add3): Rename to addv4hf3 RTL pattern. - (addv8hf3_neon): Define RTL pattern. - * config/arm/vec-common.md (add3): Modify standard add RTL pattern - to support MVE. - (addv8hf3): Define standard RTL pattern for MVE and Neon. - (add3): Modify existing standard add RTL pattern for Neon and IWMMXT. - -2020-03-20 Martin Liska - - PR ipa/94232 - * ipa-cp.c (ipa_get_jf_ancestor_result): Use offset in bytes. Previously - build_ref_for_offset function was used and it transforms off to bytes - from bits. - -2020-03-20 Richard Biener - - PR tree-optimization/94266 - * gimple-ssa-sprintf.c (get_origin_and_offset): Use the - type of the underlying object to adjust for the containing - field if available. - -2020-03-20 Andre Vieira - - * config/arm/unspecs.md (UNSPEC_GET_FPSCR): Rename this to ... - (VUNSPEC_GET_FPSCR): ... this, and move it to vunspec. - * config/arm/vfp.md: (get_fpscr, set_fpscr): Revert to old patterns. - -2020-03-20 Andre Vieira - - * config/arm/mve.md (mve_mov): Fix R->R case. - -2020-03-20 Jakub Jelinek - - PR tree-optimization/94224 - * gimple-ssa-store-merging.c - (imm_store_chain_info::coalesce_immediate): Don't consider overlapping - or adjacent INTEGER_CST rhs_code stores as mergeable if they have - different lp_nr. - -2020-03-20 Andre Vieira - - * config/arm/arm.md (define_attr "conds"): Fix logic for neon and mve. - -2020-03-19 Jan Hubicka - - PR ipa/94202 - * cgraph.c (cgraph_node::function_symbol): Fix availability computation. - (cgraph_node::function_or_virtual_thunk_symbol): Likewise. - -2020-03-19 Jan Hubicka - - PR ipa/92372 - * cgraphunit.c (process_function_and_variable_attributes): warn - for flatten attribute on alias. - * ipa-inline.c (ipa_inline): Do not ICE on flatten attribute on alias. - -2020-03-19 Martin Liska - - * lto-section-in.c: Add ext_symtab. - * lto-streamer-out.c (write_symbol_extension_info): New. - (produce_symtab_extension): New. - (produce_asm_for_decls): Stream also produce_symtab_extension. - * lto-streamer.h (enum lto_section_type): New section. - -2020-03-19 Jakub Jelinek - - PR tree-optimization/94211 - * tree-ssa-phiopt.c (value_replacement): Use estimate_num_insns_seq - instead of estimate_num_insns for bb_seq (middle_bb). Rename - emtpy_or_with_defined_p variable to empty_or_with_defined_p, adjust - all uses. - -2020-03-19 Richard Biener - - PR ipa/94217 - * ipa-cp.c (ipa_get_jf_ancestor_result): Avoid build_fold_addr_expr - and build_ref_for_offset. - -2020-03-19 Richard Biener - - PR middle-end/94216 - * fold-const.c (fold_binary_loc): Avoid using - build_fold_addr_expr when we really want an ADDR_EXPR. - -2020-03-18 Segher Boessenkool - - * config/rs6000/constraints.md (wd, wf, wi, ws, ww): New undocumented - aliases for "wa". - -2020-03-12 Richard Sandiford - - PR rtl-optimization/90275 - * cse.c (cse_insn): Delete no-op register moves too. - -2020-03-18 Martin Sebor - - PR ipa/92799 - * cgraphunit.c (process_function_and_variable_attributes): Also - complain about weakref function definitions and drop all effects - of the attribute. - -2020-03-18 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * config/arm/arm_mve.h (vstrdq_scatter_base_p_s64): Define macro. - (vstrdq_scatter_base_p_u64): Likewise. - (vstrdq_scatter_base_s64): Likewise. - (vstrdq_scatter_base_u64): Likewise. - (vstrdq_scatter_offset_p_s64): Likewise. - (vstrdq_scatter_offset_p_u64): Likewise. - (vstrdq_scatter_offset_s64): Likewise. - (vstrdq_scatter_offset_u64): Likewise. - (vstrdq_scatter_shifted_offset_p_s64): Likewise. - (vstrdq_scatter_shifted_offset_p_u64): Likewise. - (vstrdq_scatter_shifted_offset_s64): Likewise. - (vstrdq_scatter_shifted_offset_u64): Likewise. - (vstrhq_scatter_offset_f16): Likewise. - (vstrhq_scatter_offset_p_f16): Likewise. - (vstrhq_scatter_shifted_offset_f16): Likewise. - (vstrhq_scatter_shifted_offset_p_f16): Likewise. - (vstrwq_scatter_base_f32): Likewise. - (vstrwq_scatter_base_p_f32): Likewise. - (vstrwq_scatter_offset_f32): Likewise. - (vstrwq_scatter_offset_p_f32): Likewise. - (vstrwq_scatter_offset_p_s32): Likewise. - (vstrwq_scatter_offset_p_u32): Likewise. - (vstrwq_scatter_offset_s32): Likewise. - (vstrwq_scatter_offset_u32): Likewise. - (vstrwq_scatter_shifted_offset_f32): Likewise. - (vstrwq_scatter_shifted_offset_p_f32): Likewise. - (vstrwq_scatter_shifted_offset_p_s32): Likewise. - (vstrwq_scatter_shifted_offset_p_u32): Likewise. - (vstrwq_scatter_shifted_offset_s32): Likewise. - (vstrwq_scatter_shifted_offset_u32): Likewise. - (__arm_vstrdq_scatter_base_p_s64): Define intrinsic. - (__arm_vstrdq_scatter_base_p_u64): Likewise. - (__arm_vstrdq_scatter_base_s64): Likewise. - (__arm_vstrdq_scatter_base_u64): Likewise. - (__arm_vstrdq_scatter_offset_p_s64): Likewise. - (__arm_vstrdq_scatter_offset_p_u64): Likewise. - (__arm_vstrdq_scatter_offset_s64): Likewise. - (__arm_vstrdq_scatter_offset_u64): Likewise. - (__arm_vstrdq_scatter_shifted_offset_p_s64): Likewise. - (__arm_vstrdq_scatter_shifted_offset_p_u64): Likewise. - (__arm_vstrdq_scatter_shifted_offset_s64): Likewise. - (__arm_vstrdq_scatter_shifted_offset_u64): Likewise. - (__arm_vstrwq_scatter_offset_p_s32): Likewise. - (__arm_vstrwq_scatter_offset_p_u32): Likewise. - (__arm_vstrwq_scatter_offset_s32): Likewise. - (__arm_vstrwq_scatter_offset_u32): Likewise. - (__arm_vstrwq_scatter_shifted_offset_p_s32): Likewise. - (__arm_vstrwq_scatter_shifted_offset_p_u32): Likewise. - (__arm_vstrwq_scatter_shifted_offset_s32): Likewise. - (__arm_vstrwq_scatter_shifted_offset_u32): Likewise. - (__arm_vstrhq_scatter_offset_f16): Likewise. - (__arm_vstrhq_scatter_offset_p_f16): Likewise. - (__arm_vstrhq_scatter_shifted_offset_f16): Likewise. - (__arm_vstrhq_scatter_shifted_offset_p_f16): Likewise. - (__arm_vstrwq_scatter_base_f32): Likewise. - (__arm_vstrwq_scatter_base_p_f32): Likewise. - (__arm_vstrwq_scatter_offset_f32): Likewise. - (__arm_vstrwq_scatter_offset_p_f32): Likewise. - (__arm_vstrwq_scatter_shifted_offset_f32): Likewise. - (__arm_vstrwq_scatter_shifted_offset_p_f32): Likewise. - (vstrhq_scatter_offset): Define polymorphic variant. - (vstrhq_scatter_offset_p): Likewise. - (vstrhq_scatter_shifted_offset): Likewise. - (vstrhq_scatter_shifted_offset_p): Likewise. - (vstrwq_scatter_base): Likewise. - (vstrwq_scatter_base_p): Likewise. - (vstrwq_scatter_offset): Likewise. - (vstrwq_scatter_offset_p): Likewise. - (vstrwq_scatter_shifted_offset): Likewise. - (vstrwq_scatter_shifted_offset_p): Likewise. - (vstrdq_scatter_base_p): Likewise. - (vstrdq_scatter_base): Likewise. - (vstrdq_scatter_offset_p): Likewise. - (vstrdq_scatter_offset): Likewise. - (vstrdq_scatter_shifted_offset_p): Likewise. - (vstrdq_scatter_shifted_offset): Likewise. - * config/arm/arm_mve_builtins.def (STRSBS): Use builtin qualifier. - (STRSBS_P): Likewise. - (STRSBU): Likewise. - (STRSBU_P): Likewise. - (STRSS): Likewise. - (STRSS_P): Likewise. - (STRSU): Likewise. - (STRSU_P): Likewise. - * config/arm/constraints.md (Ri): Define. - * config/arm/mve.md (VSTRDSBQ): Define iterator. - (VSTRDSOQ): Likewise. - (VSTRDSSOQ): Likewise. - (VSTRWSOQ): Likewise. - (VSTRWSSOQ): Likewise. - (mve_vstrdq_scatter_base_p_v2di): Define RTL pattern. - (mve_vstrdq_scatter_base_v2di): Likewise. - (mve_vstrdq_scatter_offset_p_v2di): Likewise. - (mve_vstrdq_scatter_offset_v2di): Likewise. - (mve_vstrdq_scatter_shifted_offset_p_v2di): Likewise. - (mve_vstrdq_scatter_shifted_offset_v2di): Likewise. - (mve_vstrhq_scatter_offset_fv8hf): Likewise. - (mve_vstrhq_scatter_offset_p_fv8hf): Likewise. - (mve_vstrhq_scatter_shifted_offset_fv8hf): Likewise. - (mve_vstrhq_scatter_shifted_offset_p_fv8hf): Likewise. - (mve_vstrwq_scatter_base_fv4sf): Likewise. - (mve_vstrwq_scatter_base_p_fv4sf): Likewise. - (mve_vstrwq_scatter_offset_fv4sf): Likewise. - (mve_vstrwq_scatter_offset_p_fv4sf): Likewise. - (mve_vstrwq_scatter_offset_p_v4si): Likewise. - (mve_vstrwq_scatter_offset_v4si): Likewise. - (mve_vstrwq_scatter_shifted_offset_fv4sf): Likewise. - (mve_vstrwq_scatter_shifted_offset_p_fv4sf): Likewise. - (mve_vstrwq_scatter_shifted_offset_p_v4si): Likewise. - (mve_vstrwq_scatter_shifted_offset_v4si): Likewise. - * config/arm/predicates.md (Ri): Define predicate to check immediate - is the range +/-1016 and multiple of 8. - -2020-03-18 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * config/arm/arm_mve.h (vst1q_f32): Define macro. - (vst1q_f16): Likewise. - (vst1q_s8): Likewise. - (vst1q_s32): Likewise. - (vst1q_s16): Likewise. - (vst1q_u8): Likewise. - (vst1q_u32): Likewise. - (vst1q_u16): Likewise. - (vstrhq_f16): Likewise. - (vstrhq_scatter_offset_s32): Likewise. - (vstrhq_scatter_offset_s16): Likewise. - (vstrhq_scatter_offset_u32): Likewise. - (vstrhq_scatter_offset_u16): Likewise. - (vstrhq_scatter_offset_p_s32): Likewise. - (vstrhq_scatter_offset_p_s16): Likewise. - (vstrhq_scatter_offset_p_u32): Likewise. - (vstrhq_scatter_offset_p_u16): Likewise. - (vstrhq_scatter_shifted_offset_s32): Likewise. - (vstrhq_scatter_shifted_offset_s16): Likewise. - (vstrhq_scatter_shifted_offset_u32): Likewise. - (vstrhq_scatter_shifted_offset_u16): Likewise. - (vstrhq_scatter_shifted_offset_p_s32): Likewise. - (vstrhq_scatter_shifted_offset_p_s16): Likewise. - (vstrhq_scatter_shifted_offset_p_u32): Likewise. - (vstrhq_scatter_shifted_offset_p_u16): Likewise. - (vstrhq_s32): Likewise. - (vstrhq_s16): Likewise. - (vstrhq_u32): Likewise. - (vstrhq_u16): Likewise. - (vstrhq_p_f16): Likewise. - (vstrhq_p_s32): Likewise. - (vstrhq_p_s16): Likewise. - (vstrhq_p_u32): Likewise. - (vstrhq_p_u16): Likewise. - (vstrwq_f32): Likewise. - (vstrwq_s32): Likewise. - (vstrwq_u32): Likewise. - (vstrwq_p_f32): Likewise. - (vstrwq_p_s32): Likewise. - (vstrwq_p_u32): Likewise. - (__arm_vst1q_s8): Define intrinsic. - (__arm_vst1q_s32): Likewise. - (__arm_vst1q_s16): Likewise. - (__arm_vst1q_u8): Likewise. - (__arm_vst1q_u32): Likewise. - (__arm_vst1q_u16): Likewise. - (__arm_vstrhq_scatter_offset_s32): Likewise. - (__arm_vstrhq_scatter_offset_s16): Likewise. - (__arm_vstrhq_scatter_offset_u32): Likewise. - (__arm_vstrhq_scatter_offset_u16): Likewise. - (__arm_vstrhq_scatter_offset_p_s32): Likewise. - (__arm_vstrhq_scatter_offset_p_s16): Likewise. - (__arm_vstrhq_scatter_offset_p_u32): Likewise. - (__arm_vstrhq_scatter_offset_p_u16): Likewise. - (__arm_vstrhq_scatter_shifted_offset_s32): Likewise. - (__arm_vstrhq_scatter_shifted_offset_s16): Likewise. - (__arm_vstrhq_scatter_shifted_offset_u32): Likewise. - (__arm_vstrhq_scatter_shifted_offset_u16): Likewise. - (__arm_vstrhq_scatter_shifted_offset_p_s32): Likewise. - (__arm_vstrhq_scatter_shifted_offset_p_s16): Likewise. - (__arm_vstrhq_scatter_shifted_offset_p_u32): Likewise. - (__arm_vstrhq_scatter_shifted_offset_p_u16): Likewise. - (__arm_vstrhq_s32): Likewise. - (__arm_vstrhq_s16): Likewise. - (__arm_vstrhq_u32): Likewise. - (__arm_vstrhq_u16): Likewise. - (__arm_vstrhq_p_s32): Likewise. - (__arm_vstrhq_p_s16): Likewise. - (__arm_vstrhq_p_u32): Likewise. - (__arm_vstrhq_p_u16): Likewise. - (__arm_vstrwq_s32): Likewise. - (__arm_vstrwq_u32): Likewise. - (__arm_vstrwq_p_s32): Likewise. - (__arm_vstrwq_p_u32): Likewise. - (__arm_vstrwq_p_f32): Likewise. - (__arm_vstrwq_f32): Likewise. - (__arm_vst1q_f32): Likewise. - (__arm_vst1q_f16): Likewise. - (__arm_vstrhq_f16): Likewise. - (__arm_vstrhq_p_f16): Likewise. - (vst1q): Define polymorphic variant. - (vstrhq): Likewise. - (vstrhq_p): Likewise. - (vstrhq_scatter_offset_p): Likewise. - (vstrhq_scatter_offset): Likewise. - (vstrhq_scatter_shifted_offset_p): Likewise. - (vstrhq_scatter_shifted_offset): Likewise. - (vstrwq_p): Likewise. - (vstrwq): Likewise. - * config/arm/arm_mve_builtins.def (STRS): Use builtin qualifier. - (STRS_P): Likewise. - (STRSS): Likewise. - (STRSS_P): Likewise. - (STRSU): Likewise. - (STRSU_P): Likewise. - (STRU): Likewise. - (STRU_P): Likewise. - * config/arm/mve.md (VST1Q): Define iterator. - (VSTRHSOQ): Likewise. - (VSTRHSSOQ): Likewise. - (VSTRHQ): Likewise. - (VSTRWQ): Likewise. - (mve_vstrhq_fv8hf): Define RTL pattern. - (mve_vstrhq_p_fv8hf): Likewise. - (mve_vstrhq_p_): Likewise. - (mve_vstrhq_scatter_offset_p_): Likewise. - (mve_vstrhq_scatter_offset_): Likewise. - (mve_vstrhq_scatter_shifted_offset_p_): Likewise. - (mve_vstrhq_scatter_shifted_offset_): Likewise. - (mve_vstrhq_): Likewise. - (mve_vstrwq_fv4sf): Likewise. - (mve_vstrwq_p_fv4sf): Likewise. - (mve_vstrwq_p_v4si): Likewise. - (mve_vstrwq_v4si): Likewise. - (mve_vst1q_f): Define expand. - (mve_vst1q_): Likewise. - -2020-03-18 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * config/arm/arm_mve.h (vld1q_s8): Define macro. - (vld1q_s32): Likewise. - (vld1q_s16): Likewise. - (vld1q_u8): Likewise. - (vld1q_u32): Likewise. - (vld1q_u16): Likewise. - (vldrhq_gather_offset_s32): Likewise. - (vldrhq_gather_offset_s16): Likewise. - (vldrhq_gather_offset_u32): Likewise. - (vldrhq_gather_offset_u16): Likewise. - (vldrhq_gather_offset_z_s32): Likewise. - (vldrhq_gather_offset_z_s16): Likewise. - (vldrhq_gather_offset_z_u32): Likewise. - (vldrhq_gather_offset_z_u16): Likewise. - (vldrhq_gather_shifted_offset_s32): Likewise. - (vldrhq_gather_shifted_offset_s16): Likewise. - (vldrhq_gather_shifted_offset_u32): Likewise. - (vldrhq_gather_shifted_offset_u16): Likewise. - (vldrhq_gather_shifted_offset_z_s32): Likewise. - (vldrhq_gather_shifted_offset_z_s16): Likewise. - (vldrhq_gather_shifted_offset_z_u32): Likewise. - (vldrhq_gather_shifted_offset_z_u16): Likewise. - (vldrhq_s32): Likewise. - (vldrhq_s16): Likewise. - (vldrhq_u32): Likewise. - (vldrhq_u16): Likewise. - (vldrhq_z_s32): Likewise. - (vldrhq_z_s16): Likewise. - (vldrhq_z_u32): Likewise. - (vldrhq_z_u16): Likewise. - (vldrwq_s32): Likewise. - (vldrwq_u32): Likewise. - (vldrwq_z_s32): Likewise. - (vldrwq_z_u32): Likewise. - (vld1q_f32): Likewise. - (vld1q_f16): Likewise. - (vldrhq_f16): Likewise. - (vldrhq_z_f16): Likewise. - (vldrwq_f32): Likewise. - (vldrwq_z_f32): Likewise. - (__arm_vld1q_s8): Define intrinsic. - (__arm_vld1q_s32): Likewise. - (__arm_vld1q_s16): Likewise. - (__arm_vld1q_u8): Likewise. - (__arm_vld1q_u32): Likewise. - (__arm_vld1q_u16): Likewise. - (__arm_vldrhq_gather_offset_s32): Likewise. - (__arm_vldrhq_gather_offset_s16): Likewise. - (__arm_vldrhq_gather_offset_u32): Likewise. - (__arm_vldrhq_gather_offset_u16): Likewise. - (__arm_vldrhq_gather_offset_z_s32): Likewise. - (__arm_vldrhq_gather_offset_z_s16): Likewise. - (__arm_vldrhq_gather_offset_z_u32): Likewise. - (__arm_vldrhq_gather_offset_z_u16): Likewise. - (__arm_vldrhq_gather_shifted_offset_s32): Likewise. - (__arm_vldrhq_gather_shifted_offset_s16): Likewise. - (__arm_vldrhq_gather_shifted_offset_u32): Likewise. - (__arm_vldrhq_gather_shifted_offset_u16): Likewise. - (__arm_vldrhq_gather_shifted_offset_z_s32): Likewise. - (__arm_vldrhq_gather_shifted_offset_z_s16): Likewise. - (__arm_vldrhq_gather_shifted_offset_z_u32): Likewise. - (__arm_vldrhq_gather_shifted_offset_z_u16): Likewise. - (__arm_vldrhq_s32): Likewise. - (__arm_vldrhq_s16): Likewise. - (__arm_vldrhq_u32): Likewise. - (__arm_vldrhq_u16): Likewise. - (__arm_vldrhq_z_s32): Likewise. - (__arm_vldrhq_z_s16): Likewise. - (__arm_vldrhq_z_u32): Likewise. - (__arm_vldrhq_z_u16): Likewise. - (__arm_vldrwq_s32): Likewise. - (__arm_vldrwq_u32): Likewise. - (__arm_vldrwq_z_s32): Likewise. - (__arm_vldrwq_z_u32): Likewise. - (__arm_vld1q_f32): Likewise. - (__arm_vld1q_f16): Likewise. - (__arm_vldrwq_f32): Likewise. - (__arm_vldrwq_z_f32): Likewise. - (__arm_vldrhq_z_f16): Likewise. - (__arm_vldrhq_f16): Likewise. - (vld1q): Define polymorphic variant. - (vldrhq_gather_offset): Likewise. - (vldrhq_gather_offset_z): Likewise. - (vldrhq_gather_shifted_offset): Likewise. - (vldrhq_gather_shifted_offset_z): Likewise. - * config/arm/arm_mve_builtins.def (LDRU): Use builtin qualifier. - (LDRS): Likewise. - (LDRU_Z): Likewise. - (LDRS_Z): Likewise. - (LDRGU_Z): Likewise. - (LDRGU): Likewise. - (LDRGS_Z): Likewise. - (LDRGS): Likewise. - * config/arm/mve.md (MVE_H_ELEM): Define mode iterator. - (V_sz_elem1): Likewise. - (VLD1Q): Define iterator. - (VLDRHGOQ): Likewise. - (VLDRHGSOQ): Likewise. - (VLDRHQ): Likewise. - (VLDRWQ): Likewise. - (mve_vldrhq_fv8hf): Define RTL pattern. - (mve_vldrhq_gather_offset_): Likewise. - (mve_vldrhq_gather_offset_z_): Likewise. - (mve_vldrhq_gather_shifted_offset_): Likewise. - (mve_vldrhq_gather_shifted_offset_z_): Likewise. - (mve_vldrhq_): Likewise. - (mve_vldrhq_z_fv8hf): Likewise. - (mve_vldrhq_z_): Likewise. - (mve_vldrwq_fv4sf): Likewise. - (mve_vldrwq_v4si): Likewise. - (mve_vldrwq_z_fv4sf): Likewise. - (mve_vldrwq_z_v4si): Likewise. - (mve_vld1q_f): Define RTL expand pattern. - (mve_vld1q_): Likewise. - -2020-03-18 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * config/arm/arm_mve.h (vld1q_s8): Define macro. - (vld1q_s32): Likewise. - (vld1q_s16): Likewise. - (vld1q_u8): Likewise. - (vld1q_u32): Likewise. - (vld1q_u16): Likewise. - (vldrhq_gather_offset_s32): Likewise. - (vldrhq_gather_offset_s16): Likewise. - (vldrhq_gather_offset_u32): Likewise. - (vldrhq_gather_offset_u16): Likewise. - (vldrhq_gather_offset_z_s32): Likewise. - (vldrhq_gather_offset_z_s16): Likewise. - (vldrhq_gather_offset_z_u32): Likewise. - (vldrhq_gather_offset_z_u16): Likewise. - (vldrhq_gather_shifted_offset_s32): Likewise. - (vldrhq_gather_shifted_offset_s16): Likewise. - (vldrhq_gather_shifted_offset_u32): Likewise. - (vldrhq_gather_shifted_offset_u16): Likewise. - (vldrhq_gather_shifted_offset_z_s32): Likewise. - (vldrhq_gather_shifted_offset_z_s16): Likewise. - (vldrhq_gather_shifted_offset_z_u32): Likewise. - (vldrhq_gather_shifted_offset_z_u16): Likewise. - (vldrhq_s32): Likewise. - (vldrhq_s16): Likewise. - (vldrhq_u32): Likewise. - (vldrhq_u16): Likewise. - (vldrhq_z_s32): Likewise. - (vldrhq_z_s16): Likewise. - (vldrhq_z_u32): Likewise. - (vldrhq_z_u16): Likewise. - (vldrwq_s32): Likewise. - (vldrwq_u32): Likewise. - (vldrwq_z_s32): Likewise. - (vldrwq_z_u32): Likewise. - (vld1q_f32): Likewise. - (vld1q_f16): Likewise. - (vldrhq_f16): Likewise. - (vldrhq_z_f16): Likewise. - (vldrwq_f32): Likewise. - (vldrwq_z_f32): Likewise. - (__arm_vld1q_s8): Define intrinsic. - (__arm_vld1q_s32): Likewise. - (__arm_vld1q_s16): Likewise. - (__arm_vld1q_u8): Likewise. - (__arm_vld1q_u32): Likewise. - (__arm_vld1q_u16): Likewise. - (__arm_vldrhq_gather_offset_s32): Likewise. - (__arm_vldrhq_gather_offset_s16): Likewise. - (__arm_vldrhq_gather_offset_u32): Likewise. - (__arm_vldrhq_gather_offset_u16): Likewise. - (__arm_vldrhq_gather_offset_z_s32): Likewise. - (__arm_vldrhq_gather_offset_z_s16): Likewise. - (__arm_vldrhq_gather_offset_z_u32): Likewise. - (__arm_vldrhq_gather_offset_z_u16): Likewise. - (__arm_vldrhq_gather_shifted_offset_s32): Likewise. - (__arm_vldrhq_gather_shifted_offset_s16): Likewise. - (__arm_vldrhq_gather_shifted_offset_u32): Likewise. - (__arm_vldrhq_gather_shifted_offset_u16): Likewise. - (__arm_vldrhq_gather_shifted_offset_z_s32): Likewise. - (__arm_vldrhq_gather_shifted_offset_z_s16): Likewise. - (__arm_vldrhq_gather_shifted_offset_z_u32): Likewise. - (__arm_vldrhq_gather_shifted_offset_z_u16): Likewise. - (__arm_vldrhq_s32): Likewise. - (__arm_vldrhq_s16): Likewise. - (__arm_vldrhq_u32): Likewise. - (__arm_vldrhq_u16): Likewise. - (__arm_vldrhq_z_s32): Likewise. - (__arm_vldrhq_z_s16): Likewise. - (__arm_vldrhq_z_u32): Likewise. - (__arm_vldrhq_z_u16): Likewise. - (__arm_vldrwq_s32): Likewise. - (__arm_vldrwq_u32): Likewise. - (__arm_vldrwq_z_s32): Likewise. - (__arm_vldrwq_z_u32): Likewise. - (__arm_vld1q_f32): Likewise. - (__arm_vld1q_f16): Likewise. - (__arm_vldrwq_f32): Likewise. - (__arm_vldrwq_z_f32): Likewise. - (__arm_vldrhq_z_f16): Likewise. - (__arm_vldrhq_f16): Likewise. - (vld1q): Define polymorphic variant. - (vldrhq_gather_offset): Likewise. - (vldrhq_gather_offset_z): Likewise. - (vldrhq_gather_shifted_offset): Likewise. - (vldrhq_gather_shifted_offset_z): Likewise. - * config/arm/arm_mve_builtins.def (LDRU): Use builtin qualifier. - (LDRS): Likewise. - (LDRU_Z): Likewise. - (LDRS_Z): Likewise. - (LDRGU_Z): Likewise. - (LDRGU): Likewise. - (LDRGS_Z): Likewise. - (LDRGS): Likewise. - * config/arm/mve.md (MVE_H_ELEM): Define mode iterator. - (V_sz_elem1): Likewise. - (VLD1Q): Define iterator. - (VLDRHGOQ): Likewise. - (VLDRHGSOQ): Likewise. - (VLDRHQ): Likewise. - (VLDRWQ): Likewise. - (mve_vldrhq_fv8hf): Define RTL pattern. - (mve_vldrhq_gather_offset_): Likewise. - (mve_vldrhq_gather_offset_z_): Likewise. - (mve_vldrhq_gather_shifted_offset_): Likewise. - (mve_vldrhq_gather_shifted_offset_z_): Likewise. - (mve_vldrhq_): Likewise. - (mve_vldrhq_z_fv8hf): Likewise. - (mve_vldrhq_z_): Likewise. - (mve_vldrwq_fv4sf): Likewise. - (mve_vldrwq_v4si): Likewise. - (mve_vldrwq_z_fv4sf): Likewise. - (mve_vldrwq_z_v4si): Likewise. - (mve_vld1q_f): Define RTL expand pattern. - (mve_vld1q_): Likewise. - -2020-03-18 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * config/arm/arm-builtins.c (LDRGBS_Z_QUALIFIERS): Define builtin - qualifier. - (LDRGBU_Z_QUALIFIERS): Likewise. - (LDRGS_Z_QUALIFIERS): Likewise. - (LDRGU_Z_QUALIFIERS): Likewise. - (LDRS_Z_QUALIFIERS): Likewise. - (LDRU_Z_QUALIFIERS): Likewise. - * config/arm/arm_mve.h (vldrbq_gather_offset_z_s16): Define macro. - (vldrbq_gather_offset_z_u8): Likewise. - (vldrbq_gather_offset_z_s32): Likewise. - (vldrbq_gather_offset_z_u16): Likewise. - (vldrbq_gather_offset_z_u32): Likewise. - (vldrbq_gather_offset_z_s8): Likewise. - (vldrbq_z_s16): Likewise. - (vldrbq_z_u8): Likewise. - (vldrbq_z_s8): Likewise. - (vldrbq_z_s32): Likewise. - (vldrbq_z_u16): Likewise. - (vldrbq_z_u32): Likewise. - (vldrwq_gather_base_z_u32): Likewise. - (vldrwq_gather_base_z_s32): Likewise. - (__arm_vldrbq_gather_offset_z_s8): Define intrinsic. - (__arm_vldrbq_gather_offset_z_s32): Likewise. - (__arm_vldrbq_gather_offset_z_s16): Likewise. - (__arm_vldrbq_gather_offset_z_u8): Likewise. - (__arm_vldrbq_gather_offset_z_u32): Likewise. - (__arm_vldrbq_gather_offset_z_u16): Likewise. - (__arm_vldrbq_z_s8): Likewise. - (__arm_vldrbq_z_s32): Likewise. - (__arm_vldrbq_z_s16): Likewise. - (__arm_vldrbq_z_u8): Likewise. - (__arm_vldrbq_z_u32): Likewise. - (__arm_vldrbq_z_u16): Likewise. - (__arm_vldrwq_gather_base_z_s32): Likewise. - (__arm_vldrwq_gather_base_z_u32): Likewise. - (vldrbq_gather_offset_z): Define polymorphic variant. - * config/arm/arm_mve_builtins.def (LDRGBS_Z_QUALIFIERS): Use builtin - qualifier. - (LDRGBU_Z_QUALIFIERS): Likewise. - (LDRGS_Z_QUALIFIERS): Likewise. - (LDRGU_Z_QUALIFIERS): Likewise. - (LDRS_Z_QUALIFIERS): Likewise. - (LDRU_Z_QUALIFIERS): Likewise. - * config/arm/mve.md (mve_vldrbq_gather_offset_z_): Define - RTL pattern. - (mve_vldrbq_z_): Likewise. - (mve_vldrwq_gather_base_z_v4si): Likewise. - -2020-03-18 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * config/arm/arm-builtins.c (STRS_P_QUALIFIERS): Define builtin - qualifier. - (STRU_P_QUALIFIERS): Likewise. - (STRSU_P_QUALIFIERS): Likewise. - (STRSS_P_QUALIFIERS): Likewise. - (STRSBS_P_QUALIFIERS): Likewise. - (STRSBU_P_QUALIFIERS): Likewise. - * config/arm/arm_mve.h (vstrbq_p_s8): Define macro. - (vstrbq_p_s32): Likewise. - (vstrbq_p_s16): Likewise. - (vstrbq_p_u8): Likewise. - (vstrbq_p_u32): Likewise. - (vstrbq_p_u16): Likewise. - (vstrbq_scatter_offset_p_s8): Likewise. - (vstrbq_scatter_offset_p_s32): Likewise. - (vstrbq_scatter_offset_p_s16): Likewise. - (vstrbq_scatter_offset_p_u8): Likewise. - (vstrbq_scatter_offset_p_u32): Likewise. - (vstrbq_scatter_offset_p_u16): Likewise. - (vstrwq_scatter_base_p_s32): Likewise. - (vstrwq_scatter_base_p_u32): Likewise. - (__arm_vstrbq_p_s8): Define intrinsic. - (__arm_vstrbq_p_s32): Likewise. - (__arm_vstrbq_p_s16): Likewise. - (__arm_vstrbq_p_u8): Likewise. - (__arm_vstrbq_p_u32): Likewise. - (__arm_vstrbq_p_u16): Likewise. - (__arm_vstrbq_scatter_offset_p_s8): Likewise. - (__arm_vstrbq_scatter_offset_p_s32): Likewise. - (__arm_vstrbq_scatter_offset_p_s16): Likewise. - (__arm_vstrbq_scatter_offset_p_u8): Likewise. - (__arm_vstrbq_scatter_offset_p_u32): Likewise. - (__arm_vstrbq_scatter_offset_p_u16): Likewise. - (__arm_vstrwq_scatter_base_p_s32): Likewise. - (__arm_vstrwq_scatter_base_p_u32): Likewise. - (vstrbq_p): Define polymorphic variant. - (vstrbq_scatter_offset_p): Likewise. - (vstrwq_scatter_base_p): Likewise. - * config/arm/arm_mve_builtins.def (STRS_P_QUALIFIERS): Use builtin - qualifier. - (STRU_P_QUALIFIERS): Likewise. - (STRSU_P_QUALIFIERS): Likewise. - (STRSS_P_QUALIFIERS): Likewise. - (STRSBS_P_QUALIFIERS): Likewise. - (STRSBU_P_QUALIFIERS): Likewise. - * config/arm/mve.md (mve_vstrbq_scatter_offset_p_): Define - RTL pattern. - (mve_vstrwq_scatter_base_p_v4si): Likewise. - (mve_vstrbq_p_): Likewise. - -2020-03-18 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * config/arm/arm-builtins.c (LDRGU_QUALIFIERS): Define builtin - qualifier. - (LDRGS_QUALIFIERS): Likewise. - (LDRS_QUALIFIERS): Likewise. - (LDRU_QUALIFIERS): Likewise. - (LDRGBS_QUALIFIERS): Likewise. - (LDRGBU_QUALIFIERS): Likewise. - * config/arm/arm_mve.h (vldrbq_gather_offset_u8): Define macro. - (vldrbq_gather_offset_s8): Likewise. - (vldrbq_s8): Likewise. - (vldrbq_u8): Likewise. - (vldrbq_gather_offset_u16): Likewise. - (vldrbq_gather_offset_s16): Likewise. - (vldrbq_s16): Likewise. - (vldrbq_u16): Likewise. - (vldrbq_gather_offset_u32): Likewise. - (vldrbq_gather_offset_s32): Likewise. - (vldrbq_s32): Likewise. - (vldrbq_u32): Likewise. - (vldrwq_gather_base_s32): Likewise. - (vldrwq_gather_base_u32): Likewise. - (__arm_vldrbq_gather_offset_u8): Define intrinsic. - (__arm_vldrbq_gather_offset_s8): Likewise. - (__arm_vldrbq_s8): Likewise. - (__arm_vldrbq_u8): Likewise. - (__arm_vldrbq_gather_offset_u16): Likewise. - (__arm_vldrbq_gather_offset_s16): Likewise. - (__arm_vldrbq_s16): Likewise. - (__arm_vldrbq_u16): Likewise. - (__arm_vldrbq_gather_offset_u32): Likewise. - (__arm_vldrbq_gather_offset_s32): Likewise. - (__arm_vldrbq_s32): Likewise. - (__arm_vldrbq_u32): Likewise. - (__arm_vldrwq_gather_base_s32): Likewise. - (__arm_vldrwq_gather_base_u32): Likewise. - (vldrbq_gather_offset): Define polymorphic variant. - * config/arm/arm_mve_builtins.def (LDRGU_QUALIFIERS): Use builtin - qualifier. - (LDRGS_QUALIFIERS): Likewise. - (LDRS_QUALIFIERS): Likewise. - (LDRU_QUALIFIERS): Likewise. - (LDRGBS_QUALIFIERS): Likewise. - (LDRGBU_QUALIFIERS): Likewise. - * config/arm/mve.md (VLDRBGOQ): Define iterator. - (VLDRBQ): Likewise. - (VLDRWGBQ): Likewise. - (mve_vldrbq_gather_offset_): Define RTL pattern. - (mve_vldrbq_): Likewise. - (mve_vldrwq_gather_base_v4si): Likewise. - -2020-03-18 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * config/arm/arm-builtins.c (STRS_QUALIFIERS): Define builtin qualifier. - (STRU_QUALIFIERS): Likewise. - (STRSS_QUALIFIERS): Likewise. - (STRSU_QUALIFIERS): Likewise. - (STRSBS_QUALIFIERS): Likewise. - (STRSBU_QUALIFIERS): Likewise. - * config/arm/arm_mve.h (vstrbq_s8): Define macro. - (vstrbq_u8): Likewise. - (vstrbq_u16): Likewise. - (vstrbq_scatter_offset_s8): Likewise. - (vstrbq_scatter_offset_u8): Likewise. - (vstrbq_scatter_offset_u16): Likewise. - (vstrbq_s16): Likewise. - (vstrbq_u32): Likewise. - (vstrbq_scatter_offset_s16): Likewise. - (vstrbq_scatter_offset_u32): Likewise. - (vstrbq_s32): Likewise. - (vstrbq_scatter_offset_s32): Likewise. - (vstrwq_scatter_base_s32): Likewise. - (vstrwq_scatter_base_u32): Likewise. - (__arm_vstrbq_scatter_offset_s8): Define intrinsic. - (__arm_vstrbq_scatter_offset_s32): Likewise. - (__arm_vstrbq_scatter_offset_s16): Likewise. - (__arm_vstrbq_scatter_offset_u8): Likewise. - (__arm_vstrbq_scatter_offset_u32): Likewise. - (__arm_vstrbq_scatter_offset_u16): Likewise. - (__arm_vstrbq_s8): Likewise. - (__arm_vstrbq_s32): Likewise. - (__arm_vstrbq_s16): Likewise. - (__arm_vstrbq_u8): Likewise. - (__arm_vstrbq_u32): Likewise. - (__arm_vstrbq_u16): Likewise. - (__arm_vstrwq_scatter_base_s32): Likewise. - (__arm_vstrwq_scatter_base_u32): Likewise. - (vstrbq): Define polymorphic variant. - (vstrbq_scatter_offset): Likewise. - (vstrwq_scatter_base): Likewise. - * config/arm/arm_mve_builtins.def (STRS_QUALIFIERS): Use builtin - qualifier. - (STRU_QUALIFIERS): Likewise. - (STRSS_QUALIFIERS): Likewise. - (STRSU_QUALIFIERS): Likewise. - (STRSBS_QUALIFIERS): Likewise. - (STRSBU_QUALIFIERS): Likewise. - * config/arm/mve.md (MVE_B_ELEM): Define mode attribute iterator. - (VSTRWSBQ): Define iterators. - (VSTRBSOQ): Likewise. - (VSTRBQ): Likewise. - (mve_vstrbq_): Define RTL pattern. - (mve_vstrbq_scatter_offset_): Likewise. - (mve_vstrwq_scatter_base_v4si): Likewise. - -2020-03-18 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * config/arm/arm_mve.h (vabdq_m_f32): Define macro. - (vabdq_m_f16): Likewise. - (vaddq_m_f32): Likewise. - (vaddq_m_f16): Likewise. - (vaddq_m_n_f32): Likewise. - (vaddq_m_n_f16): Likewise. - (vandq_m_f32): Likewise. - (vandq_m_f16): Likewise. - (vbicq_m_f32): Likewise. - (vbicq_m_f16): Likewise. - (vbrsrq_m_n_f32): Likewise. - (vbrsrq_m_n_f16): Likewise. - (vcaddq_rot270_m_f32): Likewise. - (vcaddq_rot270_m_f16): Likewise. - (vcaddq_rot90_m_f32): Likewise. - (vcaddq_rot90_m_f16): Likewise. - (vcmlaq_m_f32): Likewise. - (vcmlaq_m_f16): Likewise. - (vcmlaq_rot180_m_f32): Likewise. - (vcmlaq_rot180_m_f16): Likewise. - (vcmlaq_rot270_m_f32): Likewise. - (vcmlaq_rot270_m_f16): Likewise. - (vcmlaq_rot90_m_f32): Likewise. - (vcmlaq_rot90_m_f16): Likewise. - (vcmulq_m_f32): Likewise. - (vcmulq_m_f16): Likewise. - (vcmulq_rot180_m_f32): Likewise. - (vcmulq_rot180_m_f16): Likewise. - (vcmulq_rot270_m_f32): Likewise. - (vcmulq_rot270_m_f16): Likewise. - (vcmulq_rot90_m_f32): Likewise. - (vcmulq_rot90_m_f16): Likewise. - (vcvtq_m_n_s32_f32): Likewise. - (vcvtq_m_n_s16_f16): Likewise. - (vcvtq_m_n_u32_f32): Likewise. - (vcvtq_m_n_u16_f16): Likewise. - (veorq_m_f32): Likewise. - (veorq_m_f16): Likewise. - (vfmaq_m_f32): Likewise. - (vfmaq_m_f16): Likewise. - (vfmaq_m_n_f32): Likewise. - (vfmaq_m_n_f16): Likewise. - (vfmasq_m_n_f32): Likewise. - (vfmasq_m_n_f16): Likewise. - (vfmsq_m_f32): Likewise. - (vfmsq_m_f16): Likewise. - (vmaxnmq_m_f32): Likewise. - (vmaxnmq_m_f16): Likewise. - (vminnmq_m_f32): Likewise. - (vminnmq_m_f16): Likewise. - (vmulq_m_f32): Likewise. - (vmulq_m_f16): Likewise. - (vmulq_m_n_f32): Likewise. - (vmulq_m_n_f16): Likewise. - (vornq_m_f32): Likewise. - (vornq_m_f16): Likewise. - (vorrq_m_f32): Likewise. - (vorrq_m_f16): Likewise. - (vsubq_m_f32): Likewise. - (vsubq_m_f16): Likewise. - (vsubq_m_n_f32): Likewise. - (vsubq_m_n_f16): Likewise. - (__attribute__): Likewise. - (__arm_vabdq_m_f32): Likewise. - (__arm_vabdq_m_f16): Likewise. - (__arm_vaddq_m_f32): Likewise. - (__arm_vaddq_m_f16): Likewise. - (__arm_vaddq_m_n_f32): Likewise. - (__arm_vaddq_m_n_f16): Likewise. - (__arm_vandq_m_f32): Likewise. - (__arm_vandq_m_f16): Likewise. - (__arm_vbicq_m_f32): Likewise. - (__arm_vbicq_m_f16): Likewise. - (__arm_vbrsrq_m_n_f32): Likewise. - (__arm_vbrsrq_m_n_f16): Likewise. - (__arm_vcaddq_rot270_m_f32): Likewise. - (__arm_vcaddq_rot270_m_f16): Likewise. - (__arm_vcaddq_rot90_m_f32): Likewise. - (__arm_vcaddq_rot90_m_f16): Likewise. - (__arm_vcmlaq_m_f32): Likewise. - (__arm_vcmlaq_m_f16): Likewise. - (__arm_vcmlaq_rot180_m_f32): Likewise. - (__arm_vcmlaq_rot180_m_f16): Likewise. - (__arm_vcmlaq_rot270_m_f32): Likewise. - (__arm_vcmlaq_rot270_m_f16): Likewise. - (__arm_vcmlaq_rot90_m_f32): Likewise. - (__arm_vcmlaq_rot90_m_f16): Likewise. - (__arm_vcmulq_m_f32): Likewise. - (__arm_vcmulq_m_f16): Likewise. - (__arm_vcmulq_rot180_m_f32): Define intrinsic. - (__arm_vcmulq_rot180_m_f16): Likewise. - (__arm_vcmulq_rot270_m_f32): Likewise. - (__arm_vcmulq_rot270_m_f16): Likewise. - (__arm_vcmulq_rot90_m_f32): Likewise. - (__arm_vcmulq_rot90_m_f16): Likewise. - (__arm_vcvtq_m_n_s32_f32): Likewise. - (__arm_vcvtq_m_n_s16_f16): Likewise. - (__arm_vcvtq_m_n_u32_f32): Likewise. - (__arm_vcvtq_m_n_u16_f16): Likewise. - (__arm_veorq_m_f32): Likewise. - (__arm_veorq_m_f16): Likewise. - (__arm_vfmaq_m_f32): Likewise. - (__arm_vfmaq_m_f16): Likewise. - (__arm_vfmaq_m_n_f32): Likewise. - (__arm_vfmaq_m_n_f16): Likewise. - (__arm_vfmasq_m_n_f32): Likewise. - (__arm_vfmasq_m_n_f16): Likewise. - (__arm_vfmsq_m_f32): Likewise. - (__arm_vfmsq_m_f16): Likewise. - (__arm_vmaxnmq_m_f32): Likewise. - (__arm_vmaxnmq_m_f16): Likewise. - (__arm_vminnmq_m_f32): Likewise. - (__arm_vminnmq_m_f16): Likewise. - (__arm_vmulq_m_f32): Likewise. - (__arm_vmulq_m_f16): Likewise. - (__arm_vmulq_m_n_f32): Likewise. - (__arm_vmulq_m_n_f16): Likewise. - (__arm_vornq_m_f32): Likewise. - (__arm_vornq_m_f16): Likewise. - (__arm_vorrq_m_f32): Likewise. - (__arm_vorrq_m_f16): Likewise. - (__arm_vsubq_m_f32): Likewise. - (__arm_vsubq_m_f16): Likewise. - (__arm_vsubq_m_n_f32): Likewise. - (__arm_vsubq_m_n_f16): Likewise. - (vabdq_m): Define polymorphic variant. - (vaddq_m): Likewise. - (vaddq_m_n): Likewise. - (vandq_m): Likewise. - (vbicq_m): Likewise. - (vbrsrq_m_n): Likewise. - (vcaddq_rot270_m): Likewise. - (vcaddq_rot90_m): Likewise. - (vcmlaq_m): Likewise. - (vcmlaq_rot180_m): Likewise. - (vcmlaq_rot270_m): Likewise. - (vcmlaq_rot90_m): Likewise. - (vcmulq_m): Likewise. - (vcmulq_rot180_m): Likewise. - (vcmulq_rot270_m): Likewise. - (vcmulq_rot90_m): Likewise. - (veorq_m): Likewise. - (vfmaq_m): Likewise. - (vfmaq_m_n): Likewise. - (vfmasq_m_n): Likewise. - (vfmsq_m): Likewise. - (vmaxnmq_m): Likewise. - (vminnmq_m): Likewise. - (vmulq_m): Likewise. - (vmulq_m_n): Likewise. - (vornq_m): Likewise. - (vsubq_m): Likewise. - (vsubq_m_n): Likewise. - (vorrq_m): Likewise. - * config/arm/arm_mve_builtins.def (QUADOP_NONE_NONE_NONE_IMM_UNONE): Use - builtin qualifier. - (QUADOP_NONE_NONE_NONE_NONE_UNONE): Likewise. - (QUADOP_UNONE_UNONE_NONE_IMM_UNONE): Likewise. - * config/arm/mve.md (mve_vabdq_m_f): Define RTL pattern. - (mve_vaddq_m_f): Likewise. - (mve_vaddq_m_n_f): Likewise. - (mve_vandq_m_f): Likewise. - (mve_vbicq_m_f): Likewise. - (mve_vbrsrq_m_n_f): Likewise. - (mve_vcaddq_rot270_m_f): Likewise. - (mve_vcaddq_rot90_m_f): Likewise. - (mve_vcmlaq_m_f): Likewise. - (mve_vcmlaq_rot180_m_f): Likewise. - (mve_vcmlaq_rot270_m_f): Likewise. - (mve_vcmlaq_rot90_m_f): Likewise. - (mve_vcmulq_m_f): Likewise. - (mve_vcmulq_rot180_m_f): Likewise. - (mve_vcmulq_rot270_m_f): Likewise. - (mve_vcmulq_rot90_m_f): Likewise. - (mve_veorq_m_f): Likewise. - (mve_vfmaq_m_f): Likewise. - (mve_vfmaq_m_n_f): Likewise. - (mve_vfmasq_m_n_f): Likewise. - (mve_vfmsq_m_f): Likewise. - (mve_vmaxnmq_m_f): Likewise. - (mve_vminnmq_m_f): Likewise. - (mve_vmulq_m_f): Likewise. - (mve_vmulq_m_n_f): Likewise. - (mve_vornq_m_f): Likewise. - (mve_vorrq_m_f): Likewise. - (mve_vsubq_m_f): Likewise. - (mve_vsubq_m_n_f): Likewise. - -2020-03-18 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * config/arm/arm-protos.h (arm_mve_immediate_check): - * config/arm/arm.c (arm_mve_immediate_check): Define fuction to check - mode and interger value. - * config/arm/arm_mve.h (vmlaldavaq_p_s32): Define macro. - (vmlaldavaq_p_s16): Likewise. - (vmlaldavaq_p_u32): Likewise. - (vmlaldavaq_p_u16): Likewise. - (vmlaldavaxq_p_s32): Likewise. - (vmlaldavaxq_p_s16): Likewise. - (vmlaldavaxq_p_u32): Likewise. - (vmlaldavaxq_p_u16): Likewise. - (vmlsldavaq_p_s32): Likewise. - (vmlsldavaq_p_s16): Likewise. - (vmlsldavaxq_p_s32): Likewise. - (vmlsldavaxq_p_s16): Likewise. - (vmullbq_poly_m_p8): Likewise. - (vmullbq_poly_m_p16): Likewise. - (vmulltq_poly_m_p8): Likewise. - (vmulltq_poly_m_p16): Likewise. - (vqdmullbq_m_n_s32): Likewise. - (vqdmullbq_m_n_s16): Likewise. - (vqdmullbq_m_s32): Likewise. - (vqdmullbq_m_s16): Likewise. - (vqdmulltq_m_n_s32): Likewise. - (vqdmulltq_m_n_s16): Likewise. - (vqdmulltq_m_s32): Likewise. - (vqdmulltq_m_s16): Likewise. - (vqrshrnbq_m_n_s32): Likewise. - (vqrshrnbq_m_n_s16): Likewise. - (vqrshrnbq_m_n_u32): Likewise. - (vqrshrnbq_m_n_u16): Likewise. - (vqrshrntq_m_n_s32): Likewise. - (vqrshrntq_m_n_s16): Likewise. - (vqrshrntq_m_n_u32): Likewise. - (vqrshrntq_m_n_u16): Likewise. - (vqrshrunbq_m_n_s32): Likewise. - (vqrshrunbq_m_n_s16): Likewise. - (vqrshruntq_m_n_s32): Likewise. - (vqrshruntq_m_n_s16): Likewise. - (vqshrnbq_m_n_s32): Likewise. - (vqshrnbq_m_n_s16): Likewise. - (vqshrnbq_m_n_u32): Likewise. - (vqshrnbq_m_n_u16): Likewise. - (vqshrntq_m_n_s32): Likewise. - (vqshrntq_m_n_s16): Likewise. - (vqshrntq_m_n_u32): Likewise. - (vqshrntq_m_n_u16): Likewise. - (vqshrunbq_m_n_s32): Likewise. - (vqshrunbq_m_n_s16): Likewise. - (vqshruntq_m_n_s32): Likewise. - (vqshruntq_m_n_s16): Likewise. - (vrmlaldavhaq_p_s32): Likewise. - (vrmlaldavhaq_p_u32): Likewise. - (vrmlaldavhaxq_p_s32): Likewise. - (vrmlsldavhaq_p_s32): Likewise. - (vrmlsldavhaxq_p_s32): Likewise. - (vrshrnbq_m_n_s32): Likewise. - (vrshrnbq_m_n_s16): Likewise. - (vrshrnbq_m_n_u32): Likewise. - (vrshrnbq_m_n_u16): Likewise. - (vrshrntq_m_n_s32): Likewise. - (vrshrntq_m_n_s16): Likewise. - (vrshrntq_m_n_u32): Likewise. - (vrshrntq_m_n_u16): Likewise. - (vshllbq_m_n_s8): Likewise. - (vshllbq_m_n_s16): Likewise. - (vshllbq_m_n_u8): Likewise. - (vshllbq_m_n_u16): Likewise. - (vshlltq_m_n_s8): Likewise. - (vshlltq_m_n_s16): Likewise. - (vshlltq_m_n_u8): Likewise. - (vshlltq_m_n_u16): Likewise. - (vshrnbq_m_n_s32): Likewise. - (vshrnbq_m_n_s16): Likewise. - (vshrnbq_m_n_u32): Likewise. - (vshrnbq_m_n_u16): Likewise. - (vshrntq_m_n_s32): Likewise. - (vshrntq_m_n_s16): Likewise. - (vshrntq_m_n_u32): Likewise. - (vshrntq_m_n_u16): Likewise. - (__arm_vmlaldavaq_p_s32): Define intrinsic. - (__arm_vmlaldavaq_p_s16): Likewise. - (__arm_vmlaldavaq_p_u32): Likewise. - (__arm_vmlaldavaq_p_u16): Likewise. - (__arm_vmlaldavaxq_p_s32): Likewise. - (__arm_vmlaldavaxq_p_s16): Likewise. - (__arm_vmlaldavaxq_p_u32): Likewise. - (__arm_vmlaldavaxq_p_u16): Likewise. - (__arm_vmlsldavaq_p_s32): Likewise. - (__arm_vmlsldavaq_p_s16): Likewise. - (__arm_vmlsldavaxq_p_s32): Likewise. - (__arm_vmlsldavaxq_p_s16): Likewise. - (__arm_vmullbq_poly_m_p8): Likewise. - (__arm_vmullbq_poly_m_p16): Likewise. - (__arm_vmulltq_poly_m_p8): Likewise. - (__arm_vmulltq_poly_m_p16): Likewise. - (__arm_vqdmullbq_m_n_s32): Likewise. - (__arm_vqdmullbq_m_n_s16): Likewise. - (__arm_vqdmullbq_m_s32): Likewise. - (__arm_vqdmullbq_m_s16): Likewise. - (__arm_vqdmulltq_m_n_s32): Likewise. - (__arm_vqdmulltq_m_n_s16): Likewise. - (__arm_vqdmulltq_m_s32): Likewise. - (__arm_vqdmulltq_m_s16): Likewise. - (__arm_vqrshrnbq_m_n_s32): Likewise. - (__arm_vqrshrnbq_m_n_s16): Likewise. - (__arm_vqrshrnbq_m_n_u32): Likewise. - (__arm_vqrshrnbq_m_n_u16): Likewise. - (__arm_vqrshrntq_m_n_s32): Likewise. - (__arm_vqrshrntq_m_n_s16): Likewise. - (__arm_vqrshrntq_m_n_u32): Likewise. - (__arm_vqrshrntq_m_n_u16): Likewise. - (__arm_vqrshrunbq_m_n_s32): Likewise. - (__arm_vqrshrunbq_m_n_s16): Likewise. - (__arm_vqrshruntq_m_n_s32): Likewise. - (__arm_vqrshruntq_m_n_s16): Likewise. - (__arm_vqshrnbq_m_n_s32): Likewise. - (__arm_vqshrnbq_m_n_s16): Likewise. - (__arm_vqshrnbq_m_n_u32): Likewise. - (__arm_vqshrnbq_m_n_u16): Likewise. - (__arm_vqshrntq_m_n_s32): Likewise. - (__arm_vqshrntq_m_n_s16): Likewise. - (__arm_vqshrntq_m_n_u32): Likewise. - (__arm_vqshrntq_m_n_u16): Likewise. - (__arm_vqshrunbq_m_n_s32): Likewise. - (__arm_vqshrunbq_m_n_s16): Likewise. - (__arm_vqshruntq_m_n_s32): Likewise. - (__arm_vqshruntq_m_n_s16): Likewise. - (__arm_vrmlaldavhaq_p_s32): Likewise. - (__arm_vrmlaldavhaq_p_u32): Likewise. - (__arm_vrmlaldavhaxq_p_s32): Likewise. - (__arm_vrmlsldavhaq_p_s32): Likewise. - (__arm_vrmlsldavhaxq_p_s32): Likewise. - (__arm_vrshrnbq_m_n_s32): Likewise. - (__arm_vrshrnbq_m_n_s16): Likewise. - (__arm_vrshrnbq_m_n_u32): Likewise. - (__arm_vrshrnbq_m_n_u16): Likewise. - (__arm_vrshrntq_m_n_s32): Likewise. - (__arm_vrshrntq_m_n_s16): Likewise. - (__arm_vrshrntq_m_n_u32): Likewise. - (__arm_vrshrntq_m_n_u16): Likewise. - (__arm_vshllbq_m_n_s8): Likewise. - (__arm_vshllbq_m_n_s16): Likewise. - (__arm_vshllbq_m_n_u8): Likewise. - (__arm_vshllbq_m_n_u16): Likewise. - (__arm_vshlltq_m_n_s8): Likewise. - (__arm_vshlltq_m_n_s16): Likewise. - (__arm_vshlltq_m_n_u8): Likewise. - (__arm_vshlltq_m_n_u16): Likewise. - (__arm_vshrnbq_m_n_s32): Likewise. - (__arm_vshrnbq_m_n_s16): Likewise. - (__arm_vshrnbq_m_n_u32): Likewise. - (__arm_vshrnbq_m_n_u16): Likewise. - (__arm_vshrntq_m_n_s32): Likewise. - (__arm_vshrntq_m_n_s16): Likewise. - (__arm_vshrntq_m_n_u32): Likewise. - (__arm_vshrntq_m_n_u16): Likewise. - (vmullbq_poly_m): Define polymorphic variant. - (vmulltq_poly_m): Likewise. - (vshllbq_m): Likewise. - (vshrntq_m_n): Likewise. - (vshrnbq_m_n): Likewise. - (vshlltq_m_n): Likewise. - (vshllbq_m_n): Likewise. - (vrshrntq_m_n): Likewise. - (vrshrnbq_m_n): Likewise. - (vqshruntq_m_n): Likewise. - (vqshrunbq_m_n): Likewise. - (vqdmullbq_m_n): Likewise. - (vqdmullbq_m): Likewise. - (vqdmulltq_m_n): Likewise. - (vqdmulltq_m): Likewise. - (vqrshrnbq_m_n): Likewise. - (vqrshrntq_m_n): Likewise. - (vqrshrunbq_m_n): Likewise. - (vqrshruntq_m_n): Likewise. - (vqshrnbq_m_n): Likewise. - (vqshrntq_m_n): Likewise. - * config/arm/arm_mve_builtins.def (QUADOP_NONE_NONE_NONE_IMM_UNONE): Use - builtin qualifiers. - (QUADOP_NONE_NONE_NONE_NONE_UNONE): Likewise. - (QUADOP_UNONE_UNONE_NONE_IMM_UNONE): Likewise. - (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE): Likewise. - (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE): Likewise. - * config/arm/mve.md (VMLALDAVAQ_P): Define iterator. - (VMLALDAVAXQ_P): Likewise. - (VQRSHRNBQ_M_N): Likewise. - (VQRSHRNTQ_M_N): Likewise. - (VQSHRNBQ_M_N): Likewise. - (VQSHRNTQ_M_N): Likewise. - (VRSHRNBQ_M_N): Likewise. - (VRSHRNTQ_M_N): Likewise. - (VSHLLBQ_M_N): Likewise. - (VSHLLTQ_M_N): Likewise. - (VSHRNBQ_M_N): Likewise. - (VSHRNTQ_M_N): Likewise. - (mve_vmlaldavaq_p_): Define RTL pattern. - (mve_vmlaldavaxq_p_): Likewise. - (mve_vqrshrnbq_m_n_): Likewise. - (mve_vqrshrntq_m_n_): Likewise. - (mve_vqshrnbq_m_n_): Likewise. - (mve_vqshrntq_m_n_): Likewise. - (mve_vrmlaldavhaq_p_sv4si): Likewise. - (mve_vrshrnbq_m_n_): Likewise. - (mve_vrshrntq_m_n_): Likewise. - (mve_vshllbq_m_n_): Likewise. - (mve_vshlltq_m_n_): Likewise. - (mve_vshrnbq_m_n_): Likewise. - (mve_vshrntq_m_n_): Likewise. - (mve_vmlsldavaq_p_s): Likewise. - (mve_vmlsldavaxq_p_s): Likewise. - (mve_vmullbq_poly_m_p): Likewise. - (mve_vmulltq_poly_m_p): Likewise. - (mve_vqdmullbq_m_n_s): Likewise. - (mve_vqdmullbq_m_s): Likewise. - (mve_vqdmulltq_m_n_s): Likewise. - (mve_vqdmulltq_m_s): Likewise. - (mve_vqrshrunbq_m_n_s): Likewise. - (mve_vqrshruntq_m_n_s): Likewise. - (mve_vqshrunbq_m_n_s): Likewise. - (mve_vqshruntq_m_n_s): Likewise. - (mve_vrmlaldavhaq_p_uv4si): Likewise. - (mve_vrmlaldavhaxq_p_sv4si): Likewise. - (mve_vrmlsldavhaq_p_sv4si): Likewise. - (mve_vrmlsldavhaxq_p_sv4si): Likewise. - -2020-03-18 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * config/arm/arm_mve.h (vabdq_m_s8): Define macro. - (vabdq_m_s32): Likewise. - (vabdq_m_s16): Likewise. - (vabdq_m_u8): Likewise. - (vabdq_m_u32): Likewise. - (vabdq_m_u16): Likewise. - (vaddq_m_n_s8): Likewise. - (vaddq_m_n_s32): Likewise. - (vaddq_m_n_s16): Likewise. - (vaddq_m_n_u8): Likewise. - (vaddq_m_n_u32): Likewise. - (vaddq_m_n_u16): Likewise. - (vaddq_m_s8): Likewise. - (vaddq_m_s32): Likewise. - (vaddq_m_s16): Likewise. - (vaddq_m_u8): Likewise. - (vaddq_m_u32): Likewise. - (vaddq_m_u16): Likewise. - (vandq_m_s8): Likewise. - (vandq_m_s32): Likewise. - (vandq_m_s16): Likewise. - (vandq_m_u8): Likewise. - (vandq_m_u32): Likewise. - (vandq_m_u16): Likewise. - (vbicq_m_s8): Likewise. - (vbicq_m_s32): Likewise. - (vbicq_m_s16): Likewise. - (vbicq_m_u8): Likewise. - (vbicq_m_u32): Likewise. - (vbicq_m_u16): Likewise. - (vbrsrq_m_n_s8): Likewise. - (vbrsrq_m_n_s32): Likewise. - (vbrsrq_m_n_s16): Likewise. - (vbrsrq_m_n_u8): Likewise. - (vbrsrq_m_n_u32): Likewise. - (vbrsrq_m_n_u16): Likewise. - (vcaddq_rot270_m_s8): Likewise. - (vcaddq_rot270_m_s32): Likewise. - (vcaddq_rot270_m_s16): Likewise. - (vcaddq_rot270_m_u8): Likewise. - (vcaddq_rot270_m_u32): Likewise. - (vcaddq_rot270_m_u16): Likewise. - (vcaddq_rot90_m_s8): Likewise. - (vcaddq_rot90_m_s32): Likewise. - (vcaddq_rot90_m_s16): Likewise. - (vcaddq_rot90_m_u8): Likewise. - (vcaddq_rot90_m_u32): Likewise. - (vcaddq_rot90_m_u16): Likewise. - (veorq_m_s8): Likewise. - (veorq_m_s32): Likewise. - (veorq_m_s16): Likewise. - (veorq_m_u8): Likewise. - (veorq_m_u32): Likewise. - (veorq_m_u16): Likewise. - (vhaddq_m_n_s8): Likewise. - (vhaddq_m_n_s32): Likewise. - (vhaddq_m_n_s16): Likewise. - (vhaddq_m_n_u8): Likewise. - (vhaddq_m_n_u32): Likewise. - (vhaddq_m_n_u16): Likewise. - (vhaddq_m_s8): Likewise. - (vhaddq_m_s32): Likewise. - (vhaddq_m_s16): Likewise. - (vhaddq_m_u8): Likewise. - (vhaddq_m_u32): Likewise. - (vhaddq_m_u16): Likewise. - (vhcaddq_rot270_m_s8): Likewise. - (vhcaddq_rot270_m_s32): Likewise. - (vhcaddq_rot270_m_s16): Likewise. - (vhcaddq_rot90_m_s8): Likewise. - (vhcaddq_rot90_m_s32): Likewise. - (vhcaddq_rot90_m_s16): Likewise. - (vhsubq_m_n_s8): Likewise. - (vhsubq_m_n_s32): Likewise. - (vhsubq_m_n_s16): Likewise. - (vhsubq_m_n_u8): Likewise. - (vhsubq_m_n_u32): Likewise. - (vhsubq_m_n_u16): Likewise. - (vhsubq_m_s8): Likewise. - (vhsubq_m_s32): Likewise. - (vhsubq_m_s16): Likewise. - (vhsubq_m_u8): Likewise. - (vhsubq_m_u32): Likewise. - (vhsubq_m_u16): Likewise. - (vmaxq_m_s8): Likewise. - (vmaxq_m_s32): Likewise. - (vmaxq_m_s16): Likewise. - (vmaxq_m_u8): Likewise. - (vmaxq_m_u32): Likewise. - (vmaxq_m_u16): Likewise. - (vminq_m_s8): Likewise. - (vminq_m_s32): Likewise. - (vminq_m_s16): Likewise. - (vminq_m_u8): Likewise. - (vminq_m_u32): Likewise. - (vminq_m_u16): Likewise. - (vmladavaq_p_s8): Likewise. - (vmladavaq_p_s32): Likewise. - (vmladavaq_p_s16): Likewise. - (vmladavaq_p_u8): Likewise. - (vmladavaq_p_u32): Likewise. - (vmladavaq_p_u16): Likewise. - (vmladavaxq_p_s8): Likewise. - (vmladavaxq_p_s32): Likewise. - (vmladavaxq_p_s16): Likewise. - (vmlaq_m_n_s8): Likewise. - (vmlaq_m_n_s32): Likewise. - (vmlaq_m_n_s16): Likewise. - (vmlaq_m_n_u8): Likewise. - (vmlaq_m_n_u32): Likewise. - (vmlaq_m_n_u16): Likewise. - (vmlasq_m_n_s8): Likewise. - (vmlasq_m_n_s32): Likewise. - (vmlasq_m_n_s16): Likewise. - (vmlasq_m_n_u8): Likewise. - (vmlasq_m_n_u32): Likewise. - (vmlasq_m_n_u16): Likewise. - (vmlsdavaq_p_s8): Likewise. - (vmlsdavaq_p_s32): Likewise. - (vmlsdavaq_p_s16): Likewise. - (vmlsdavaxq_p_s8): Likewise. - (vmlsdavaxq_p_s32): Likewise. - (vmlsdavaxq_p_s16): Likewise. - (vmulhq_m_s8): Likewise. - (vmulhq_m_s32): Likewise. - (vmulhq_m_s16): Likewise. - (vmulhq_m_u8): Likewise. - (vmulhq_m_u32): Likewise. - (vmulhq_m_u16): Likewise. - (vmullbq_int_m_s8): Likewise. - (vmullbq_int_m_s32): Likewise. - (vmullbq_int_m_s16): Likewise. - (vmullbq_int_m_u8): Likewise. - (vmullbq_int_m_u32): Likewise. - (vmullbq_int_m_u16): Likewise. - (vmulltq_int_m_s8): Likewise. - (vmulltq_int_m_s32): Likewise. - (vmulltq_int_m_s16): Likewise. - (vmulltq_int_m_u8): Likewise. - (vmulltq_int_m_u32): Likewise. - (vmulltq_int_m_u16): Likewise. - (vmulq_m_n_s8): Likewise. - (vmulq_m_n_s32): Likewise. - (vmulq_m_n_s16): Likewise. - (vmulq_m_n_u8): Likewise. - (vmulq_m_n_u32): Likewise. - (vmulq_m_n_u16): Likewise. - (vmulq_m_s8): Likewise. - (vmulq_m_s32): Likewise. - (vmulq_m_s16): Likewise. - (vmulq_m_u8): Likewise. - (vmulq_m_u32): Likewise. - (vmulq_m_u16): Likewise. - (vornq_m_s8): Likewise. - (vornq_m_s32): Likewise. - (vornq_m_s16): Likewise. - (vornq_m_u8): Likewise. - (vornq_m_u32): Likewise. - (vornq_m_u16): Likewise. - (vorrq_m_s8): Likewise. - (vorrq_m_s32): Likewise. - (vorrq_m_s16): Likewise. - (vorrq_m_u8): Likewise. - (vorrq_m_u32): Likewise. - (vorrq_m_u16): Likewise. - (vqaddq_m_n_s8): Likewise. - (vqaddq_m_n_s32): Likewise. - (vqaddq_m_n_s16): Likewise. - (vqaddq_m_n_u8): Likewise. - (vqaddq_m_n_u32): Likewise. - (vqaddq_m_n_u16): Likewise. - (vqaddq_m_s8): Likewise. - (vqaddq_m_s32): Likewise. - (vqaddq_m_s16): Likewise. - (vqaddq_m_u8): Likewise. - (vqaddq_m_u32): Likewise. - (vqaddq_m_u16): Likewise. - (vqdmladhq_m_s8): Likewise. - (vqdmladhq_m_s32): Likewise. - (vqdmladhq_m_s16): Likewise. - (vqdmladhxq_m_s8): Likewise. - (vqdmladhxq_m_s32): Likewise. - (vqdmladhxq_m_s16): Likewise. - (vqdmlahq_m_n_s8): Likewise. - (vqdmlahq_m_n_s32): Likewise. - (vqdmlahq_m_n_s16): Likewise. - (vqdmlahq_m_n_u8): Likewise. - (vqdmlahq_m_n_u32): Likewise. - (vqdmlahq_m_n_u16): Likewise. - (vqdmlsdhq_m_s8): Likewise. - (vqdmlsdhq_m_s32): Likewise. - (vqdmlsdhq_m_s16): Likewise. - (vqdmlsdhxq_m_s8): Likewise. - (vqdmlsdhxq_m_s32): Likewise. - (vqdmlsdhxq_m_s16): Likewise. - (vqdmulhq_m_n_s8): Likewise. - (vqdmulhq_m_n_s32): Likewise. - (vqdmulhq_m_n_s16): Likewise. - (vqdmulhq_m_s8): Likewise. - (vqdmulhq_m_s32): Likewise. - (vqdmulhq_m_s16): Likewise. - (vqrdmladhq_m_s8): Likewise. - (vqrdmladhq_m_s32): Likewise. - (vqrdmladhq_m_s16): Likewise. - (vqrdmladhxq_m_s8): Likewise. - (vqrdmladhxq_m_s32): Likewise. - (vqrdmladhxq_m_s16): Likewise. - (vqrdmlahq_m_n_s8): Likewise. - (vqrdmlahq_m_n_s32): Likewise. - (vqrdmlahq_m_n_s16): Likewise. - (vqrdmlahq_m_n_u8): Likewise. - (vqrdmlahq_m_n_u32): Likewise. - (vqrdmlahq_m_n_u16): Likewise. - (vqrdmlashq_m_n_s8): Likewise. - (vqrdmlashq_m_n_s32): Likewise. - (vqrdmlashq_m_n_s16): Likewise. - (vqrdmlashq_m_n_u8): Likewise. - (vqrdmlashq_m_n_u32): Likewise. - (vqrdmlashq_m_n_u16): Likewise. - (vqrdmlsdhq_m_s8): Likewise. - (vqrdmlsdhq_m_s32): Likewise. - (vqrdmlsdhq_m_s16): Likewise. - (vqrdmlsdhxq_m_s8): Likewise. - (vqrdmlsdhxq_m_s32): Likewise. - (vqrdmlsdhxq_m_s16): Likewise. - (vqrdmulhq_m_n_s8): Likewise. - (vqrdmulhq_m_n_s32): Likewise. - (vqrdmulhq_m_n_s16): Likewise. - (vqrdmulhq_m_s8): Likewise. - (vqrdmulhq_m_s32): Likewise. - (vqrdmulhq_m_s16): Likewise. - (vqrshlq_m_s8): Likewise. - (vqrshlq_m_s32): Likewise. - (vqrshlq_m_s16): Likewise. - (vqrshlq_m_u8): Likewise. - (vqrshlq_m_u32): Likewise. - (vqrshlq_m_u16): Likewise. - (vqshlq_m_n_s8): Likewise. - (vqshlq_m_n_s32): Likewise. - (vqshlq_m_n_s16): Likewise. - (vqshlq_m_n_u8): Likewise. - (vqshlq_m_n_u32): Likewise. - (vqshlq_m_n_u16): Likewise. - (vqshlq_m_s8): Likewise. - (vqshlq_m_s32): Likewise. - (vqshlq_m_s16): Likewise. - (vqshlq_m_u8): Likewise. - (vqshlq_m_u32): Likewise. - (vqshlq_m_u16): Likewise. - (vqsubq_m_n_s8): Likewise. - (vqsubq_m_n_s32): Likewise. - (vqsubq_m_n_s16): Likewise. - (vqsubq_m_n_u8): Likewise. - (vqsubq_m_n_u32): Likewise. - (vqsubq_m_n_u16): Likewise. - (vqsubq_m_s8): Likewise. - (vqsubq_m_s32): Likewise. - (vqsubq_m_s16): Likewise. - (vqsubq_m_u8): Likewise. - (vqsubq_m_u32): Likewise. - (vqsubq_m_u16): Likewise. - (vrhaddq_m_s8): Likewise. - (vrhaddq_m_s32): Likewise. - (vrhaddq_m_s16): Likewise. - (vrhaddq_m_u8): Likewise. - (vrhaddq_m_u32): Likewise. - (vrhaddq_m_u16): Likewise. - (vrmulhq_m_s8): Likewise. - (vrmulhq_m_s32): Likewise. - (vrmulhq_m_s16): Likewise. - (vrmulhq_m_u8): Likewise. - (vrmulhq_m_u32): Likewise. - (vrmulhq_m_u16): Likewise. - (vrshlq_m_s8): Likewise. - (vrshlq_m_s32): Likewise. - (vrshlq_m_s16): Likewise. - (vrshlq_m_u8): Likewise. - (vrshlq_m_u32): Likewise. - (vrshlq_m_u16): Likewise. - (vrshrq_m_n_s8): Likewise. - (vrshrq_m_n_s32): Likewise. - (vrshrq_m_n_s16): Likewise. - (vrshrq_m_n_u8): Likewise. - (vrshrq_m_n_u32): Likewise. - (vrshrq_m_n_u16): Likewise. - (vshlq_m_n_s8): Likewise. - (vshlq_m_n_s32): Likewise. - (vshlq_m_n_s16): Likewise. - (vshlq_m_n_u8): Likewise. - (vshlq_m_n_u32): Likewise. - (vshlq_m_n_u16): Likewise. - (vshrq_m_n_s8): Likewise. - (vshrq_m_n_s32): Likewise. - (vshrq_m_n_s16): Likewise. - (vshrq_m_n_u8): Likewise. - (vshrq_m_n_u32): Likewise. - (vshrq_m_n_u16): Likewise. - (vsliq_m_n_s8): Likewise. - (vsliq_m_n_s32): Likewise. - (vsliq_m_n_s16): Likewise. - (vsliq_m_n_u8): Likewise. - (vsliq_m_n_u32): Likewise. - (vsliq_m_n_u16): Likewise. - (vsubq_m_n_s8): Likewise. - (vsubq_m_n_s32): Likewise. - (vsubq_m_n_s16): Likewise. - (vsubq_m_n_u8): Likewise. - (vsubq_m_n_u32): Likewise. - (vsubq_m_n_u16): Likewise. - (__arm_vabdq_m_s8): Define intrinsic. - (__arm_vabdq_m_s32): Likewise. - (__arm_vabdq_m_s16): Likewise. - (__arm_vabdq_m_u8): Likewise. - (__arm_vabdq_m_u32): Likewise. - (__arm_vabdq_m_u16): Likewise. - (__arm_vaddq_m_n_s8): Likewise. - (__arm_vaddq_m_n_s32): Likewise. - (__arm_vaddq_m_n_s16): Likewise. - (__arm_vaddq_m_n_u8): Likewise. - (__arm_vaddq_m_n_u32): Likewise. - (__arm_vaddq_m_n_u16): Likewise. - (__arm_vaddq_m_s8): Likewise. - (__arm_vaddq_m_s32): Likewise. - (__arm_vaddq_m_s16): Likewise. - (__arm_vaddq_m_u8): Likewise. - (__arm_vaddq_m_u32): Likewise. - (__arm_vaddq_m_u16): Likewise. - (__arm_vandq_m_s8): Likewise. - (__arm_vandq_m_s32): Likewise. - (__arm_vandq_m_s16): Likewise. - (__arm_vandq_m_u8): Likewise. - (__arm_vandq_m_u32): Likewise. - (__arm_vandq_m_u16): Likewise. - (__arm_vbicq_m_s8): Likewise. - (__arm_vbicq_m_s32): Likewise. - (__arm_vbicq_m_s16): Likewise. - (__arm_vbicq_m_u8): Likewise. - (__arm_vbicq_m_u32): Likewise. - (__arm_vbicq_m_u16): Likewise. - (__arm_vbrsrq_m_n_s8): Likewise. - (__arm_vbrsrq_m_n_s32): Likewise. - (__arm_vbrsrq_m_n_s16): Likewise. - (__arm_vbrsrq_m_n_u8): Likewise. - (__arm_vbrsrq_m_n_u32): Likewise. - (__arm_vbrsrq_m_n_u16): Likewise. - (__arm_vcaddq_rot270_m_s8): Likewise. - (__arm_vcaddq_rot270_m_s32): Likewise. - (__arm_vcaddq_rot270_m_s16): Likewise. - (__arm_vcaddq_rot270_m_u8): Likewise. - (__arm_vcaddq_rot270_m_u32): Likewise. - (__arm_vcaddq_rot270_m_u16): Likewise. - (__arm_vcaddq_rot90_m_s8): Likewise. - (__arm_vcaddq_rot90_m_s32): Likewise. - (__arm_vcaddq_rot90_m_s16): Likewise. - (__arm_vcaddq_rot90_m_u8): Likewise. - (__arm_vcaddq_rot90_m_u32): Likewise. - (__arm_vcaddq_rot90_m_u16): Likewise. - (__arm_veorq_m_s8): Likewise. - (__arm_veorq_m_s32): Likewise. - (__arm_veorq_m_s16): Likewise. - (__arm_veorq_m_u8): Likewise. - (__arm_veorq_m_u32): Likewise. - (__arm_veorq_m_u16): Likewise. - (__arm_vhaddq_m_n_s8): Likewise. - (__arm_vhaddq_m_n_s32): Likewise. - (__arm_vhaddq_m_n_s16): Likewise. - (__arm_vhaddq_m_n_u8): Likewise. - (__arm_vhaddq_m_n_u32): Likewise. - (__arm_vhaddq_m_n_u16): Likewise. - (__arm_vhaddq_m_s8): Likewise. - (__arm_vhaddq_m_s32): Likewise. - (__arm_vhaddq_m_s16): Likewise. - (__arm_vhaddq_m_u8): Likewise. - (__arm_vhaddq_m_u32): Likewise. - (__arm_vhaddq_m_u16): Likewise. - (__arm_vhcaddq_rot270_m_s8): Likewise. - (__arm_vhcaddq_rot270_m_s32): Likewise. - (__arm_vhcaddq_rot270_m_s16): Likewise. - (__arm_vhcaddq_rot90_m_s8): Likewise. - (__arm_vhcaddq_rot90_m_s32): Likewise. - (__arm_vhcaddq_rot90_m_s16): Likewise. - (__arm_vhsubq_m_n_s8): Likewise. - (__arm_vhsubq_m_n_s32): Likewise. - (__arm_vhsubq_m_n_s16): Likewise. - (__arm_vhsubq_m_n_u8): Likewise. - (__arm_vhsubq_m_n_u32): Likewise. - (__arm_vhsubq_m_n_u16): Likewise. - (__arm_vhsubq_m_s8): Likewise. - (__arm_vhsubq_m_s32): Likewise. - (__arm_vhsubq_m_s16): Likewise. - (__arm_vhsubq_m_u8): Likewise. - (__arm_vhsubq_m_u32): Likewise. - (__arm_vhsubq_m_u16): Likewise. - (__arm_vmaxq_m_s8): Likewise. - (__arm_vmaxq_m_s32): Likewise. - (__arm_vmaxq_m_s16): Likewise. - (__arm_vmaxq_m_u8): Likewise. - (__arm_vmaxq_m_u32): Likewise. - (__arm_vmaxq_m_u16): Likewise. - (__arm_vminq_m_s8): Likewise. - (__arm_vminq_m_s32): Likewise. - (__arm_vminq_m_s16): Likewise. - (__arm_vminq_m_u8): Likewise. - (__arm_vminq_m_u32): Likewise. - (__arm_vminq_m_u16): Likewise. - (__arm_vmladavaq_p_s8): Likewise. - (__arm_vmladavaq_p_s32): Likewise. - (__arm_vmladavaq_p_s16): Likewise. - (__arm_vmladavaq_p_u8): Likewise. - (__arm_vmladavaq_p_u32): Likewise. - (__arm_vmladavaq_p_u16): Likewise. - (__arm_vmladavaxq_p_s8): Likewise. - (__arm_vmladavaxq_p_s32): Likewise. - (__arm_vmladavaxq_p_s16): Likewise. - (__arm_vmlaq_m_n_s8): Likewise. - (__arm_vmlaq_m_n_s32): Likewise. - (__arm_vmlaq_m_n_s16): Likewise. - (__arm_vmlaq_m_n_u8): Likewise. - (__arm_vmlaq_m_n_u32): Likewise. - (__arm_vmlaq_m_n_u16): Likewise. - (__arm_vmlasq_m_n_s8): Likewise. - (__arm_vmlasq_m_n_s32): Likewise. - (__arm_vmlasq_m_n_s16): Likewise. - (__arm_vmlasq_m_n_u8): Likewise. - (__arm_vmlasq_m_n_u32): Likewise. - (__arm_vmlasq_m_n_u16): Likewise. - (__arm_vmlsdavaq_p_s8): Likewise. - (__arm_vmlsdavaq_p_s32): Likewise. - (__arm_vmlsdavaq_p_s16): Likewise. - (__arm_vmlsdavaxq_p_s8): Likewise. - (__arm_vmlsdavaxq_p_s32): Likewise. - (__arm_vmlsdavaxq_p_s16): Likewise. - (__arm_vmulhq_m_s8): Likewise. - (__arm_vmulhq_m_s32): Likewise. - (__arm_vmulhq_m_s16): Likewise. - (__arm_vmulhq_m_u8): Likewise. - (__arm_vmulhq_m_u32): Likewise. - (__arm_vmulhq_m_u16): Likewise. - (__arm_vmullbq_int_m_s8): Likewise. - (__arm_vmullbq_int_m_s32): Likewise. - (__arm_vmullbq_int_m_s16): Likewise. - (__arm_vmullbq_int_m_u8): Likewise. - (__arm_vmullbq_int_m_u32): Likewise. - (__arm_vmullbq_int_m_u16): Likewise. - (__arm_vmulltq_int_m_s8): Likewise. - (__arm_vmulltq_int_m_s32): Likewise. - (__arm_vmulltq_int_m_s16): Likewise. - (__arm_vmulltq_int_m_u8): Likewise. - (__arm_vmulltq_int_m_u32): Likewise. - (__arm_vmulltq_int_m_u16): Likewise. - (__arm_vmulq_m_n_s8): Likewise. - (__arm_vmulq_m_n_s32): Likewise. - (__arm_vmulq_m_n_s16): Likewise. - (__arm_vmulq_m_n_u8): Likewise. - (__arm_vmulq_m_n_u32): Likewise. - (__arm_vmulq_m_n_u16): Likewise. - (__arm_vmulq_m_s8): Likewise. - (__arm_vmulq_m_s32): Likewise. - (__arm_vmulq_m_s16): Likewise. - (__arm_vmulq_m_u8): Likewise. - (__arm_vmulq_m_u32): Likewise. - (__arm_vmulq_m_u16): Likewise. - (__arm_vornq_m_s8): Likewise. - (__arm_vornq_m_s32): Likewise. - (__arm_vornq_m_s16): Likewise. - (__arm_vornq_m_u8): Likewise. - (__arm_vornq_m_u32): Likewise. - (__arm_vornq_m_u16): Likewise. - (__arm_vorrq_m_s8): Likewise. - (__arm_vorrq_m_s32): Likewise. - (__arm_vorrq_m_s16): Likewise. - (__arm_vorrq_m_u8): Likewise. - (__arm_vorrq_m_u32): Likewise. - (__arm_vorrq_m_u16): Likewise. - (__arm_vqaddq_m_n_s8): Likewise. - (__arm_vqaddq_m_n_s32): Likewise. - (__arm_vqaddq_m_n_s16): Likewise. - (__arm_vqaddq_m_n_u8): Likewise. - (__arm_vqaddq_m_n_u32): Likewise. - (__arm_vqaddq_m_n_u16): Likewise. - (__arm_vqaddq_m_s8): Likewise. - (__arm_vqaddq_m_s32): Likewise. - (__arm_vqaddq_m_s16): Likewise. - (__arm_vqaddq_m_u8): Likewise. - (__arm_vqaddq_m_u32): Likewise. - (__arm_vqaddq_m_u16): Likewise. - (__arm_vqdmladhq_m_s8): Likewise. - (__arm_vqdmladhq_m_s32): Likewise. - (__arm_vqdmladhq_m_s16): Likewise. - (__arm_vqdmladhxq_m_s8): Likewise. - (__arm_vqdmladhxq_m_s32): Likewise. - (__arm_vqdmladhxq_m_s16): Likewise. - (__arm_vqdmlahq_m_n_s8): Likewise. - (__arm_vqdmlahq_m_n_s32): Likewise. - (__arm_vqdmlahq_m_n_s16): Likewise. - (__arm_vqdmlahq_m_n_u8): Likewise. - (__arm_vqdmlahq_m_n_u32): Likewise. - (__arm_vqdmlahq_m_n_u16): Likewise. - (__arm_vqdmlsdhq_m_s8): Likewise. - (__arm_vqdmlsdhq_m_s32): Likewise. - (__arm_vqdmlsdhq_m_s16): Likewise. - (__arm_vqdmlsdhxq_m_s8): Likewise. - (__arm_vqdmlsdhxq_m_s32): Likewise. - (__arm_vqdmlsdhxq_m_s16): Likewise. - (__arm_vqdmulhq_m_n_s8): Likewise. - (__arm_vqdmulhq_m_n_s32): Likewise. - (__arm_vqdmulhq_m_n_s16): Likewise. - (__arm_vqdmulhq_m_s8): Likewise. - (__arm_vqdmulhq_m_s32): Likewise. - (__arm_vqdmulhq_m_s16): Likewise. - (__arm_vqrdmladhq_m_s8): Likewise. - (__arm_vqrdmladhq_m_s32): Likewise. - (__arm_vqrdmladhq_m_s16): Likewise. - (__arm_vqrdmladhxq_m_s8): Likewise. - (__arm_vqrdmladhxq_m_s32): Likewise. - (__arm_vqrdmladhxq_m_s16): Likewise. - (__arm_vqrdmlahq_m_n_s8): Likewise. - (__arm_vqrdmlahq_m_n_s32): Likewise. - (__arm_vqrdmlahq_m_n_s16): Likewise. - (__arm_vqrdmlahq_m_n_u8): Likewise. - (__arm_vqrdmlahq_m_n_u32): Likewise. - (__arm_vqrdmlahq_m_n_u16): Likewise. - (__arm_vqrdmlashq_m_n_s8): Likewise. - (__arm_vqrdmlashq_m_n_s32): Likewise. - (__arm_vqrdmlashq_m_n_s16): Likewise. - (__arm_vqrdmlashq_m_n_u8): Likewise. - (__arm_vqrdmlashq_m_n_u32): Likewise. - (__arm_vqrdmlashq_m_n_u16): Likewise. - (__arm_vqrdmlsdhq_m_s8): Likewise. - (__arm_vqrdmlsdhq_m_s32): Likewise. - (__arm_vqrdmlsdhq_m_s16): Likewise. - (__arm_vqrdmlsdhxq_m_s8): Likewise. - (__arm_vqrdmlsdhxq_m_s32): Likewise. - (__arm_vqrdmlsdhxq_m_s16): Likewise. - (__arm_vqrdmulhq_m_n_s8): Likewise. - (__arm_vqrdmulhq_m_n_s32): Likewise. - (__arm_vqrdmulhq_m_n_s16): Likewise. - (__arm_vqrdmulhq_m_s8): Likewise. - (__arm_vqrdmulhq_m_s32): Likewise. - (__arm_vqrdmulhq_m_s16): Likewise. - (__arm_vqrshlq_m_s8): Likewise. - (__arm_vqrshlq_m_s32): Likewise. - (__arm_vqrshlq_m_s16): Likewise. - (__arm_vqrshlq_m_u8): Likewise. - (__arm_vqrshlq_m_u32): Likewise. - (__arm_vqrshlq_m_u16): Likewise. - (__arm_vqshlq_m_n_s8): Likewise. - (__arm_vqshlq_m_n_s32): Likewise. - (__arm_vqshlq_m_n_s16): Likewise. - (__arm_vqshlq_m_n_u8): Likewise. - (__arm_vqshlq_m_n_u32): Likewise. - (__arm_vqshlq_m_n_u16): Likewise. - (__arm_vqshlq_m_s8): Likewise. - (__arm_vqshlq_m_s32): Likewise. - (__arm_vqshlq_m_s16): Likewise. - (__arm_vqshlq_m_u8): Likewise. - (__arm_vqshlq_m_u32): Likewise. - (__arm_vqshlq_m_u16): Likewise. - (__arm_vqsubq_m_n_s8): Likewise. - (__arm_vqsubq_m_n_s32): Likewise. - (__arm_vqsubq_m_n_s16): Likewise. - (__arm_vqsubq_m_n_u8): Likewise. - (__arm_vqsubq_m_n_u32): Likewise. - (__arm_vqsubq_m_n_u16): Likewise. - (__arm_vqsubq_m_s8): Likewise. - (__arm_vqsubq_m_s32): Likewise. - (__arm_vqsubq_m_s16): Likewise. - (__arm_vqsubq_m_u8): Likewise. - (__arm_vqsubq_m_u32): Likewise. - (__arm_vqsubq_m_u16): Likewise. - (__arm_vrhaddq_m_s8): Likewise. - (__arm_vrhaddq_m_s32): Likewise. - (__arm_vrhaddq_m_s16): Likewise. - (__arm_vrhaddq_m_u8): Likewise. - (__arm_vrhaddq_m_u32): Likewise. - (__arm_vrhaddq_m_u16): Likewise. - (__arm_vrmulhq_m_s8): Likewise. - (__arm_vrmulhq_m_s32): Likewise. - (__arm_vrmulhq_m_s16): Likewise. - (__arm_vrmulhq_m_u8): Likewise. - (__arm_vrmulhq_m_u32): Likewise. - (__arm_vrmulhq_m_u16): Likewise. - (__arm_vrshlq_m_s8): Likewise. - (__arm_vrshlq_m_s32): Likewise. - (__arm_vrshlq_m_s16): Likewise. - (__arm_vrshlq_m_u8): Likewise. - (__arm_vrshlq_m_u32): Likewise. - (__arm_vrshlq_m_u16): Likewise. - (__arm_vrshrq_m_n_s8): Likewise. - (__arm_vrshrq_m_n_s32): Likewise. - (__arm_vrshrq_m_n_s16): Likewise. - (__arm_vrshrq_m_n_u8): Likewise. - (__arm_vrshrq_m_n_u32): Likewise. - (__arm_vrshrq_m_n_u16): Likewise. - (__arm_vshlq_m_n_s8): Likewise. - (__arm_vshlq_m_n_s32): Likewise. - (__arm_vshlq_m_n_s16): Likewise. - (__arm_vshlq_m_n_u8): Likewise. - (__arm_vshlq_m_n_u32): Likewise. - (__arm_vshlq_m_n_u16): Likewise. - (__arm_vshrq_m_n_s8): Likewise. - (__arm_vshrq_m_n_s32): Likewise. - (__arm_vshrq_m_n_s16): Likewise. - (__arm_vshrq_m_n_u8): Likewise. - (__arm_vshrq_m_n_u32): Likewise. - (__arm_vshrq_m_n_u16): Likewise. - (__arm_vsliq_m_n_s8): Likewise. - (__arm_vsliq_m_n_s32): Likewise. - (__arm_vsliq_m_n_s16): Likewise. - (__arm_vsliq_m_n_u8): Likewise. - (__arm_vsliq_m_n_u32): Likewise. - (__arm_vsliq_m_n_u16): Likewise. - (__arm_vsubq_m_n_s8): Likewise. - (__arm_vsubq_m_n_s32): Likewise. - (__arm_vsubq_m_n_s16): Likewise. - (__arm_vsubq_m_n_u8): Likewise. - (__arm_vsubq_m_n_u32): Likewise. - (__arm_vsubq_m_n_u16): Likewise. - (vqdmladhq_m): Define polymorphic variant. - (vqdmladhxq_m): Likewise. - (vqdmlsdhq_m): Likewise. - (vqdmlsdhxq_m): Likewise. - (vabdq_m): Likewise. - (vandq_m): Likewise. - (vbicq_m): Likewise. - (vbrsrq_m_n): Likewise. - (vcaddq_rot270_m): Likewise. - (vcaddq_rot90_m): Likewise. - (veorq_m): Likewise. - (vmaxq_m): Likewise. - (vminq_m): Likewise. - (vmladavaq_p): Likewise. - (vmlaq_m_n): Likewise. - (vmlasq_m_n): Likewise. - (vmulhq_m): Likewise. - (vmullbq_int_m): Likewise. - (vmulltq_int_m): Likewise. - (vornq_m): Likewise. - (vorrq_m): Likewise. - (vqdmlahq_m_n): Likewise. - (vqrdmlahq_m_n): Likewise. - (vqrdmlashq_m_n): Likewise. - (vqrshlq_m): Likewise. - (vqshlq_m_n): Likewise. - (vqshlq_m): Likewise. - (vrhaddq_m): Likewise. - (vrmulhq_m): Likewise. - (vrshlq_m): Likewise. - (vrshrq_m_n): Likewise. - (vshlq_m_n): Likewise. - (vshrq_m_n): Likewise. - (vsliq_m): Likewise. - (vaddq_m_n): Likewise. - (vaddq_m): Likewise. - (vhaddq_m_n): Likewise. - (vhaddq_m): Likewise. - (vhcaddq_rot270_m): Likewise. - (vhcaddq_rot90_m): Likewise. - (vhsubq_m): Likewise. - (vhsubq_m_n): Likewise. - (vmulq_m_n): Likewise. - (vmulq_m): Likewise. - (vqaddq_m_n): Likewise. - (vqaddq_m): Likewise. - (vqdmulhq_m_n): Likewise. - (vqdmulhq_m): Likewise. - (vsubq_m_n): Likewise. - (vsliq_m_n): Likewise. - (vqsubq_m_n): Likewise. - (vqsubq_m): Likewise. - (vqrdmulhq_m): Likewise. - (vqrdmulhq_m_n): Likewise. - (vqrdmlsdhxq_m): Likewise. - (vqrdmlsdhq_m): Likewise. - (vqrdmladhq_m): Likewise. - (vqrdmladhxq_m): Likewise. - (vmlsdavaxq_p): Likewise. - (vmlsdavaq_p): Likewise. - (vmladavaxq_p): Likewise. - * config/arm/arm_mve_builtins.def (QUADOP_NONE_NONE_NONE_IMM_UNONE): Use - builtin qualifier. - (QUADOP_NONE_NONE_NONE_NONE_UNONE): Likewise. - (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE): Likewise. - (QUADOP_UNONE_UNONE_UNONE_NONE_UNONE): Likewise. - (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE): Likewise. - * config/arm/mve.md (VHSUBQ_M): Define iterators. - (VSLIQ_M_N): Likewise. - (VQRDMLAHQ_M_N): Likewise. - (VRSHLQ_M): Likewise. - (VMINQ_M): Likewise. - (VMULLBQ_INT_M): Likewise. - (VMULHQ_M): Likewise. - (VMULQ_M): Likewise. - (VHSUBQ_M_N): Likewise. - (VHADDQ_M_N): Likewise. - (VORRQ_M): Likewise. - (VRMULHQ_M): Likewise. - (VQADDQ_M): Likewise. - (VRSHRQ_M_N): Likewise. - (VQSUBQ_M_N): Likewise. - (VADDQ_M): Likewise. - (VORNQ_M): Likewise. - (VQDMLAHQ_M_N): Likewise. - (VRHADDQ_M): Likewise. - (VQSHLQ_M): Likewise. - (VANDQ_M): Likewise. - (VBICQ_M): Likewise. - (VSHLQ_M_N): Likewise. - (VCADDQ_ROT270_M): Likewise. - (VQRSHLQ_M): Likewise. - (VQADDQ_M_N): Likewise. - (VADDQ_M_N): Likewise. - (VMAXQ_M): Likewise. - (VQSUBQ_M): Likewise. - (VMLASQ_M_N): Likewise. - (VMLADAVAQ_P): Likewise. - (VBRSRQ_M_N): Likewise. - (VMULQ_M_N): Likewise. - (VCADDQ_ROT90_M): Likewise. - (VMULLTQ_INT_M): Likewise. - (VEORQ_M): Likewise. - (VSHRQ_M_N): Likewise. - (VSUBQ_M_N): Likewise. - (VHADDQ_M): Likewise. - (VABDQ_M): Likewise. - (VQRDMLASHQ_M_N): Likewise. - (VMLAQ_M_N): Likewise. - (VQSHLQ_M_N): Likewise. - (mve_vabdq_m_): Define RTL pattern. - (mve_vaddq_m_n_): Likewise. - (mve_vaddq_m_): Likewise. - (mve_vandq_m_): Likewise. - (mve_vbicq_m_): Likewise. - (mve_vbrsrq_m_n_): Likewise. - (mve_vcaddq_rot270_m_): Likewise. - (mve_vcaddq_rot90_m_): Likewise. - (mve_veorq_m_): Likewise. - (mve_vhaddq_m_n_): Likewise. - (mve_vhaddq_m_): Likewise. - (mve_vhsubq_m_n_): Likewise. - (mve_vhsubq_m_): Likewise. - (mve_vmaxq_m_): Likewise. - (mve_vminq_m_): Likewise. - (mve_vmladavaq_p_): Likewise. - (mve_vmlaq_m_n_): Likewise. - (mve_vmlasq_m_n_): Likewise. - (mve_vmulhq_m_): Likewise. - (mve_vmullbq_int_m_): Likewise. - (mve_vmulltq_int_m_): Likewise. - (mve_vmulq_m_n_): Likewise. - (mve_vmulq_m_): Likewise. - (mve_vornq_m_): Likewise. - (mve_vorrq_m_): Likewise. - (mve_vqaddq_m_n_): Likewise. - (mve_vqaddq_m_): Likewise. - (mve_vqdmlahq_m_n_): Likewise. - (mve_vqrdmlahq_m_n_): Likewise. - (mve_vqrdmlashq_m_n_): Likewise. - (mve_vqrshlq_m_): Likewise. - (mve_vqshlq_m_n_): Likewise. - (mve_vqshlq_m_): Likewise. - (mve_vqsubq_m_n_): Likewise. - (mve_vqsubq_m_): Likewise. - (mve_vrhaddq_m_): Likewise. - (mve_vrmulhq_m_): Likewise. - (mve_vrshlq_m_): Likewise. - (mve_vrshrq_m_n_): Likewise. - (mve_vshlq_m_n_): Likewise. - (mve_vshrq_m_n_): Likewise. - (mve_vsliq_m_n_): Likewise. - (mve_vsubq_m_n_): Likewise. - (mve_vhcaddq_rot270_m_s): Likewise. - (mve_vhcaddq_rot90_m_s): Likewise. - (mve_vmladavaxq_p_s): Likewise. - (mve_vmlsdavaq_p_s): Likewise. - (mve_vmlsdavaxq_p_s): Likewise. - (mve_vqdmladhq_m_s): Likewise. - (mve_vqdmladhxq_m_s): Likewise. - (mve_vqdmlsdhq_m_s): Likewise. - (mve_vqdmlsdhxq_m_s): Likewise. - (mve_vqdmulhq_m_n_s): Likewise. - (mve_vqdmulhq_m_s): Likewise. - (mve_vqrdmladhq_m_s): Likewise. - (mve_vqrdmladhxq_m_s): Likewise. - (mve_vqrdmlsdhq_m_s): Likewise. - (mve_vqrdmlsdhxq_m_s): Likewise. - (mve_vqrdmulhq_m_n_s): Likewise. - (mve_vqrdmulhq_m_s): Likewise. - -2020-03-18 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * config/arm/arm-builtins.c (QUADOP_UNONE_UNONE_NONE_NONE_UNONE_QUALIFIERS): - Define builtin qualifier. - (QUADOP_NONE_NONE_NONE_NONE_UNONE_QUALIFIERS): Likewise. - (QUADOP_NONE_NONE_NONE_IMM_UNONE_QUALIFIERS): Likewise. - (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Likewise. - (QUADOP_UNONE_UNONE_NONE_IMM_UNONE_QUALIFIERS): Likewise. - (QUADOP_NONE_NONE_UNONE_IMM_UNONE_QUALIFIERS): Likewise. - (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Likewise. - (QUADOP_UNONE_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Likewise. - * config/arm/arm_mve.h (vsriq_m_n_s8): Define macro. - (vsubq_m_s8): Likewise. - (vcvtq_m_n_f16_u16): Likewise. - (vqshluq_m_n_s8): Likewise. - (vabavq_p_s8): Likewise. - (vsriq_m_n_u8): Likewise. - (vshlq_m_u8): Likewise. - (vsubq_m_u8): Likewise. - (vabavq_p_u8): Likewise. - (vshlq_m_s8): Likewise. - (vcvtq_m_n_f16_s16): Likewise. - (vsriq_m_n_s16): Likewise. - (vsubq_m_s16): Likewise. - (vcvtq_m_n_f32_u32): Likewise. - (vqshluq_m_n_s16): Likewise. - (vabavq_p_s16): Likewise. - (vsriq_m_n_u16): Likewise. - (vshlq_m_u16): Likewise. - (vsubq_m_u16): Likewise. - (vabavq_p_u16): Likewise. - (vshlq_m_s16): Likewise. - (vcvtq_m_n_f32_s32): Likewise. - (vsriq_m_n_s32): Likewise. - (vsubq_m_s32): Likewise. - (vqshluq_m_n_s32): Likewise. - (vabavq_p_s32): Likewise. - (vsriq_m_n_u32): Likewise. - (vshlq_m_u32): Likewise. - (vsubq_m_u32): Likewise. - (vabavq_p_u32): Likewise. - (vshlq_m_s32): Likewise. - (__arm_vsriq_m_n_s8): Define intrinsic. - (__arm_vsubq_m_s8): Likewise. - (__arm_vqshluq_m_n_s8): Likewise. - (__arm_vabavq_p_s8): Likewise. - (__arm_vsriq_m_n_u8): Likewise. - (__arm_vshlq_m_u8): Likewise. - (__arm_vsubq_m_u8): Likewise. - (__arm_vabavq_p_u8): Likewise. - (__arm_vshlq_m_s8): Likewise. - (__arm_vsriq_m_n_s16): Likewise. - (__arm_vsubq_m_s16): Likewise. - (__arm_vqshluq_m_n_s16): Likewise. - (__arm_vabavq_p_s16): Likewise. - (__arm_vsriq_m_n_u16): Likewise. - (__arm_vshlq_m_u16): Likewise. - (__arm_vsubq_m_u16): Likewise. - (__arm_vabavq_p_u16): Likewise. - (__arm_vshlq_m_s16): Likewise. - (__arm_vsriq_m_n_s32): Likewise. - (__arm_vsubq_m_s32): Likewise. - (__arm_vqshluq_m_n_s32): Likewise. - (__arm_vabavq_p_s32): Likewise. - (__arm_vsriq_m_n_u32): Likewise. - (__arm_vshlq_m_u32): Likewise. - (__arm_vsubq_m_u32): Likewise. - (__arm_vabavq_p_u32): Likewise. - (__arm_vshlq_m_s32): Likewise. - (__arm_vcvtq_m_n_f16_u16): Likewise. - (__arm_vcvtq_m_n_f16_s16): Likewise. - (__arm_vcvtq_m_n_f32_u32): Likewise. - (__arm_vcvtq_m_n_f32_s32): Likewise. - (vcvtq_m_n): Define polymorphic variant. - (vqshluq_m_n): Likewise. - (vshlq_m): Likewise. - (vsriq_m_n): Likewise. - (vsubq_m): Likewise. - (vabavq_p): Likewise. - * config/arm/arm_mve_builtins.def - (QUADOP_UNONE_UNONE_NONE_NONE_UNONE_QUALIFIERS): Use builtin qualifier. - (QUADOP_NONE_NONE_NONE_NONE_UNONE_QUALIFIERS): Likewise. - (QUADOP_NONE_NONE_NONE_IMM_UNONE_QUALIFIERS): Likewise. - (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Likewise. - (QUADOP_UNONE_UNONE_NONE_IMM_UNONE_QUALIFIERS): Likewise. - (QUADOP_NONE_NONE_UNONE_IMM_UNONE_QUALIFIERS): Likewise. - (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Likewise. - (QUADOP_UNONE_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Likewise. - * config/arm/mve.md (VABAVQ_P): Define iterator. - (VSHLQ_M): Likewise. - (VSRIQ_M_N): Likewise. - (VSUBQ_M): Likewise. - (VCVTQ_M_N_TO_F): Likewise. - (mve_vabavq_p_): Define RTL pattern. - (mve_vqshluq_m_n_s): Likewise. - (mve_vshlq_m_): Likewise. - (mve_vsriq_m_n_): Likewise. - (mve_vsubq_m_): Likewise. - (mve_vcvtq_m_n_to_f_): Likewise. - -2020-03-18 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * config/arm/arm_mve.h (vrmlaldavhaxq_s32): Define macro. - (vrmlsldavhaq_s32): Likewise. - (vrmlsldavhaxq_s32): Likewise. - (vaddlvaq_p_s32): Likewise. - (vcvtbq_m_f16_f32): Likewise. - (vcvtbq_m_f32_f16): Likewise. - (vcvttq_m_f16_f32): Likewise. - (vcvttq_m_f32_f16): Likewise. - (vrev16q_m_s8): Likewise. - (vrev32q_m_f16): Likewise. - (vrmlaldavhq_p_s32): Likewise. - (vrmlaldavhxq_p_s32): Likewise. - (vrmlsldavhq_p_s32): Likewise. - (vrmlsldavhxq_p_s32): Likewise. - (vaddlvaq_p_u32): Likewise. - (vrev16q_m_u8): Likewise. - (vrmlaldavhq_p_u32): Likewise. - (vmvnq_m_n_s16): Likewise. - (vorrq_m_n_s16): Likewise. - (vqrshrntq_n_s16): Likewise. - (vqshrnbq_n_s16): Likewise. - (vqshrntq_n_s16): Likewise. - (vrshrnbq_n_s16): Likewise. - (vrshrntq_n_s16): Likewise. - (vshrnbq_n_s16): Likewise. - (vshrntq_n_s16): Likewise. - (vcmlaq_f16): Likewise. - (vcmlaq_rot180_f16): Likewise. - (vcmlaq_rot270_f16): Likewise. - (vcmlaq_rot90_f16): Likewise. - (vfmaq_f16): Likewise. - (vfmaq_n_f16): Likewise. - (vfmasq_n_f16): Likewise. - (vfmsq_f16): Likewise. - (vmlaldavaq_s16): Likewise. - (vmlaldavaxq_s16): Likewise. - (vmlsldavaq_s16): Likewise. - (vmlsldavaxq_s16): Likewise. - (vabsq_m_f16): Likewise. - (vcvtmq_m_s16_f16): Likewise. - (vcvtnq_m_s16_f16): Likewise. - (vcvtpq_m_s16_f16): Likewise. - (vcvtq_m_s16_f16): Likewise. - (vdupq_m_n_f16): Likewise. - (vmaxnmaq_m_f16): Likewise. - (vmaxnmavq_p_f16): Likewise. - (vmaxnmvq_p_f16): Likewise. - (vminnmaq_m_f16): Likewise. - (vminnmavq_p_f16): Likewise. - (vminnmvq_p_f16): Likewise. - (vmlaldavq_p_s16): Likewise. - (vmlaldavxq_p_s16): Likewise. - (vmlsldavq_p_s16): Likewise. - (vmlsldavxq_p_s16): Likewise. - (vmovlbq_m_s8): Likewise. - (vmovltq_m_s8): Likewise. - (vmovnbq_m_s16): Likewise. - (vmovntq_m_s16): Likewise. - (vnegq_m_f16): Likewise. - (vpselq_f16): Likewise. - (vqmovnbq_m_s16): Likewise. - (vqmovntq_m_s16): Likewise. - (vrev32q_m_s8): Likewise. - (vrev64q_m_f16): Likewise. - (vrndaq_m_f16): Likewise. - (vrndmq_m_f16): Likewise. - (vrndnq_m_f16): Likewise. - (vrndpq_m_f16): Likewise. - (vrndq_m_f16): Likewise. - (vrndxq_m_f16): Likewise. - (vcmpeqq_m_n_f16): Likewise. - (vcmpgeq_m_f16): Likewise. - (vcmpgeq_m_n_f16): Likewise. - (vcmpgtq_m_f16): Likewise. - (vcmpgtq_m_n_f16): Likewise. - (vcmpleq_m_f16): Likewise. - (vcmpleq_m_n_f16): Likewise. - (vcmpltq_m_f16): Likewise. - (vcmpltq_m_n_f16): Likewise. - (vcmpneq_m_f16): Likewise. - (vcmpneq_m_n_f16): Likewise. - (vmvnq_m_n_u16): Likewise. - (vorrq_m_n_u16): Likewise. - (vqrshruntq_n_s16): Likewise. - (vqshrunbq_n_s16): Likewise. - (vqshruntq_n_s16): Likewise. - (vcvtmq_m_u16_f16): Likewise. - (vcvtnq_m_u16_f16): Likewise. - (vcvtpq_m_u16_f16): Likewise. - (vcvtq_m_u16_f16): Likewise. - (vqmovunbq_m_s16): Likewise. - (vqmovuntq_m_s16): Likewise. - (vqrshrntq_n_u16): Likewise. - (vqshrnbq_n_u16): Likewise. - (vqshrntq_n_u16): Likewise. - (vrshrnbq_n_u16): Likewise. - (vrshrntq_n_u16): Likewise. - (vshrnbq_n_u16): Likewise. - (vshrntq_n_u16): Likewise. - (vmlaldavaq_u16): Likewise. - (vmlaldavaxq_u16): Likewise. - (vmlaldavq_p_u16): Likewise. - (vmlaldavxq_p_u16): Likewise. - (vmovlbq_m_u8): Likewise. - (vmovltq_m_u8): Likewise. - (vmovnbq_m_u16): Likewise. - (vmovntq_m_u16): Likewise. - (vqmovnbq_m_u16): Likewise. - (vqmovntq_m_u16): Likewise. - (vrev32q_m_u8): Likewise. - (vmvnq_m_n_s32): Likewise. - (vorrq_m_n_s32): Likewise. - (vqrshrntq_n_s32): Likewise. - (vqshrnbq_n_s32): Likewise. - (vqshrntq_n_s32): Likewise. - (vrshrnbq_n_s32): Likewise. - (vrshrntq_n_s32): Likewise. - (vshrnbq_n_s32): Likewise. - (vshrntq_n_s32): Likewise. - (vcmlaq_f32): Likewise. - (vcmlaq_rot180_f32): Likewise. - (vcmlaq_rot270_f32): Likewise. - (vcmlaq_rot90_f32): Likewise. - (vfmaq_f32): Likewise. - (vfmaq_n_f32): Likewise. - (vfmasq_n_f32): Likewise. - (vfmsq_f32): Likewise. - (vmlaldavaq_s32): Likewise. - (vmlaldavaxq_s32): Likewise. - (vmlsldavaq_s32): Likewise. - (vmlsldavaxq_s32): Likewise. - (vabsq_m_f32): Likewise. - (vcvtmq_m_s32_f32): Likewise. - (vcvtnq_m_s32_f32): Likewise. - (vcvtpq_m_s32_f32): Likewise. - (vcvtq_m_s32_f32): Likewise. - (vdupq_m_n_f32): Likewise. - (vmaxnmaq_m_f32): Likewise. - (vmaxnmavq_p_f32): Likewise. - (vmaxnmvq_p_f32): Likewise. - (vminnmaq_m_f32): Likewise. - (vminnmavq_p_f32): Likewise. - (vminnmvq_p_f32): Likewise. - (vmlaldavq_p_s32): Likewise. - (vmlaldavxq_p_s32): Likewise. - (vmlsldavq_p_s32): Likewise. - (vmlsldavxq_p_s32): Likewise. - (vmovlbq_m_s16): Likewise. - (vmovltq_m_s16): Likewise. - (vmovnbq_m_s32): Likewise. - (vmovntq_m_s32): Likewise. - (vnegq_m_f32): Likewise. - (vpselq_f32): Likewise. - (vqmovnbq_m_s32): Likewise. - (vqmovntq_m_s32): Likewise. - (vrev32q_m_s16): Likewise. - (vrev64q_m_f32): Likewise. - (vrndaq_m_f32): Likewise. - (vrndmq_m_f32): Likewise. - (vrndnq_m_f32): Likewise. - (vrndpq_m_f32): Likewise. - (vrndq_m_f32): Likewise. - (vrndxq_m_f32): Likewise. - (vcmpeqq_m_n_f32): Likewise. - (vcmpgeq_m_f32): Likewise. - (vcmpgeq_m_n_f32): Likewise. - (vcmpgtq_m_f32): Likewise. - (vcmpgtq_m_n_f32): Likewise. - (vcmpleq_m_f32): Likewise. - (vcmpleq_m_n_f32): Likewise. - (vcmpltq_m_f32): Likewise. - (vcmpltq_m_n_f32): Likewise. - (vcmpneq_m_f32): Likewise. - (vcmpneq_m_n_f32): Likewise. - (vmvnq_m_n_u32): Likewise. - (vorrq_m_n_u32): Likewise. - (vqrshruntq_n_s32): Likewise. - (vqshrunbq_n_s32): Likewise. - (vqshruntq_n_s32): Likewise. - (vcvtmq_m_u32_f32): Likewise. - (vcvtnq_m_u32_f32): Likewise. - (vcvtpq_m_u32_f32): Likewise. - (vcvtq_m_u32_f32): Likewise. - (vqmovunbq_m_s32): Likewise. - (vqmovuntq_m_s32): Likewise. - (vqrshrntq_n_u32): Likewise. - (vqshrnbq_n_u32): Likewise. - (vqshrntq_n_u32): Likewise. - (vrshrnbq_n_u32): Likewise. - (vrshrntq_n_u32): Likewise. - (vshrnbq_n_u32): Likewise. - (vshrntq_n_u32): Likewise. - (vmlaldavaq_u32): Likewise. - (vmlaldavaxq_u32): Likewise. - (vmlaldavq_p_u32): Likewise. - (vmlaldavxq_p_u32): Likewise. - (vmovlbq_m_u16): Likewise. - (vmovltq_m_u16): Likewise. - (vmovnbq_m_u32): Likewise. - (vmovntq_m_u32): Likewise. - (vqmovnbq_m_u32): Likewise. - (vqmovntq_m_u32): Likewise. - (vrev32q_m_u16): Likewise. - (__arm_vrmlaldavhaxq_s32): Define intrinsic. - (__arm_vrmlsldavhaq_s32): Likewise. - (__arm_vrmlsldavhaxq_s32): Likewise. - (__arm_vaddlvaq_p_s32): Likewise. - (__arm_vrev16q_m_s8): Likewise. - (__arm_vrmlaldavhq_p_s32): Likewise. - (__arm_vrmlaldavhxq_p_s32): Likewise. - (__arm_vrmlsldavhq_p_s32): Likewise. - (__arm_vrmlsldavhxq_p_s32): Likewise. - (__arm_vaddlvaq_p_u32): Likewise. - (__arm_vrev16q_m_u8): Likewise. - (__arm_vrmlaldavhq_p_u32): Likewise. - (__arm_vmvnq_m_n_s16): Likewise. - (__arm_vorrq_m_n_s16): Likewise. - (__arm_vqrshrntq_n_s16): Likewise. - (__arm_vqshrnbq_n_s16): Likewise. - (__arm_vqshrntq_n_s16): Likewise. - (__arm_vrshrnbq_n_s16): Likewise. - (__arm_vrshrntq_n_s16): Likewise. - (__arm_vshrnbq_n_s16): Likewise. - (__arm_vshrntq_n_s16): Likewise. - (__arm_vmlaldavaq_s16): Likewise. - (__arm_vmlaldavaxq_s16): Likewise. - (__arm_vmlsldavaq_s16): Likewise. - (__arm_vmlsldavaxq_s16): Likewise. - (__arm_vmlaldavq_p_s16): Likewise. - (__arm_vmlaldavxq_p_s16): Likewise. - (__arm_vmlsldavq_p_s16): Likewise. - (__arm_vmlsldavxq_p_s16): Likewise. - (__arm_vmovlbq_m_s8): Likewise. - (__arm_vmovltq_m_s8): Likewise. - (__arm_vmovnbq_m_s16): Likewise. - (__arm_vmovntq_m_s16): Likewise. - (__arm_vqmovnbq_m_s16): Likewise. - (__arm_vqmovntq_m_s16): Likewise. - (__arm_vrev32q_m_s8): Likewise. - (__arm_vmvnq_m_n_u16): Likewise. - (__arm_vorrq_m_n_u16): Likewise. - (__arm_vqrshruntq_n_s16): Likewise. - (__arm_vqshrunbq_n_s16): Likewise. - (__arm_vqshruntq_n_s16): Likewise. - (__arm_vqmovunbq_m_s16): Likewise. - (__arm_vqmovuntq_m_s16): Likewise. - (__arm_vqrshrntq_n_u16): Likewise. - (__arm_vqshrnbq_n_u16): Likewise. - (__arm_vqshrntq_n_u16): Likewise. - (__arm_vrshrnbq_n_u16): Likewise. - (__arm_vrshrntq_n_u16): Likewise. - (__arm_vshrnbq_n_u16): Likewise. - (__arm_vshrntq_n_u16): Likewise. - (__arm_vmlaldavaq_u16): Likewise. - (__arm_vmlaldavaxq_u16): Likewise. - (__arm_vmlaldavq_p_u16): Likewise. - (__arm_vmlaldavxq_p_u16): Likewise. - (__arm_vmovlbq_m_u8): Likewise. - (__arm_vmovltq_m_u8): Likewise. - (__arm_vmovnbq_m_u16): Likewise. - (__arm_vmovntq_m_u16): Likewise. - (__arm_vqmovnbq_m_u16): Likewise. - (__arm_vqmovntq_m_u16): Likewise. - (__arm_vrev32q_m_u8): Likewise. - (__arm_vmvnq_m_n_s32): Likewise. - (__arm_vorrq_m_n_s32): Likewise. - (__arm_vqrshrntq_n_s32): Likewise. - (__arm_vqshrnbq_n_s32): Likewise. - (__arm_vqshrntq_n_s32): Likewise. - (__arm_vrshrnbq_n_s32): Likewise. - (__arm_vrshrntq_n_s32): Likewise. - (__arm_vshrnbq_n_s32): Likewise. - (__arm_vshrntq_n_s32): Likewise. - (__arm_vmlaldavaq_s32): Likewise. - (__arm_vmlaldavaxq_s32): Likewise. - (__arm_vmlsldavaq_s32): Likewise. - (__arm_vmlsldavaxq_s32): Likewise. - (__arm_vmlaldavq_p_s32): Likewise. - (__arm_vmlaldavxq_p_s32): Likewise. - (__arm_vmlsldavq_p_s32): Likewise. - (__arm_vmlsldavxq_p_s32): Likewise. - (__arm_vmovlbq_m_s16): Likewise. - (__arm_vmovltq_m_s16): Likewise. - (__arm_vmovnbq_m_s32): Likewise. - (__arm_vmovntq_m_s32): Likewise. - (__arm_vqmovnbq_m_s32): Likewise. - (__arm_vqmovntq_m_s32): Likewise. - (__arm_vrev32q_m_s16): Likewise. - (__arm_vmvnq_m_n_u32): Likewise. - (__arm_vorrq_m_n_u32): Likewise. - (__arm_vqrshruntq_n_s32): Likewise. - (__arm_vqshrunbq_n_s32): Likewise. - (__arm_vqshruntq_n_s32): Likewise. - (__arm_vqmovunbq_m_s32): Likewise. - (__arm_vqmovuntq_m_s32): Likewise. - (__arm_vqrshrntq_n_u32): Likewise. - (__arm_vqshrnbq_n_u32): Likewise. - (__arm_vqshrntq_n_u32): Likewise. - (__arm_vrshrnbq_n_u32): Likewise. - (__arm_vrshrntq_n_u32): Likewise. - (__arm_vshrnbq_n_u32): Likewise. - (__arm_vshrntq_n_u32): Likewise. - (__arm_vmlaldavaq_u32): Likewise. - (__arm_vmlaldavaxq_u32): Likewise. - (__arm_vmlaldavq_p_u32): Likewise. - (__arm_vmlaldavxq_p_u32): Likewise. - (__arm_vmovlbq_m_u16): Likewise. - (__arm_vmovltq_m_u16): Likewise. - (__arm_vmovnbq_m_u32): Likewise. - (__arm_vmovntq_m_u32): Likewise. - (__arm_vqmovnbq_m_u32): Likewise. - (__arm_vqmovntq_m_u32): Likewise. - (__arm_vrev32q_m_u16): Likewise. - (__arm_vcvtbq_m_f16_f32): Likewise. - (__arm_vcvtbq_m_f32_f16): Likewise. - (__arm_vcvttq_m_f16_f32): Likewise. - (__arm_vcvttq_m_f32_f16): Likewise. - (__arm_vrev32q_m_f16): Likewise. - (__arm_vcmlaq_f16): Likewise. - (__arm_vcmlaq_rot180_f16): Likewise. - (__arm_vcmlaq_rot270_f16): Likewise. - (__arm_vcmlaq_rot90_f16): Likewise. - (__arm_vfmaq_f16): Likewise. - (__arm_vfmaq_n_f16): Likewise. - (__arm_vfmasq_n_f16): Likewise. - (__arm_vfmsq_f16): Likewise. - (__arm_vabsq_m_f16): Likewise. - (__arm_vcvtmq_m_s16_f16): Likewise. - (__arm_vcvtnq_m_s16_f16): Likewise. - (__arm_vcvtpq_m_s16_f16): Likewise. - (__arm_vcvtq_m_s16_f16): Likewise. - (__arm_vdupq_m_n_f16): Likewise. - (__arm_vmaxnmaq_m_f16): Likewise. - (__arm_vmaxnmavq_p_f16): Likewise. - (__arm_vmaxnmvq_p_f16): Likewise. - (__arm_vminnmaq_m_f16): Likewise. - (__arm_vminnmavq_p_f16): Likewise. - (__arm_vminnmvq_p_f16): Likewise. - (__arm_vnegq_m_f16): Likewise. - (__arm_vpselq_f16): Likewise. - (__arm_vrev64q_m_f16): Likewise. - (__arm_vrndaq_m_f16): Likewise. - (__arm_vrndmq_m_f16): Likewise. - (__arm_vrndnq_m_f16): Likewise. - (__arm_vrndpq_m_f16): Likewise. - (__arm_vrndq_m_f16): Likewise. - (__arm_vrndxq_m_f16): Likewise. - (__arm_vcmpeqq_m_n_f16): Likewise. - (__arm_vcmpgeq_m_f16): Likewise. - (__arm_vcmpgeq_m_n_f16): Likewise. - (__arm_vcmpgtq_m_f16): Likewise. - (__arm_vcmpgtq_m_n_f16): Likewise. - (__arm_vcmpleq_m_f16): Likewise. - (__arm_vcmpleq_m_n_f16): Likewise. - (__arm_vcmpltq_m_f16): Likewise. - (__arm_vcmpltq_m_n_f16): Likewise. - (__arm_vcmpneq_m_f16): Likewise. - (__arm_vcmpneq_m_n_f16): Likewise. - (__arm_vcvtmq_m_u16_f16): Likewise. - (__arm_vcvtnq_m_u16_f16): Likewise. - (__arm_vcvtpq_m_u16_f16): Likewise. - (__arm_vcvtq_m_u16_f16): Likewise. - (__arm_vcmlaq_f32): Likewise. - (__arm_vcmlaq_rot180_f32): Likewise. - (__arm_vcmlaq_rot270_f32): Likewise. - (__arm_vcmlaq_rot90_f32): Likewise. - (__arm_vfmaq_f32): Likewise. - (__arm_vfmaq_n_f32): Likewise. - (__arm_vfmasq_n_f32): Likewise. - (__arm_vfmsq_f32): Likewise. - (__arm_vabsq_m_f32): Likewise. - (__arm_vcvtmq_m_s32_f32): Likewise. - (__arm_vcvtnq_m_s32_f32): Likewise. - (__arm_vcvtpq_m_s32_f32): Likewise. - (__arm_vcvtq_m_s32_f32): Likewise. - (__arm_vdupq_m_n_f32): Likewise. - (__arm_vmaxnmaq_m_f32): Likewise. - (__arm_vmaxnmavq_p_f32): Likewise. - (__arm_vmaxnmvq_p_f32): Likewise. - (__arm_vminnmaq_m_f32): Likewise. - (__arm_vminnmavq_p_f32): Likewise. - (__arm_vminnmvq_p_f32): Likewise. - (__arm_vnegq_m_f32): Likewise. - (__arm_vpselq_f32): Likewise. - (__arm_vrev64q_m_f32): Likewise. - (__arm_vrndaq_m_f32): Likewise. - (__arm_vrndmq_m_f32): Likewise. - (__arm_vrndnq_m_f32): Likewise. - (__arm_vrndpq_m_f32): Likewise. - (__arm_vrndq_m_f32): Likewise. - (__arm_vrndxq_m_f32): Likewise. - (__arm_vcmpeqq_m_n_f32): Likewise. - (__arm_vcmpgeq_m_f32): Likewise. - (__arm_vcmpgeq_m_n_f32): Likewise. - (__arm_vcmpgtq_m_f32): Likewise. - (__arm_vcmpgtq_m_n_f32): Likewise. - (__arm_vcmpleq_m_f32): Likewise. - (__arm_vcmpleq_m_n_f32): Likewise. - (__arm_vcmpltq_m_f32): Likewise. - (__arm_vcmpltq_m_n_f32): Likewise. - (__arm_vcmpneq_m_f32): Likewise. - (__arm_vcmpneq_m_n_f32): Likewise. - (__arm_vcvtmq_m_u32_f32): Likewise. - (__arm_vcvtnq_m_u32_f32): Likewise. - (__arm_vcvtpq_m_u32_f32): Likewise. - (__arm_vcvtq_m_u32_f32): Likewise. - (vcvtq_m): Define polymorphic variant. - (vabsq_m): Likewise. - (vcmlaq): Likewise. - (vcmlaq_rot180): Likewise. - (vcmlaq_rot270): Likewise. - (vcmlaq_rot90): Likewise. - (vcmpeqq_m_n): Likewise. - (vcmpgeq_m_n): Likewise. - (vrndxq_m): Likewise. - (vrndq_m): Likewise. - (vrndpq_m): Likewise. - (vcmpgtq_m_n): Likewise. - (vcmpgtq_m): Likewise. - (vcmpleq_m): Likewise. - (vcmpleq_m_n): Likewise. - (vcmpltq_m_n): Likewise. - (vcmpltq_m): Likewise. - (vcmpneq_m): Likewise. - (vcmpneq_m_n): Likewise. - (vcvtbq_m): Likewise. - (vcvttq_m): Likewise. - (vcvtmq_m): Likewise. - (vcvtnq_m): Likewise. - (vcvtpq_m): Likewise. - (vdupq_m_n): Likewise. - (vfmaq_n): Likewise. - (vfmaq): Likewise. - (vfmasq_n): Likewise. - (vfmsq): Likewise. - (vmaxnmaq_m): Likewise. - (vmaxnmavq_m): Likewise. - (vmaxnmvq_m): Likewise. - (vmaxnmavq_p): Likewise. - (vmaxnmvq_p): Likewise. - (vminnmaq_m): Likewise. - (vminnmavq_p): Likewise. - (vminnmvq_p): Likewise. - (vrndnq_m): Likewise. - (vrndaq_m): Likewise. - (vrndmq_m): Likewise. - (vrev64q_m): Likewise. - (vrev32q_m): Likewise. - (vpselq): Likewise. - (vnegq_m): Likewise. - (vcmpgeq_m): Likewise. - (vshrntq_n): Likewise. - (vrshrntq_n): Likewise. - (vmovlbq_m): Likewise. - (vmovnbq_m): Likewise. - (vmovntq_m): Likewise. - (vmvnq_m_n): Likewise. - (vmvnq_m): Likewise. - (vshrnbq_n): Likewise. - (vrshrnbq_n): Likewise. - (vqshruntq_n): Likewise. - (vrev16q_m): Likewise. - (vqshrunbq_n): Likewise. - (vqshrntq_n): Likewise. - (vqrshruntq_n): Likewise. - (vqrshrntq_n): Likewise. - (vqshrnbq_n): Likewise. - (vqmovuntq_m): Likewise. - (vqmovntq_m): Likewise. - (vqmovnbq_m): Likewise. - (vorrq_m_n): Likewise. - (vmovltq_m): Likewise. - (vqmovunbq_m): Likewise. - (vaddlvaq_p): Likewise. - (vmlaldavaq): Likewise. - (vmlaldavaxq): Likewise. - (vmlaldavq_p): Likewise. - (vmlaldavxq_p): Likewise. - (vmlsldavaq): Likewise. - (vmlsldavaxq): Likewise. - (vmlsldavq_p): Likewise. - (vmlsldavxq_p): Likewise. - (vrmlaldavhaxq): Likewise. - (vrmlaldavhq_p): Likewise. - (vrmlaldavhxq_p): Likewise. - (vrmlsldavhaq): Likewise. - (vrmlsldavhaxq): Likewise. - (vrmlsldavhq_p): Likewise. - (vrmlsldavhxq_p): Likewise. - * config/arm/arm_mve_builtins.def (TERNOP_NONE_NONE_IMM_UNONE): Use - builtin qualifier. - (TERNOP_NONE_NONE_NONE_IMM): Likewise. - (TERNOP_NONE_NONE_NONE_NONE): Likewise. - (TERNOP_NONE_NONE_NONE_UNONE): Likewise. - (TERNOP_UNONE_NONE_NONE_UNONE): Likewise. - (TERNOP_UNONE_UNONE_IMM_UNONE): Likewise. - (TERNOP_UNONE_UNONE_NONE_IMM): Likewise. - (TERNOP_UNONE_UNONE_NONE_UNONE): Likewise. - (TERNOP_UNONE_UNONE_UNONE_IMM): Likewise. - (TERNOP_UNONE_UNONE_UNONE_UNONE): Likewise. - * config/arm/mve.md (MVE_constraint3): Define mode attribute iterator. - (MVE_pred3): Likewise. - (MVE_constraint1): Likewise. - (MVE_pred1): Likewise. - (VMLALDAVQ_P): Define iterator. - (VQMOVNBQ_M): Likewise. - (VMOVLTQ_M): Likewise. - (VMOVNBQ_M): Likewise. - (VRSHRNTQ_N): Likewise. - (VORRQ_M_N): Likewise. - (VREV32Q_M): Likewise. - (VREV16Q_M): Likewise. - (VQRSHRNTQ_N): Likewise. - (VMOVNTQ_M): Likewise. - (VMOVLBQ_M): Likewise. - (VMLALDAVAQ): Likewise. - (VQSHRNBQ_N): Likewise. - (VSHRNBQ_N): Likewise. - (VRSHRNBQ_N): Likewise. - (VMLALDAVXQ_P): Likewise. - (VQMOVNTQ_M): Likewise. - (VMVNQ_M_N): Likewise. - (VQSHRNTQ_N): Likewise. - (VMLALDAVAXQ): Likewise. - (VSHRNTQ_N): Likewise. - (VCVTMQ_M): Likewise. - (VCVTNQ_M): Likewise. - (VCVTPQ_M): Likewise. - (VCVTQ_M_N_FROM_F): Likewise. - (VCVTQ_M_FROM_F): Likewise. - (VRMLALDAVHQ_P): Likewise. - (VADDLVAQ_P): Likewise. - (mve_vrndq_m_f): Define RTL pattern. - (mve_vabsq_m_f): Likewise. - (mve_vaddlvaq_p_v4si): Likewise. - (mve_vcmlaq_f): Likewise. - (mve_vcmlaq_rot180_f): Likewise. - (mve_vcmlaq_rot270_f): Likewise. - (mve_vcmlaq_rot90_f): Likewise. - (mve_vcmpeqq_m_n_f): Likewise. - (mve_vcmpgeq_m_f): Likewise. - (mve_vcmpgeq_m_n_f): Likewise. - (mve_vcmpgtq_m_f): Likewise. - (mve_vcmpgtq_m_n_f): Likewise. - (mve_vcmpleq_m_f): Likewise. - (mve_vcmpleq_m_n_f): Likewise. - (mve_vcmpltq_m_f): Likewise. - (mve_vcmpltq_m_n_f): Likewise. - (mve_vcmpneq_m_f): Likewise. - (mve_vcmpneq_m_n_f): Likewise. - (mve_vcvtbq_m_f16_f32v8hf): Likewise. - (mve_vcvtbq_m_f32_f16v4sf): Likewise. - (mve_vcvttq_m_f16_f32v8hf): Likewise. - (mve_vcvttq_m_f32_f16v4sf): Likewise. - (mve_vdupq_m_n_f): Likewise. - (mve_vfmaq_f): Likewise. - (mve_vfmaq_n_f): Likewise. - (mve_vfmasq_n_f): Likewise. - (mve_vfmsq_f): Likewise. - (mve_vmaxnmaq_m_f): Likewise. - (mve_vmaxnmavq_p_f): Likewise. - (mve_vmaxnmvq_p_f): Likewise. - (mve_vminnmaq_m_f): Likewise. - (mve_vminnmavq_p_f): Likewise. - (mve_vminnmvq_p_f): Likewise. - (mve_vmlaldavaq_): Likewise. - (mve_vmlaldavaxq_): Likewise. - (mve_vmlaldavq_p_): Likewise. - (mve_vmlaldavxq_p_): Likewise. - (mve_vmlsldavaq_s): Likewise. - (mve_vmlsldavaxq_s): Likewise. - (mve_vmlsldavq_p_s): Likewise. - (mve_vmlsldavxq_p_s): Likewise. - (mve_vmovlbq_m_): Likewise. - (mve_vmovltq_m_): Likewise. - (mve_vmovnbq_m_): Likewise. - (mve_vmovntq_m_): Likewise. - (mve_vmvnq_m_n_): Likewise. - (mve_vnegq_m_f): Likewise. - (mve_vorrq_m_n_): Likewise. - (mve_vpselq_f): Likewise. - (mve_vqmovnbq_m_): Likewise. - (mve_vqmovntq_m_): Likewise. - (mve_vqmovunbq_m_s): Likewise. - (mve_vqmovuntq_m_s): Likewise. - (mve_vqrshrntq_n_): Likewise. - (mve_vqrshruntq_n_s): Likewise. - (mve_vqshrnbq_n_): Likewise. - (mve_vqshrntq_n_): Likewise. - (mve_vqshrunbq_n_s): Likewise. - (mve_vqshruntq_n_s): Likewise. - (mve_vrev32q_m_fv8hf): Likewise. - (mve_vrev32q_m_): Likewise. - (mve_vrev64q_m_f): Likewise. - (mve_vrmlaldavhaxq_sv4si): Likewise. - (mve_vrmlaldavhxq_p_sv4si): Likewise. - (mve_vrmlsldavhaxq_sv4si): Likewise. - (mve_vrmlsldavhq_p_sv4si): Likewise. - (mve_vrmlsldavhxq_p_sv4si): Likewise. - (mve_vrndaq_m_f): Likewise. - (mve_vrndmq_m_f): Likewise. - (mve_vrndnq_m_f): Likewise. - (mve_vrndpq_m_f): Likewise. - (mve_vrndxq_m_f): Likewise. - (mve_vrshrnbq_n_): Likewise. - (mve_vrshrntq_n_): Likewise. - (mve_vshrnbq_n_): Likewise. - (mve_vshrntq_n_): Likewise. - (mve_vcvtmq_m_): Likewise. - (mve_vcvtpq_m_): Likewise. - (mve_vcvtnq_m_): Likewise. - (mve_vcvtq_m_n_from_f_): Likewise. - (mve_vrev16q_m_v16qi): Likewise. - (mve_vcvtq_m_from_f_): Likewise. - (mve_vrmlaldavhq_p_v4si): Likewise. - (mve_vrmlsldavhaq_sv4si): Likewise. - -2020-03-18 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * config/arm/arm_mve.h (vpselq_u8): Define macro. - (vpselq_s8): Likewise. - (vrev64q_m_u8): Likewise. - (vqrdmlashq_n_u8): Likewise. - (vqrdmlahq_n_u8): Likewise. - (vqdmlahq_n_u8): Likewise. - (vmvnq_m_u8): Likewise. - (vmlasq_n_u8): Likewise. - (vmlaq_n_u8): Likewise. - (vmladavq_p_u8): Likewise. - (vmladavaq_u8): Likewise. - (vminvq_p_u8): Likewise. - (vmaxvq_p_u8): Likewise. - (vdupq_m_n_u8): Likewise. - (vcmpneq_m_u8): Likewise. - (vcmpneq_m_n_u8): Likewise. - (vcmphiq_m_u8): Likewise. - (vcmphiq_m_n_u8): Likewise. - (vcmpeqq_m_u8): Likewise. - (vcmpeqq_m_n_u8): Likewise. - (vcmpcsq_m_u8): Likewise. - (vcmpcsq_m_n_u8): Likewise. - (vclzq_m_u8): Likewise. - (vaddvaq_p_u8): Likewise. - (vsriq_n_u8): Likewise. - (vsliq_n_u8): Likewise. - (vshlq_m_r_u8): Likewise. - (vrshlq_m_n_u8): Likewise. - (vqshlq_m_r_u8): Likewise. - (vqrshlq_m_n_u8): Likewise. - (vminavq_p_s8): Likewise. - (vminaq_m_s8): Likewise. - (vmaxavq_p_s8): Likewise. - (vmaxaq_m_s8): Likewise. - (vcmpneq_m_s8): Likewise. - (vcmpneq_m_n_s8): Likewise. - (vcmpltq_m_s8): Likewise. - (vcmpltq_m_n_s8): Likewise. - (vcmpleq_m_s8): Likewise. - (vcmpleq_m_n_s8): Likewise. - (vcmpgtq_m_s8): Likewise. - (vcmpgtq_m_n_s8): Likewise. - (vcmpgeq_m_s8): Likewise. - (vcmpgeq_m_n_s8): Likewise. - (vcmpeqq_m_s8): Likewise. - (vcmpeqq_m_n_s8): Likewise. - (vshlq_m_r_s8): Likewise. - (vrshlq_m_n_s8): Likewise. - (vrev64q_m_s8): Likewise. - (vqshlq_m_r_s8): Likewise. - (vqrshlq_m_n_s8): Likewise. - (vqnegq_m_s8): Likewise. - (vqabsq_m_s8): Likewise. - (vnegq_m_s8): Likewise. - (vmvnq_m_s8): Likewise. - (vmlsdavxq_p_s8): Likewise. - (vmlsdavq_p_s8): Likewise. - (vmladavxq_p_s8): Likewise. - (vmladavq_p_s8): Likewise. - (vminvq_p_s8): Likewise. - (vmaxvq_p_s8): Likewise. - (vdupq_m_n_s8): Likewise. - (vclzq_m_s8): Likewise. - (vclsq_m_s8): Likewise. - (vaddvaq_p_s8): Likewise. - (vabsq_m_s8): Likewise. - (vqrdmlsdhxq_s8): Likewise. - (vqrdmlsdhq_s8): Likewise. - (vqrdmlashq_n_s8): Likewise. - (vqrdmlahq_n_s8): Likewise. - (vqrdmladhxq_s8): Likewise. - (vqrdmladhq_s8): Likewise. - (vqdmlsdhxq_s8): Likewise. - (vqdmlsdhq_s8): Likewise. - (vqdmlahq_n_s8): Likewise. - (vqdmladhxq_s8): Likewise. - (vqdmladhq_s8): Likewise. - (vmlsdavaxq_s8): Likewise. - (vmlsdavaq_s8): Likewise. - (vmlasq_n_s8): Likewise. - (vmlaq_n_s8): Likewise. - (vmladavaxq_s8): Likewise. - (vmladavaq_s8): Likewise. - (vsriq_n_s8): Likewise. - (vsliq_n_s8): Likewise. - (vpselq_u16): Likewise. - (vpselq_s16): Likewise. - (vrev64q_m_u16): Likewise. - (vqrdmlashq_n_u16): Likewise. - (vqrdmlahq_n_u16): Likewise. - (vqdmlahq_n_u16): Likewise. - (vmvnq_m_u16): Likewise. - (vmlasq_n_u16): Likewise. - (vmlaq_n_u16): Likewise. - (vmladavq_p_u16): Likewise. - (vmladavaq_u16): Likewise. - (vminvq_p_u16): Likewise. - (vmaxvq_p_u16): Likewise. - (vdupq_m_n_u16): Likewise. - (vcmpneq_m_u16): Likewise. - (vcmpneq_m_n_u16): Likewise. - (vcmphiq_m_u16): Likewise. - (vcmphiq_m_n_u16): Likewise. - (vcmpeqq_m_u16): Likewise. - (vcmpeqq_m_n_u16): Likewise. - (vcmpcsq_m_u16): Likewise. - (vcmpcsq_m_n_u16): Likewise. - (vclzq_m_u16): Likewise. - (vaddvaq_p_u16): Likewise. - (vsriq_n_u16): Likewise. - (vsliq_n_u16): Likewise. - (vshlq_m_r_u16): Likewise. - (vrshlq_m_n_u16): Likewise. - (vqshlq_m_r_u16): Likewise. - (vqrshlq_m_n_u16): Likewise. - (vminavq_p_s16): Likewise. - (vminaq_m_s16): Likewise. - (vmaxavq_p_s16): Likewise. - (vmaxaq_m_s16): Likewise. - (vcmpneq_m_s16): Likewise. - (vcmpneq_m_n_s16): Likewise. - (vcmpltq_m_s16): Likewise. - (vcmpltq_m_n_s16): Likewise. - (vcmpleq_m_s16): Likewise. - (vcmpleq_m_n_s16): Likewise. - (vcmpgtq_m_s16): Likewise. - (vcmpgtq_m_n_s16): Likewise. - (vcmpgeq_m_s16): Likewise. - (vcmpgeq_m_n_s16): Likewise. - (vcmpeqq_m_s16): Likewise. - (vcmpeqq_m_n_s16): Likewise. - (vshlq_m_r_s16): Likewise. - (vrshlq_m_n_s16): Likewise. - (vrev64q_m_s16): Likewise. - (vqshlq_m_r_s16): Likewise. - (vqrshlq_m_n_s16): Likewise. - (vqnegq_m_s16): Likewise. - (vqabsq_m_s16): Likewise. - (vnegq_m_s16): Likewise. - (vmvnq_m_s16): Likewise. - (vmlsdavxq_p_s16): Likewise. - (vmlsdavq_p_s16): Likewise. - (vmladavxq_p_s16): Likewise. - (vmladavq_p_s16): Likewise. - (vminvq_p_s16): Likewise. - (vmaxvq_p_s16): Likewise. - (vdupq_m_n_s16): Likewise. - (vclzq_m_s16): Likewise. - (vclsq_m_s16): Likewise. - (vaddvaq_p_s16): Likewise. - (vabsq_m_s16): Likewise. - (vqrdmlsdhxq_s16): Likewise. - (vqrdmlsdhq_s16): Likewise. - (vqrdmlashq_n_s16): Likewise. - (vqrdmlahq_n_s16): Likewise. - (vqrdmladhxq_s16): Likewise. - (vqrdmladhq_s16): Likewise. - (vqdmlsdhxq_s16): Likewise. - (vqdmlsdhq_s16): Likewise. - (vqdmlahq_n_s16): Likewise. - (vqdmladhxq_s16): Likewise. - (vqdmladhq_s16): Likewise. - (vmlsdavaxq_s16): Likewise. - (vmlsdavaq_s16): Likewise. - (vmlasq_n_s16): Likewise. - (vmlaq_n_s16): Likewise. - (vmladavaxq_s16): Likewise. - (vmladavaq_s16): Likewise. - (vsriq_n_s16): Likewise. - (vsliq_n_s16): Likewise. - (vpselq_u32): Likewise. - (vpselq_s32): Likewise. - (vrev64q_m_u32): Likewise. - (vqrdmlashq_n_u32): Likewise. - (vqrdmlahq_n_u32): Likewise. - (vqdmlahq_n_u32): Likewise. - (vmvnq_m_u32): Likewise. - (vmlasq_n_u32): Likewise. - (vmlaq_n_u32): Likewise. - (vmladavq_p_u32): Likewise. - (vmladavaq_u32): Likewise. - (vminvq_p_u32): Likewise. - (vmaxvq_p_u32): Likewise. - (vdupq_m_n_u32): Likewise. - (vcmpneq_m_u32): Likewise. - (vcmpneq_m_n_u32): Likewise. - (vcmphiq_m_u32): Likewise. - (vcmphiq_m_n_u32): Likewise. - (vcmpeqq_m_u32): Likewise. - (vcmpeqq_m_n_u32): Likewise. - (vcmpcsq_m_u32): Likewise. - (vcmpcsq_m_n_u32): Likewise. - (vclzq_m_u32): Likewise. - (vaddvaq_p_u32): Likewise. - (vsriq_n_u32): Likewise. - (vsliq_n_u32): Likewise. - (vshlq_m_r_u32): Likewise. - (vrshlq_m_n_u32): Likewise. - (vqshlq_m_r_u32): Likewise. - (vqrshlq_m_n_u32): Likewise. - (vminavq_p_s32): Likewise. - (vminaq_m_s32): Likewise. - (vmaxavq_p_s32): Likewise. - (vmaxaq_m_s32): Likewise. - (vcmpneq_m_s32): Likewise. - (vcmpneq_m_n_s32): Likewise. - (vcmpltq_m_s32): Likewise. - (vcmpltq_m_n_s32): Likewise. - (vcmpleq_m_s32): Likewise. - (vcmpleq_m_n_s32): Likewise. - (vcmpgtq_m_s32): Likewise. - (vcmpgtq_m_n_s32): Likewise. - (vcmpgeq_m_s32): Likewise. - (vcmpgeq_m_n_s32): Likewise. - (vcmpeqq_m_s32): Likewise. - (vcmpeqq_m_n_s32): Likewise. - (vshlq_m_r_s32): Likewise. - (vrshlq_m_n_s32): Likewise. - (vrev64q_m_s32): Likewise. - (vqshlq_m_r_s32): Likewise. - (vqrshlq_m_n_s32): Likewise. - (vqnegq_m_s32): Likewise. - (vqabsq_m_s32): Likewise. - (vnegq_m_s32): Likewise. - (vmvnq_m_s32): Likewise. - (vmlsdavxq_p_s32): Likewise. - (vmlsdavq_p_s32): Likewise. - (vmladavxq_p_s32): Likewise. - (vmladavq_p_s32): Likewise. - (vminvq_p_s32): Likewise. - (vmaxvq_p_s32): Likewise. - (vdupq_m_n_s32): Likewise. - (vclzq_m_s32): Likewise. - (vclsq_m_s32): Likewise. - (vaddvaq_p_s32): Likewise. - (vabsq_m_s32): Likewise. - (vqrdmlsdhxq_s32): Likewise. - (vqrdmlsdhq_s32): Likewise. - (vqrdmlashq_n_s32): Likewise. - (vqrdmlahq_n_s32): Likewise. - (vqrdmladhxq_s32): Likewise. - (vqrdmladhq_s32): Likewise. - (vqdmlsdhxq_s32): Likewise. - (vqdmlsdhq_s32): Likewise. - (vqdmlahq_n_s32): Likewise. - (vqdmladhxq_s32): Likewise. - (vqdmladhq_s32): Likewise. - (vmlsdavaxq_s32): Likewise. - (vmlsdavaq_s32): Likewise. - (vmlasq_n_s32): Likewise. - (vmlaq_n_s32): Likewise. - (vmladavaxq_s32): Likewise. - (vmladavaq_s32): Likewise. - (vsriq_n_s32): Likewise. - (vsliq_n_s32): Likewise. - (vpselq_u64): Likewise. - (vpselq_s64): Likewise. - (__arm_vpselq_u8): Define intrinsic. - (__arm_vpselq_s8): Likewise. - (__arm_vrev64q_m_u8): Likewise. - (__arm_vqrdmlashq_n_u8): Likewise. - (__arm_vqrdmlahq_n_u8): Likewise. - (__arm_vqdmlahq_n_u8): Likewise. - (__arm_vmvnq_m_u8): Likewise. - (__arm_vmlasq_n_u8): Likewise. - (__arm_vmlaq_n_u8): Likewise. - (__arm_vmladavq_p_u8): Likewise. - (__arm_vmladavaq_u8): Likewise. - (__arm_vminvq_p_u8): Likewise. - (__arm_vmaxvq_p_u8): Likewise. - (__arm_vdupq_m_n_u8): Likewise. - (__arm_vcmpneq_m_u8): Likewise. - (__arm_vcmpneq_m_n_u8): Likewise. - (__arm_vcmphiq_m_u8): Likewise. - (__arm_vcmphiq_m_n_u8): Likewise. - (__arm_vcmpeqq_m_u8): Likewise. - (__arm_vcmpeqq_m_n_u8): Likewise. - (__arm_vcmpcsq_m_u8): Likewise. - (__arm_vcmpcsq_m_n_u8): Likewise. - (__arm_vclzq_m_u8): Likewise. - (__arm_vaddvaq_p_u8): Likewise. - (__arm_vsriq_n_u8): Likewise. - (__arm_vsliq_n_u8): Likewise. - (__arm_vshlq_m_r_u8): Likewise. - (__arm_vrshlq_m_n_u8): Likewise. - (__arm_vqshlq_m_r_u8): Likewise. - (__arm_vqrshlq_m_n_u8): Likewise. - (__arm_vminavq_p_s8): Likewise. - (__arm_vminaq_m_s8): Likewise. - (__arm_vmaxavq_p_s8): Likewise. - (__arm_vmaxaq_m_s8): Likewise. - (__arm_vcmpneq_m_s8): Likewise. - (__arm_vcmpneq_m_n_s8): Likewise. - (__arm_vcmpltq_m_s8): Likewise. - (__arm_vcmpltq_m_n_s8): Likewise. - (__arm_vcmpleq_m_s8): Likewise. - (__arm_vcmpleq_m_n_s8): Likewise. - (__arm_vcmpgtq_m_s8): Likewise. - (__arm_vcmpgtq_m_n_s8): Likewise. - (__arm_vcmpgeq_m_s8): Likewise. - (__arm_vcmpgeq_m_n_s8): Likewise. - (__arm_vcmpeqq_m_s8): Likewise. - (__arm_vcmpeqq_m_n_s8): Likewise. - (__arm_vshlq_m_r_s8): Likewise. - (__arm_vrshlq_m_n_s8): Likewise. - (__arm_vrev64q_m_s8): Likewise. - (__arm_vqshlq_m_r_s8): Likewise. - (__arm_vqrshlq_m_n_s8): Likewise. - (__arm_vqnegq_m_s8): Likewise. - (__arm_vqabsq_m_s8): Likewise. - (__arm_vnegq_m_s8): Likewise. - (__arm_vmvnq_m_s8): Likewise. - (__arm_vmlsdavxq_p_s8): Likewise. - (__arm_vmlsdavq_p_s8): Likewise. - (__arm_vmladavxq_p_s8): Likewise. - (__arm_vmladavq_p_s8): Likewise. - (__arm_vminvq_p_s8): Likewise. - (__arm_vmaxvq_p_s8): Likewise. - (__arm_vdupq_m_n_s8): Likewise. - (__arm_vclzq_m_s8): Likewise. - (__arm_vclsq_m_s8): Likewise. - (__arm_vaddvaq_p_s8): Likewise. - (__arm_vabsq_m_s8): Likewise. - (__arm_vqrdmlsdhxq_s8): Likewise. - (__arm_vqrdmlsdhq_s8): Likewise. - (__arm_vqrdmlashq_n_s8): Likewise. - (__arm_vqrdmlahq_n_s8): Likewise. - (__arm_vqrdmladhxq_s8): Likewise. - (__arm_vqrdmladhq_s8): Likewise. - (__arm_vqdmlsdhxq_s8): Likewise. - (__arm_vqdmlsdhq_s8): Likewise. - (__arm_vqdmlahq_n_s8): Likewise. - (__arm_vqdmladhxq_s8): Likewise. - (__arm_vqdmladhq_s8): Likewise. - (__arm_vmlsdavaxq_s8): Likewise. - (__arm_vmlsdavaq_s8): Likewise. - (__arm_vmlasq_n_s8): Likewise. - (__arm_vmlaq_n_s8): Likewise. - (__arm_vmladavaxq_s8): Likewise. - (__arm_vmladavaq_s8): Likewise. - (__arm_vsriq_n_s8): Likewise. - (__arm_vsliq_n_s8): Likewise. - (__arm_vpselq_u16): Likewise. - (__arm_vpselq_s16): Likewise. - (__arm_vrev64q_m_u16): Likewise. - (__arm_vqrdmlashq_n_u16): Likewise. - (__arm_vqrdmlahq_n_u16): Likewise. - (__arm_vqdmlahq_n_u16): Likewise. - (__arm_vmvnq_m_u16): Likewise. - (__arm_vmlasq_n_u16): Likewise. - (__arm_vmlaq_n_u16): Likewise. - (__arm_vmladavq_p_u16): Likewise. - (__arm_vmladavaq_u16): Likewise. - (__arm_vminvq_p_u16): Likewise. - (__arm_vmaxvq_p_u16): Likewise. - (__arm_vdupq_m_n_u16): Likewise. - (__arm_vcmpneq_m_u16): Likewise. - (__arm_vcmpneq_m_n_u16): Likewise. - (__arm_vcmphiq_m_u16): Likewise. - (__arm_vcmphiq_m_n_u16): Likewise. - (__arm_vcmpeqq_m_u16): Likewise. - (__arm_vcmpeqq_m_n_u16): Likewise. - (__arm_vcmpcsq_m_u16): Likewise. - (__arm_vcmpcsq_m_n_u16): Likewise. - (__arm_vclzq_m_u16): Likewise. - (__arm_vaddvaq_p_u16): Likewise. - (__arm_vsriq_n_u16): Likewise. - (__arm_vsliq_n_u16): Likewise. - (__arm_vshlq_m_r_u16): Likewise. - (__arm_vrshlq_m_n_u16): Likewise. - (__arm_vqshlq_m_r_u16): Likewise. - (__arm_vqrshlq_m_n_u16): Likewise. - (__arm_vminavq_p_s16): Likewise. - (__arm_vminaq_m_s16): Likewise. - (__arm_vmaxavq_p_s16): Likewise. - (__arm_vmaxaq_m_s16): Likewise. - (__arm_vcmpneq_m_s16): Likewise. - (__arm_vcmpneq_m_n_s16): Likewise. - (__arm_vcmpltq_m_s16): Likewise. - (__arm_vcmpltq_m_n_s16): Likewise. - (__arm_vcmpleq_m_s16): Likewise. - (__arm_vcmpleq_m_n_s16): Likewise. - (__arm_vcmpgtq_m_s16): Likewise. - (__arm_vcmpgtq_m_n_s16): Likewise. - (__arm_vcmpgeq_m_s16): Likewise. - (__arm_vcmpgeq_m_n_s16): Likewise. - (__arm_vcmpeqq_m_s16): Likewise. - (__arm_vcmpeqq_m_n_s16): Likewise. - (__arm_vshlq_m_r_s16): Likewise. - (__arm_vrshlq_m_n_s16): Likewise. - (__arm_vrev64q_m_s16): Likewise. - (__arm_vqshlq_m_r_s16): Likewise. - (__arm_vqrshlq_m_n_s16): Likewise. - (__arm_vqnegq_m_s16): Likewise. - (__arm_vqabsq_m_s16): Likewise. - (__arm_vnegq_m_s16): Likewise. - (__arm_vmvnq_m_s16): Likewise. - (__arm_vmlsdavxq_p_s16): Likewise. - (__arm_vmlsdavq_p_s16): Likewise. - (__arm_vmladavxq_p_s16): Likewise. - (__arm_vmladavq_p_s16): Likewise. - (__arm_vminvq_p_s16): Likewise. - (__arm_vmaxvq_p_s16): Likewise. - (__arm_vdupq_m_n_s16): Likewise. - (__arm_vclzq_m_s16): Likewise. - (__arm_vclsq_m_s16): Likewise. - (__arm_vaddvaq_p_s16): Likewise. - (__arm_vabsq_m_s16): Likewise. - (__arm_vqrdmlsdhxq_s16): Likewise. - (__arm_vqrdmlsdhq_s16): Likewise. - (__arm_vqrdmlashq_n_s16): Likewise. - (__arm_vqrdmlahq_n_s16): Likewise. - (__arm_vqrdmladhxq_s16): Likewise. - (__arm_vqrdmladhq_s16): Likewise. - (__arm_vqdmlsdhxq_s16): Likewise. - (__arm_vqdmlsdhq_s16): Likewise. - (__arm_vqdmlahq_n_s16): Likewise. - (__arm_vqdmladhxq_s16): Likewise. - (__arm_vqdmladhq_s16): Likewise. - (__arm_vmlsdavaxq_s16): Likewise. - (__arm_vmlsdavaq_s16): Likewise. - (__arm_vmlasq_n_s16): Likewise. - (__arm_vmlaq_n_s16): Likewise. - (__arm_vmladavaxq_s16): Likewise. - (__arm_vmladavaq_s16): Likewise. - (__arm_vsriq_n_s16): Likewise. - (__arm_vsliq_n_s16): Likewise. - (__arm_vpselq_u32): Likewise. - (__arm_vpselq_s32): Likewise. - (__arm_vrev64q_m_u32): Likewise. - (__arm_vqrdmlashq_n_u32): Likewise. - (__arm_vqrdmlahq_n_u32): Likewise. - (__arm_vqdmlahq_n_u32): Likewise. - (__arm_vmvnq_m_u32): Likewise. - (__arm_vmlasq_n_u32): Likewise. - (__arm_vmlaq_n_u32): Likewise. - (__arm_vmladavq_p_u32): Likewise. - (__arm_vmladavaq_u32): Likewise. - (__arm_vminvq_p_u32): Likewise. - (__arm_vmaxvq_p_u32): Likewise. - (__arm_vdupq_m_n_u32): Likewise. - (__arm_vcmpneq_m_u32): Likewise. - (__arm_vcmpneq_m_n_u32): Likewise. - (__arm_vcmphiq_m_u32): Likewise. - (__arm_vcmphiq_m_n_u32): Likewise. - (__arm_vcmpeqq_m_u32): Likewise. - (__arm_vcmpeqq_m_n_u32): Likewise. - (__arm_vcmpcsq_m_u32): Likewise. - (__arm_vcmpcsq_m_n_u32): Likewise. - (__arm_vclzq_m_u32): Likewise. - (__arm_vaddvaq_p_u32): Likewise. - (__arm_vsriq_n_u32): Likewise. - (__arm_vsliq_n_u32): Likewise. - (__arm_vshlq_m_r_u32): Likewise. - (__arm_vrshlq_m_n_u32): Likewise. - (__arm_vqshlq_m_r_u32): Likewise. - (__arm_vqrshlq_m_n_u32): Likewise. - (__arm_vminavq_p_s32): Likewise. - (__arm_vminaq_m_s32): Likewise. - (__arm_vmaxavq_p_s32): Likewise. - (__arm_vmaxaq_m_s32): Likewise. - (__arm_vcmpneq_m_s32): Likewise. - (__arm_vcmpneq_m_n_s32): Likewise. - (__arm_vcmpltq_m_s32): Likewise. - (__arm_vcmpltq_m_n_s32): Likewise. - (__arm_vcmpleq_m_s32): Likewise. - (__arm_vcmpleq_m_n_s32): Likewise. - (__arm_vcmpgtq_m_s32): Likewise. - (__arm_vcmpgtq_m_n_s32): Likewise. - (__arm_vcmpgeq_m_s32): Likewise. - (__arm_vcmpgeq_m_n_s32): Likewise. - (__arm_vcmpeqq_m_s32): Likewise. - (__arm_vcmpeqq_m_n_s32): Likewise. - (__arm_vshlq_m_r_s32): Likewise. - (__arm_vrshlq_m_n_s32): Likewise. - (__arm_vrev64q_m_s32): Likewise. - (__arm_vqshlq_m_r_s32): Likewise. - (__arm_vqrshlq_m_n_s32): Likewise. - (__arm_vqnegq_m_s32): Likewise. - (__arm_vqabsq_m_s32): Likewise. - (__arm_vnegq_m_s32): Likewise. - (__arm_vmvnq_m_s32): Likewise. - (__arm_vmlsdavxq_p_s32): Likewise. - (__arm_vmlsdavq_p_s32): Likewise. - (__arm_vmladavxq_p_s32): Likewise. - (__arm_vmladavq_p_s32): Likewise. - (__arm_vminvq_p_s32): Likewise. - (__arm_vmaxvq_p_s32): Likewise. - (__arm_vdupq_m_n_s32): Likewise. - (__arm_vclzq_m_s32): Likewise. - (__arm_vclsq_m_s32): Likewise. - (__arm_vaddvaq_p_s32): Likewise. - (__arm_vabsq_m_s32): Likewise. - (__arm_vqrdmlsdhxq_s32): Likewise. - (__arm_vqrdmlsdhq_s32): Likewise. - (__arm_vqrdmlashq_n_s32): Likewise. - (__arm_vqrdmlahq_n_s32): Likewise. - (__arm_vqrdmladhxq_s32): Likewise. - (__arm_vqrdmladhq_s32): Likewise. - (__arm_vqdmlsdhxq_s32): Likewise. - (__arm_vqdmlsdhq_s32): Likewise. - (__arm_vqdmlahq_n_s32): Likewise. - (__arm_vqdmladhxq_s32): Likewise. - (__arm_vqdmladhq_s32): Likewise. - (__arm_vmlsdavaxq_s32): Likewise. - (__arm_vmlsdavaq_s32): Likewise. - (__arm_vmlasq_n_s32): Likewise. - (__arm_vmlaq_n_s32): Likewise. - (__arm_vmladavaxq_s32): Likewise. - (__arm_vmladavaq_s32): Likewise. - (__arm_vsriq_n_s32): Likewise. - (__arm_vsliq_n_s32): Likewise. - (__arm_vpselq_u64): Likewise. - (__arm_vpselq_s64): Likewise. - (vcmpneq_m_n): Define polymorphic variant. - (vcmpneq_m): Likewise. - (vqrdmlsdhq): Likewise. - (vqrdmlsdhxq): Likewise. - (vqrshlq_m_n): Likewise. - (vqshlq_m_r): Likewise. - (vrev64q_m): Likewise. - (vrshlq_m_n): Likewise. - (vshlq_m_r): Likewise. - (vsliq_n): Likewise. - (vsriq_n): Likewise. - (vqrdmlashq_n): Likewise. - (vqrdmlahq): Likewise. - (vqrdmladhxq): Likewise. - (vqrdmladhq): Likewise. - (vqnegq_m): Likewise. - (vqdmlsdhxq): Likewise. - (vabsq_m): Likewise. - (vclsq_m): Likewise. - (vclzq_m): Likewise. - (vcmpgeq_m): Likewise. - (vcmpgeq_m_n): Likewise. - (vdupq_m_n): Likewise. - (vmaxaq_m): Likewise. - (vmlaq_n): Likewise. - (vmlasq_n): Likewise. - (vmvnq_m): Likewise. - (vnegq_m): Likewise. - (vpselq): Likewise. - (vqdmlahq_n): Likewise. - (vqrdmlahq_n): Likewise. - (vqdmlsdhq): Likewise. - (vqdmladhq): Likewise. - (vqabsq_m): Likewise. - (vminaq_m): Likewise. - (vrmlaldavhaq): Likewise. - (vmlsdavxq_p): Likewise. - (vmlsdavq_p): Likewise. - (vmlsdavaxq): Likewise. - (vmlsdavaq): Likewise. - (vaddvaq_p): Likewise. - (vcmpcsq_m_n): Likewise. - (vcmpcsq_m): Likewise. - (vcmpeqq_m_n): Likewise. - (vcmpeqq_m): Likewise. - (vmladavxq_p): Likewise. - (vmladavq_p): Likewise. - (vmladavaxq): Likewise. - (vmladavaq): Likewise. - (vminvq_p): Likewise. - (vminavq_p): Likewise. - (vmaxvq_p): Likewise. - (vmaxavq_p): Likewise. - (vcmpltq_m_n): Likewise. - (vcmpltq_m): Likewise. - (vcmpleq_m): Likewise. - (vcmpleq_m_n): Likewise. - (vcmphiq_m_n): Likewise. - (vcmphiq_m): Likewise. - (vcmpgtq_m_n): Likewise. - (vcmpgtq_m): Likewise. - * config/arm/arm_mve_builtins.def (TERNOP_NONE_NONE_NONE_IMM): Use - builtin qualifier. - (TERNOP_NONE_NONE_NONE_NONE): Likewise. - (TERNOP_NONE_NONE_NONE_UNONE): Likewise. - (TERNOP_UNONE_NONE_NONE_UNONE): Likewise. - (TERNOP_UNONE_UNONE_NONE_UNONE): Likewise. - (TERNOP_UNONE_UNONE_UNONE_IMM): Likewise. - (TERNOP_UNONE_UNONE_UNONE_UNONE): Likewise. - * config/arm/constraints.md (Rc): Define constraint to check constant is - in the range of 0 to 15. - (Re): Define constraint to check constant is in the range of 0 to 31. - * config/arm/mve.md (VADDVAQ_P): Define iterator. - (VCLZQ_M): Likewise. - (VCMPEQQ_M_N): Likewise. - (VCMPEQQ_M): Likewise. - (VCMPNEQ_M_N): Likewise. - (VCMPNEQ_M): Likewise. - (VDUPQ_M_N): Likewise. - (VMAXVQ_P): Likewise. - (VMINVQ_P): Likewise. - (VMLADAVAQ): Likewise. - (VMLADAVQ_P): Likewise. - (VMLAQ_N): Likewise. - (VMLASQ_N): Likewise. - (VMVNQ_M): Likewise. - (VPSELQ): Likewise. - (VQDMLAHQ_N): Likewise. - (VQRDMLAHQ_N): Likewise. - (VQRDMLASHQ_N): Likewise. - (VQRSHLQ_M_N): Likewise. - (VQSHLQ_M_R): Likewise. - (VREV64Q_M): Likewise. - (VRSHLQ_M_N): Likewise. - (VSHLQ_M_R): Likewise. - (VSLIQ_N): Likewise. - (VSRIQ_N): Likewise. - (mve_vabsq_m_s): Define RTL pattern. - (mve_vaddvaq_p_): Likewise. - (mve_vclsq_m_s): Likewise. - (mve_vclzq_m_): Likewise. - (mve_vcmpcsq_m_n_u): Likewise. - (mve_vcmpcsq_m_u): Likewise. - (mve_vcmpeqq_m_n_): Likewise. - (mve_vcmpeqq_m_): Likewise. - (mve_vcmpgeq_m_n_s): Likewise. - (mve_vcmpgeq_m_s): Likewise. - (mve_vcmpgtq_m_n_s): Likewise. - (mve_vcmpgtq_m_s): Likewise. - (mve_vcmphiq_m_n_u): Likewise. - (mve_vcmphiq_m_u): Likewise. - (mve_vcmpleq_m_n_s): Likewise. - (mve_vcmpleq_m_s): Likewise. - (mve_vcmpltq_m_n_s): Likewise. - (mve_vcmpltq_m_s): Likewise. - (mve_vcmpneq_m_n_): Likewise. - (mve_vcmpneq_m_): Likewise. - (mve_vdupq_m_n_): Likewise. - (mve_vmaxaq_m_s): Likewise. - (mve_vmaxavq_p_s): Likewise. - (mve_vmaxvq_p_): Likewise. - (mve_vminaq_m_s): Likewise. - (mve_vminavq_p_s): Likewise. - (mve_vminvq_p_): Likewise. - (mve_vmladavaq_): Likewise. - (mve_vmladavq_p_): Likewise. - (mve_vmladavxq_p_s): Likewise. - (mve_vmlaq_n_): Likewise. - (mve_vmlasq_n_): Likewise. - (mve_vmlsdavq_p_s): Likewise. - (mve_vmlsdavxq_p_s): Likewise. - (mve_vmvnq_m_): Likewise. - (mve_vnegq_m_s): Likewise. - (mve_vpselq_): Likewise. - (mve_vqabsq_m_s): Likewise. - (mve_vqdmlahq_n_): Likewise. - (mve_vqnegq_m_s): Likewise. - (mve_vqrdmladhq_s): Likewise. - (mve_vqrdmladhxq_s): Likewise. - (mve_vqrdmlahq_n_): Likewise. - (mve_vqrdmlashq_n_): Likewise. - (mve_vqrdmlsdhq_s): Likewise. - (mve_vqrdmlsdhxq_s): Likewise. - (mve_vqrshlq_m_n_): Likewise. - (mve_vqshlq_m_r_): Likewise. - (mve_vrev64q_m_): Likewise. - (mve_vrshlq_m_n_): Likewise. - (mve_vshlq_m_r_): Likewise. - (mve_vsliq_n_): Likewise. - (mve_vsriq_n_): Likewise. - (mve_vqdmlsdhxq_s): Likewise. - (mve_vqdmlsdhq_s): Likewise. - (mve_vqdmladhxq_s): Likewise. - (mve_vqdmladhq_s): Likewise. - (mve_vmlsdavaxq_s): Likewise. - (mve_vmlsdavaq_s): Likewise. - (mve_vmladavaxq_s): Likewise. - * config/arm/predicates.md (mve_imm_15):Define predicate to check the - matching constraint Rc. - (mve_imm_31): Define predicate to check the matching constraint Re. - -2020-03-18 Andrew Stubbs - - * config/gcn/gcn-valu.md (vec_cmpdi): Set operand 1 to DImode. - (vec_cmpdi_dup): Likewise. - * config/gcn/gcn.h (STORE_FLAG_VALUE): Set to -1. - -2020-03-18 Andrew Stubbs - - * config/gcn/gcn-valu.md (COND_MODE): Delete. - (COND_INT_MODE): Delete. - (cond_op): Add "mult". - (cond_): Use VEC_ALLREG_MODE. - (cond_): Use VEC_ALLREG_INT_MODE. - -2020-03-18 Richard Biener - - PR middle-end/94206 - * gimple-fold.c (gimple_fold_builtin_memset): Avoid using - partial int modes or not mode-precision integer types for - the store. - -2020-03-18 Jakub Jelinek - - * asan.c (get_mem_refs_of_builtin_call): Fix up duplicated word issue - in a comment. - * config/arc/arc.c (frame_stack_add): Likewise. - * gimple-loop-versioning.cc (loop_versioning::analyze_arbitrary_term): - Likewise. - * ipa-predicate.c (predicate::remap_after_inlining): Likewise. - * tree-ssa-strlen.h (handle_printf_call): Likewise. - * tree-ssa-strlen.c (is_strlen_related_p): Likewise. - * optinfo-emit-json.cc (optrecord_json_writer::add_record): Likewise. - -2020-03-18 Duan bo - - PR target/94201 - * config/aarch64/aarch64.md (ldr_got_tiny): Delete. - (@ldr_got_tiny_): New pattern. - (ldr_got_tiny_sidi): Likewise. - * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Use - them to handle SYMBOL_TINY_GOT for ILP32. - -2020-03-18 Richard Sandiford - - * config/aarch64/aarch64.c (aarch64_sve_abi): Treat p12-p15 as - call-preserved for SVE PCS functions. - (aarch64_layout_frame): Cope with up to 12 predicate save slots. - Optimize the case in which there are no following vector save slots. - -2020-03-18 Richard Biener - - PR middle-end/94188 - * fold-const.c (build_fold_addr_expr): Convert address to - correct type. - * asan.c (maybe_create_ssa_name): Strip useless type conversions. - * gimple-fold.c (gimple_fold_stmt_to_constant_1): Use build1 - to build the ADDR_EXPR which we don't really want to simplify. - * tree-ssa-dom.c (record_equivalences_from_stmt): Likewise. - * tree-ssa-loop-im.c (gather_mem_refs_stmt): Likewise. - * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise. - (simplify_builtin_call): Strip useless type conversions. - * tree-ssa-strlen.c (new_strinfo): Likewise. - -2020-03-17 Alexey Neyman - - PR debug/93751 - * dwarf2out.c (gen_decl_die): Proceed to generating the DIE if - the debug level is terse and the declaration is public. Do not - generate type info. - (dwarf2out_decl): Same. - (add_type_attribute): Return immediately if debug level is - terse. - -2020-03-17 Richard Sandiford - - * config/aarch64/iterators.md (Vmtype): Handle V4BF and V8BF. - -2020-03-17 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * config/arm/arm-builtins.c (TERNOP_UNONE_UNONE_UNONE_IMM_QUALIFIERS): - Define qualifier for ternary operands. - (TERNOP_UNONE_UNONE_NONE_NONE_QUALIFIERS): Likewise. - (TERNOP_UNONE_NONE_UNONE_IMM_QUALIFIERS): Likewise. - (TERNOP_NONE_NONE_UNONE_IMM_QUALIFIERS): Likewise. - (TERNOP_UNONE_UNONE_NONE_IMM_QUALIFIERS): Likewise. - (TERNOP_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Likewise. - (TERNOP_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Likewise. - (TERNOP_UNONE_NONE_NONE_UNONE_QUALIFIERS): Likewise. - (TERNOP_NONE_NONE_NONE_IMM_QUALIFIERS): Likewise. - (TERNOP_NONE_NONE_NONE_UNONE_QUALIFIERS): Likewise. - (TERNOP_NONE_NONE_IMM_UNONE_QUALIFIERS): Likewise. - (TERNOP_NONE_NONE_UNONE_UNONE_QUALIFIERS): Likewise. - (TERNOP_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Likewise. - (TERNOP_NONE_NONE_NONE_NONE_QUALIFIERS): Likewise. - * config/arm/arm_mve.h (vabavq_s8): Define macro. - (vabavq_s16): Likewise. - (vabavq_s32): Likewise. - (vbicq_m_n_s16): Likewise. - (vbicq_m_n_s32): Likewise. - (vbicq_m_n_u16): Likewise. - (vbicq_m_n_u32): Likewise. - (vcmpeqq_m_f16): Likewise. - (vcmpeqq_m_f32): Likewise. - (vcvtaq_m_s16_f16): Likewise. - (vcvtaq_m_u16_f16): Likewise. - (vcvtaq_m_s32_f32): Likewise. - (vcvtaq_m_u32_f32): Likewise. - (vcvtq_m_f16_s16): Likewise. - (vcvtq_m_f16_u16): Likewise. - (vcvtq_m_f32_s32): Likewise. - (vcvtq_m_f32_u32): Likewise. - (vqrshrnbq_n_s16): Likewise. - (vqrshrnbq_n_u16): Likewise. - (vqrshrnbq_n_s32): Likewise. - (vqrshrnbq_n_u32): Likewise. - (vqrshrunbq_n_s16): Likewise. - (vqrshrunbq_n_s32): Likewise. - (vrmlaldavhaq_s32): Likewise. - (vrmlaldavhaq_u32): Likewise. - (vshlcq_s8): Likewise. - (vshlcq_u8): Likewise. - (vshlcq_s16): Likewise. - (vshlcq_u16): Likewise. - (vshlcq_s32): Likewise. - (vshlcq_u32): Likewise. - (vabavq_u8): Likewise. - (vabavq_u16): Likewise. - (vabavq_u32): Likewise. - (__arm_vabavq_s8): Define intrinsic. - (__arm_vabavq_s16): Likewise. - (__arm_vabavq_s32): Likewise. - (__arm_vabavq_u8): Likewise. - (__arm_vabavq_u16): Likewise. - (__arm_vabavq_u32): Likewise. - (__arm_vbicq_m_n_s16): Likewise. - (__arm_vbicq_m_n_s32): Likewise. - (__arm_vbicq_m_n_u16): Likewise. - (__arm_vbicq_m_n_u32): Likewise. - (__arm_vqrshrnbq_n_s16): Likewise. - (__arm_vqrshrnbq_n_u16): Likewise. - (__arm_vqrshrnbq_n_s32): Likewise. - (__arm_vqrshrnbq_n_u32): Likewise. - (__arm_vqrshrunbq_n_s16): Likewise. - (__arm_vqrshrunbq_n_s32): Likewise. - (__arm_vrmlaldavhaq_s32): Likewise. - (__arm_vrmlaldavhaq_u32): Likewise. - (__arm_vshlcq_s8): Likewise. - (__arm_vshlcq_u8): Likewise. - (__arm_vshlcq_s16): Likewise. - (__arm_vshlcq_u16): Likewise. - (__arm_vshlcq_s32): Likewise. - (__arm_vshlcq_u32): Likewise. - (__arm_vcmpeqq_m_f16): Likewise. - (__arm_vcmpeqq_m_f32): Likewise. - (__arm_vcvtaq_m_s16_f16): Likewise. - (__arm_vcvtaq_m_u16_f16): Likewise. - (__arm_vcvtaq_m_s32_f32): Likewise. - (__arm_vcvtaq_m_u32_f32): Likewise. - (__arm_vcvtq_m_f16_s16): Likewise. - (__arm_vcvtq_m_f16_u16): Likewise. - (__arm_vcvtq_m_f32_s32): Likewise. - (__arm_vcvtq_m_f32_u32): Likewise. - (vcvtaq_m): Define polymorphic variant. - (vcvtq_m): Likewise. - (vabavq): Likewise. - (vshlcq): Likewise. - (vbicq_m_n): Likewise. - (vqrshrnbq_n): Likewise. - (vqrshrunbq_n): Likewise. - * config/arm/arm_mve_builtins.def - (TERNOP_UNONE_UNONE_UNONE_IMM_QUALIFIERS): Use the builtin qualifer. - (TERNOP_UNONE_UNONE_NONE_NONE_QUALIFIERS): Likewise. - (TERNOP_UNONE_NONE_UNONE_IMM_QUALIFIERS): Likewise. - (TERNOP_NONE_NONE_UNONE_IMM_QUALIFIERS): Likewise. - (TERNOP_UNONE_UNONE_NONE_IMM_QUALIFIERS): Likewise. - (TERNOP_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Likewise. - (TERNOP_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Likewise. - (TERNOP_UNONE_NONE_NONE_UNONE_QUALIFIERS): Likewise. - (TERNOP_NONE_NONE_NONE_IMM_QUALIFIERS): Likewise. - (TERNOP_NONE_NONE_NONE_UNONE_QUALIFIERS): Likewise. - (TERNOP_NONE_NONE_IMM_UNONE_QUALIFIERS): Likewise. - (TERNOP_NONE_NONE_UNONE_UNONE_QUALIFIERS): Likewise. - (TERNOP_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Likewise. - (TERNOP_NONE_NONE_NONE_NONE_QUALIFIERS): Likewise. - * config/arm/mve.md (VBICQ_M_N): Define iterator. - (VCVTAQ_M): Likewise. - (VCVTQ_M_TO_F): Likewise. - (VQRSHRNBQ_N): Likewise. - (VABAVQ): Likewise. - (VSHLCQ): Likewise. - (VRMLALDAVHAQ): Likewise. - (mve_vbicq_m_n_): Define RTL pattern. - (mve_vcmpeqq_m_f): Likewise. - (mve_vcvtaq_m_): Likewise. - (mve_vcvtq_m_to_f_): Likewise. - (mve_vqrshrnbq_n_): Likewise. - (mve_vqrshrunbq_n_s): Likewise. - (mve_vrmlaldavhaq_v4si): Likewise. - (mve_vabavq_): Likewise. - (mve_vshlcq_): Likewise. - (mve_vshlcq_): Likewise. - (mve_vshlcq_vec_): Define RTL expand. - (mve_vshlcq_carry_): Likewise. - -2020-03-17 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * config/arm/arm_mve.h (vqmovntq_u16): Define macro. - (vqmovnbq_u16): Likewise. - (vmulltq_poly_p8): Likewise. - (vmullbq_poly_p8): Likewise. - (vmovntq_u16): Likewise. - (vmovnbq_u16): Likewise. - (vmlaldavxq_u16): Likewise. - (vmlaldavq_u16): Likewise. - (vqmovuntq_s16): Likewise. - (vqmovunbq_s16): Likewise. - (vshlltq_n_u8): Likewise. - (vshllbq_n_u8): Likewise. - (vorrq_n_u16): Likewise. - (vbicq_n_u16): Likewise. - (vcmpneq_n_f16): Likewise. - (vcmpneq_f16): Likewise. - (vcmpltq_n_f16): Likewise. - (vcmpltq_f16): Likewise. - (vcmpleq_n_f16): Likewise. - (vcmpleq_f16): Likewise. - (vcmpgtq_n_f16): Likewise. - (vcmpgtq_f16): Likewise. - (vcmpgeq_n_f16): Likewise. - (vcmpgeq_f16): Likewise. - (vcmpeqq_n_f16): Likewise. - (vcmpeqq_f16): Likewise. - (vsubq_f16): Likewise. - (vqmovntq_s16): Likewise. - (vqmovnbq_s16): Likewise. - (vqdmulltq_s16): Likewise. - (vqdmulltq_n_s16): Likewise. - (vqdmullbq_s16): Likewise. - (vqdmullbq_n_s16): Likewise. - (vorrq_f16): Likewise. - (vornq_f16): Likewise. - (vmulq_n_f16): Likewise. - (vmulq_f16): Likewise. - (vmovntq_s16): Likewise. - (vmovnbq_s16): Likewise. - (vmlsldavxq_s16): Likewise. - (vmlsldavq_s16): Likewise. - (vmlaldavxq_s16): Likewise. - (vmlaldavq_s16): Likewise. - (vminnmvq_f16): Likewise. - (vminnmq_f16): Likewise. - (vminnmavq_f16): Likewise. - (vminnmaq_f16): Likewise. - (vmaxnmvq_f16): Likewise. - (vmaxnmq_f16): Likewise. - (vmaxnmavq_f16): Likewise. - (vmaxnmaq_f16): Likewise. - (veorq_f16): Likewise. - (vcmulq_rot90_f16): Likewise. - (vcmulq_rot270_f16): Likewise. - (vcmulq_rot180_f16): Likewise. - (vcmulq_f16): Likewise. - (vcaddq_rot90_f16): Likewise. - (vcaddq_rot270_f16): Likewise. - (vbicq_f16): Likewise. - (vandq_f16): Likewise. - (vaddq_n_f16): Likewise. - (vabdq_f16): Likewise. - (vshlltq_n_s8): Likewise. - (vshllbq_n_s8): Likewise. - (vorrq_n_s16): Likewise. - (vbicq_n_s16): Likewise. - (vqmovntq_u32): Likewise. - (vqmovnbq_u32): Likewise. - (vmulltq_poly_p16): Likewise. - (vmullbq_poly_p16): Likewise. - (vmovntq_u32): Likewise. - (vmovnbq_u32): Likewise. - (vmlaldavxq_u32): Likewise. - (vmlaldavq_u32): Likewise. - (vqmovuntq_s32): Likewise. - (vqmovunbq_s32): Likewise. - (vshlltq_n_u16): Likewise. - (vshllbq_n_u16): Likewise. - (vorrq_n_u32): Likewise. - (vbicq_n_u32): Likewise. - (vcmpneq_n_f32): Likewise. - (vcmpneq_f32): Likewise. - (vcmpltq_n_f32): Likewise. - (vcmpltq_f32): Likewise. - (vcmpleq_n_f32): Likewise. - (vcmpleq_f32): Likewise. - (vcmpgtq_n_f32): Likewise. - (vcmpgtq_f32): Likewise. - (vcmpgeq_n_f32): Likewise. - (vcmpgeq_f32): Likewise. - (vcmpeqq_n_f32): Likewise. - (vcmpeqq_f32): Likewise. - (vsubq_f32): Likewise. - (vqmovntq_s32): Likewise. - (vqmovnbq_s32): Likewise. - (vqdmulltq_s32): Likewise. - (vqdmulltq_n_s32): Likewise. - (vqdmullbq_s32): Likewise. - (vqdmullbq_n_s32): Likewise. - (vorrq_f32): Likewise. - (vornq_f32): Likewise. - (vmulq_n_f32): Likewise. - (vmulq_f32): Likewise. - (vmovntq_s32): Likewise. - (vmovnbq_s32): Likewise. - (vmlsldavxq_s32): Likewise. - (vmlsldavq_s32): Likewise. - (vmlaldavxq_s32): Likewise. - (vmlaldavq_s32): Likewise. - (vminnmvq_f32): Likewise. - (vminnmq_f32): Likewise. - (vminnmavq_f32): Likewise. - (vminnmaq_f32): Likewise. - (vmaxnmvq_f32): Likewise. - (vmaxnmq_f32): Likewise. - (vmaxnmavq_f32): Likewise. - (vmaxnmaq_f32): Likewise. - (veorq_f32): Likewise. - (vcmulq_rot90_f32): Likewise. - (vcmulq_rot270_f32): Likewise. - (vcmulq_rot180_f32): Likewise. - (vcmulq_f32): Likewise. - (vcaddq_rot90_f32): Likewise. - (vcaddq_rot270_f32): Likewise. - (vbicq_f32): Likewise. - (vandq_f32): Likewise. - (vaddq_n_f32): Likewise. - (vabdq_f32): Likewise. - (vshlltq_n_s16): Likewise. - (vshllbq_n_s16): Likewise. - (vorrq_n_s32): Likewise. - (vbicq_n_s32): Likewise. - (vrmlaldavhq_u32): Likewise. - (vctp8q_m): Likewise. - (vctp64q_m): Likewise. - (vctp32q_m): Likewise. - (vctp16q_m): Likewise. - (vaddlvaq_u32): Likewise. - (vrmlsldavhxq_s32): Likewise. - (vrmlsldavhq_s32): Likewise. - (vrmlaldavhxq_s32): Likewise. - (vrmlaldavhq_s32): Likewise. - (vcvttq_f16_f32): Likewise. - (vcvtbq_f16_f32): Likewise. - (vaddlvaq_s32): Likewise. - (__arm_vqmovntq_u16): Define intrinsic. - (__arm_vqmovnbq_u16): Likewise. - (__arm_vmulltq_poly_p8): Likewise. - (__arm_vmullbq_poly_p8): Likewise. - (__arm_vmovntq_u16): Likewise. - (__arm_vmovnbq_u16): Likewise. - (__arm_vmlaldavxq_u16): Likewise. - (__arm_vmlaldavq_u16): Likewise. - (__arm_vqmovuntq_s16): Likewise. - (__arm_vqmovunbq_s16): Likewise. - (__arm_vshlltq_n_u8): Likewise. - (__arm_vshllbq_n_u8): Likewise. - (__arm_vorrq_n_u16): Likewise. - (__arm_vbicq_n_u16): Likewise. - (__arm_vcmpneq_n_f16): Likewise. - (__arm_vcmpneq_f16): Likewise. - (__arm_vcmpltq_n_f16): Likewise. - (__arm_vcmpltq_f16): Likewise. - (__arm_vcmpleq_n_f16): Likewise. - (__arm_vcmpleq_f16): Likewise. - (__arm_vcmpgtq_n_f16): Likewise. - (__arm_vcmpgtq_f16): Likewise. - (__arm_vcmpgeq_n_f16): Likewise. - (__arm_vcmpgeq_f16): Likewise. - (__arm_vcmpeqq_n_f16): Likewise. - (__arm_vcmpeqq_f16): Likewise. - (__arm_vsubq_f16): Likewise. - (__arm_vqmovntq_s16): Likewise. - (__arm_vqmovnbq_s16): Likewise. - (__arm_vqdmulltq_s16): Likewise. - (__arm_vqdmulltq_n_s16): Likewise. - (__arm_vqdmullbq_s16): Likewise. - (__arm_vqdmullbq_n_s16): Likewise. - (__arm_vorrq_f16): Likewise. - (__arm_vornq_f16): Likewise. - (__arm_vmulq_n_f16): Likewise. - (__arm_vmulq_f16): Likewise. - (__arm_vmovntq_s16): Likewise. - (__arm_vmovnbq_s16): Likewise. - (__arm_vmlsldavxq_s16): Likewise. - (__arm_vmlsldavq_s16): Likewise. - (__arm_vmlaldavxq_s16): Likewise. - (__arm_vmlaldavq_s16): Likewise. - (__arm_vminnmvq_f16): Likewise. - (__arm_vminnmq_f16): Likewise. - (__arm_vminnmavq_f16): Likewise. - (__arm_vminnmaq_f16): Likewise. - (__arm_vmaxnmvq_f16): Likewise. - (__arm_vmaxnmq_f16): Likewise. - (__arm_vmaxnmavq_f16): Likewise. - (__arm_vmaxnmaq_f16): Likewise. - (__arm_veorq_f16): Likewise. - (__arm_vcmulq_rot90_f16): Likewise. - (__arm_vcmulq_rot270_f16): Likewise. - (__arm_vcmulq_rot180_f16): Likewise. - (__arm_vcmulq_f16): Likewise. - (__arm_vcaddq_rot90_f16): Likewise. - (__arm_vcaddq_rot270_f16): Likewise. - (__arm_vbicq_f16): Likewise. - (__arm_vandq_f16): Likewise. - (__arm_vaddq_n_f16): Likewise. - (__arm_vabdq_f16): Likewise. - (__arm_vshlltq_n_s8): Likewise. - (__arm_vshllbq_n_s8): Likewise. - (__arm_vorrq_n_s16): Likewise. - (__arm_vbicq_n_s16): Likewise. - (__arm_vqmovntq_u32): Likewise. - (__arm_vqmovnbq_u32): Likewise. - (__arm_vmulltq_poly_p16): Likewise. - (__arm_vmullbq_poly_p16): Likewise. - (__arm_vmovntq_u32): Likewise. - (__arm_vmovnbq_u32): Likewise. - (__arm_vmlaldavxq_u32): Likewise. - (__arm_vmlaldavq_u32): Likewise. - (__arm_vqmovuntq_s32): Likewise. - (__arm_vqmovunbq_s32): Likewise. - (__arm_vshlltq_n_u16): Likewise. - (__arm_vshllbq_n_u16): Likewise. - (__arm_vorrq_n_u32): Likewise. - (__arm_vbicq_n_u32): Likewise. - (__arm_vcmpneq_n_f32): Likewise. - (__arm_vcmpneq_f32): Likewise. - (__arm_vcmpltq_n_f32): Likewise. - (__arm_vcmpltq_f32): Likewise. - (__arm_vcmpleq_n_f32): Likewise. - (__arm_vcmpleq_f32): Likewise. - (__arm_vcmpgtq_n_f32): Likewise. - (__arm_vcmpgtq_f32): Likewise. - (__arm_vcmpgeq_n_f32): Likewise. - (__arm_vcmpgeq_f32): Likewise. - (__arm_vcmpeqq_n_f32): Likewise. - (__arm_vcmpeqq_f32): Likewise. - (__arm_vsubq_f32): Likewise. - (__arm_vqmovntq_s32): Likewise. - (__arm_vqmovnbq_s32): Likewise. - (__arm_vqdmulltq_s32): Likewise. - (__arm_vqdmulltq_n_s32): Likewise. - (__arm_vqdmullbq_s32): Likewise. - (__arm_vqdmullbq_n_s32): Likewise. - (__arm_vorrq_f32): Likewise. - (__arm_vornq_f32): Likewise. - (__arm_vmulq_n_f32): Likewise. - (__arm_vmulq_f32): Likewise. - (__arm_vmovntq_s32): Likewise. - (__arm_vmovnbq_s32): Likewise. - (__arm_vmlsldavxq_s32): Likewise. - (__arm_vmlsldavq_s32): Likewise. - (__arm_vmlaldavxq_s32): Likewise. - (__arm_vmlaldavq_s32): Likewise. - (__arm_vminnmvq_f32): Likewise. - (__arm_vminnmq_f32): Likewise. - (__arm_vminnmavq_f32): Likewise. - (__arm_vminnmaq_f32): Likewise. - (__arm_vmaxnmvq_f32): Likewise. - (__arm_vmaxnmq_f32): Likewise. - (__arm_vmaxnmavq_f32): Likewise. - (__arm_vmaxnmaq_f32): Likewise. - (__arm_veorq_f32): Likewise. - (__arm_vcmulq_rot90_f32): Likewise. - (__arm_vcmulq_rot270_f32): Likewise. - (__arm_vcmulq_rot180_f32): Likewise. - (__arm_vcmulq_f32): Likewise. - (__arm_vcaddq_rot90_f32): Likewise. - (__arm_vcaddq_rot270_f32): Likewise. - (__arm_vbicq_f32): Likewise. - (__arm_vandq_f32): Likewise. - (__arm_vaddq_n_f32): Likewise. - (__arm_vabdq_f32): Likewise. - (__arm_vshlltq_n_s16): Likewise. - (__arm_vshllbq_n_s16): Likewise. - (__arm_vorrq_n_s32): Likewise. - (__arm_vbicq_n_s32): Likewise. - (__arm_vrmlaldavhq_u32): Likewise. - (__arm_vctp8q_m): Likewise. - (__arm_vctp64q_m): Likewise. - (__arm_vctp32q_m): Likewise. - (__arm_vctp16q_m): Likewise. - (__arm_vaddlvaq_u32): Likewise. - (__arm_vrmlsldavhxq_s32): Likewise. - (__arm_vrmlsldavhq_s32): Likewise. - (__arm_vrmlaldavhxq_s32): Likewise. - (__arm_vrmlaldavhq_s32): Likewise. - (__arm_vcvttq_f16_f32): Likewise. - (__arm_vcvtbq_f16_f32): Likewise. - (__arm_vaddlvaq_s32): Likewise. - (vst4q): Define polymorphic variant. - (vrndxq): Likewise. - (vrndq): Likewise. - (vrndpq): Likewise. - (vrndnq): Likewise. - (vrndmq): Likewise. - (vrndaq): Likewise. - (vrev64q): Likewise. - (vnegq): Likewise. - (vdupq_n): Likewise. - (vabsq): Likewise. - (vrev32q): Likewise. - (vcvtbq_f32): Likewise. - (vcvttq_f32): Likewise. - (vcvtq): Likewise. - (vsubq_n): Likewise. - (vbrsrq_n): Likewise. - (vcvtq_n): Likewise. - (vsubq): Likewise. - (vorrq): Likewise. - (vabdq): Likewise. - (vaddq_n): Likewise. - (vandq): Likewise. - (vbicq): Likewise. - (vornq): Likewise. - (vmulq_n): Likewise. - (vmulq): Likewise. - (vcaddq_rot270): Likewise. - (vcmpeqq_n): Likewise. - (vcmpeqq): Likewise. - (vcaddq_rot90): Likewise. - (vcmpgeq_n): Likewise. - (vcmpgeq): Likewise. - (vcmpgtq_n): Likewise. - (vcmpgtq): Likewise. - (vcmpgtq): Likewise. - (vcmpleq_n): Likewise. - (vcmpleq_n): Likewise. - (vcmpleq): Likewise. - (vcmpleq): Likewise. - (vcmpltq_n): Likewise. - (vcmpltq_n): Likewise. - (vcmpltq): Likewise. - (vcmpltq): Likewise. - (vcmpneq_n): Likewise. - (vcmpneq_n): Likewise. - (vcmpneq): Likewise. - (vcmpneq): Likewise. - (vcmulq): Likewise. - (vcmulq): Likewise. - (vcmulq_rot180): Likewise. - (vcmulq_rot180): Likewise. - (vcmulq_rot270): Likewise. - (vcmulq_rot270): Likewise. - (vcmulq_rot90): Likewise. - (vcmulq_rot90): Likewise. - (veorq): Likewise. - (veorq): Likewise. - (vmaxnmaq): Likewise. - (vmaxnmaq): Likewise. - (vmaxnmavq): Likewise. - (vmaxnmavq): Likewise. - (vmaxnmq): Likewise. - (vmaxnmq): Likewise. - (vmaxnmvq): Likewise. - (vmaxnmvq): Likewise. - (vminnmaq): Likewise. - (vminnmaq): Likewise. - (vminnmavq): Likewise. - (vminnmavq): Likewise. - (vminnmq): Likewise. - (vminnmq): Likewise. - (vminnmvq): Likewise. - (vminnmvq): Likewise. - (vbicq_n): Likewise. - (vqmovntq): Likewise. - (vqmovntq): Likewise. - (vqmovnbq): Likewise. - (vqmovnbq): Likewise. - (vmulltq_poly): Likewise. - (vmulltq_poly): Likewise. - (vmullbq_poly): Likewise. - (vmullbq_poly): Likewise. - (vmovntq): Likewise. - (vmovntq): Likewise. - (vmovnbq): Likewise. - (vmovnbq): Likewise. - (vmlaldavxq): Likewise. - (vmlaldavxq): Likewise. - (vqmovuntq): Likewise. - (vqmovuntq): Likewise. - (vshlltq_n): Likewise. - (vshlltq_n): Likewise. - (vshllbq_n): Likewise. - (vshllbq_n): Likewise. - (vorrq_n): Likewise. - (vorrq_n): Likewise. - (vmlaldavq): Likewise. - (vmlaldavq): Likewise. - (vqmovunbq): Likewise. - (vqmovunbq): Likewise. - (vqdmulltq_n): Likewise. - (vqdmulltq_n): Likewise. - (vqdmulltq): Likewise. - (vqdmulltq): Likewise. - (vqdmullbq_n): Likewise. - (vqdmullbq_n): Likewise. - (vqdmullbq): Likewise. - (vqdmullbq): Likewise. - (vaddlvaq): Likewise. - (vaddlvaq): Likewise. - (vrmlaldavhq): Likewise. - (vrmlaldavhq): Likewise. - (vrmlaldavhxq): Likewise. - (vrmlaldavhxq): Likewise. - (vrmlsldavhq): Likewise. - (vrmlsldavhq): Likewise. - (vrmlsldavhxq): Likewise. - (vrmlsldavhxq): Likewise. - (vmlsldavxq): Likewise. - (vmlsldavxq): Likewise. - (vmlsldavq): Likewise. - (vmlsldavq): Likewise. - * config/arm/arm_mve_builtins.def (BINOP_NONE_NONE_IMM): Use it. - (BINOP_NONE_NONE_NONE): Likewise. - (BINOP_UNONE_NONE_NONE): Likewise. - (BINOP_UNONE_UNONE_IMM): Likewise. - (BINOP_UNONE_UNONE_NONE): Likewise. - (BINOP_UNONE_UNONE_UNONE): Likewise. - * config/arm/mve.md (mve_vabdq_f): Define RTL pattern. - (mve_vaddlvaq_v4si): Likewise. - (mve_vaddq_n_f): Likewise. - (mve_vandq_f): Likewise. - (mve_vbicq_f): Likewise. - (mve_vbicq_n_): Likewise. - (mve_vcaddq_rot270_f): Likewise. - (mve_vcaddq_rot90_f): Likewise. - (mve_vcmpeqq_f): Likewise. - (mve_vcmpeqq_n_f): Likewise. - (mve_vcmpgeq_f): Likewise. - (mve_vcmpgeq_n_f): Likewise. - (mve_vcmpgtq_f): Likewise. - (mve_vcmpgtq_n_f): Likewise. - (mve_vcmpleq_f): Likewise. - (mve_vcmpleq_n_f): Likewise. - (mve_vcmpltq_f): Likewise. - (mve_vcmpltq_n_f): Likewise. - (mve_vcmpneq_f): Likewise. - (mve_vcmpneq_n_f): Likewise. - (mve_vcmulq_f): Likewise. - (mve_vcmulq_rot180_f): Likewise. - (mve_vcmulq_rot270_f): Likewise. - (mve_vcmulq_rot90_f): Likewise. - (mve_vctpq_mhi): Likewise. - (mve_vcvtbq_f16_f32v8hf): Likewise. - (mve_vcvttq_f16_f32v8hf): Likewise. - (mve_veorq_f): Likewise. - (mve_vmaxnmaq_f): Likewise. - (mve_vmaxnmavq_f): Likewise. - (mve_vmaxnmq_f): Likewise. - (mve_vmaxnmvq_f): Likewise. - (mve_vminnmaq_f): Likewise. - (mve_vminnmavq_f): Likewise. - (mve_vminnmq_f): Likewise. - (mve_vminnmvq_f): Likewise. - (mve_vmlaldavq_): Likewise. - (mve_vmlaldavxq_): Likewise. - (mve_vmlsldavq_s): Likewise. - (mve_vmlsldavxq_s): Likewise. - (mve_vmovnbq_): Likewise. - (mve_vmovntq_): Likewise. - (mve_vmulq_f): Likewise. - (mve_vmulq_n_f): Likewise. - (mve_vornq_f): Likewise. - (mve_vorrq_f): Likewise. - (mve_vorrq_n_): Likewise. - (mve_vqdmullbq_n_s): Likewise. - (mve_vqdmullbq_s): Likewise. - (mve_vqdmulltq_n_s): Likewise. - (mve_vqdmulltq_s): Likewise. - (mve_vqmovnbq_): Likewise. - (mve_vqmovntq_): Likewise. - (mve_vqmovunbq_s): Likewise. - (mve_vqmovuntq_s): Likewise. - (mve_vrmlaldavhxq_sv4si): Likewise. - (mve_vrmlsldavhq_sv4si): Likewise. - (mve_vrmlsldavhxq_sv4si): Likewise. - (mve_vshllbq_n_): Likewise. - (mve_vshlltq_n_): Likewise. - (mve_vsubq_f): Likewise. - (mve_vmulltq_poly_p): Likewise. - (mve_vmullbq_poly_p): Likewise. - (mve_vrmlaldavhq_v4si): Likewise. - -2020-03-17 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * config/arm/arm_mve.h (vsubq_u8): Define macro. - (vsubq_n_u8): Likewise. - (vrmulhq_u8): Likewise. - (vrhaddq_u8): Likewise. - (vqsubq_u8): Likewise. - (vqsubq_n_u8): Likewise. - (vqaddq_u8): Likewise. - (vqaddq_n_u8): Likewise. - (vorrq_u8): Likewise. - (vornq_u8): Likewise. - (vmulq_u8): Likewise. - (vmulq_n_u8): Likewise. - (vmulltq_int_u8): Likewise. - (vmullbq_int_u8): Likewise. - (vmulhq_u8): Likewise. - (vmladavq_u8): Likewise. - (vminvq_u8): Likewise. - (vminq_u8): Likewise. - (vmaxvq_u8): Likewise. - (vmaxq_u8): Likewise. - (vhsubq_u8): Likewise. - (vhsubq_n_u8): Likewise. - (vhaddq_u8): Likewise. - (vhaddq_n_u8): Likewise. - (veorq_u8): Likewise. - (vcmpneq_n_u8): Likewise. - (vcmphiq_u8): Likewise. - (vcmphiq_n_u8): Likewise. - (vcmpeqq_u8): Likewise. - (vcmpeqq_n_u8): Likewise. - (vcmpcsq_u8): Likewise. - (vcmpcsq_n_u8): Likewise. - (vcaddq_rot90_u8): Likewise. - (vcaddq_rot270_u8): Likewise. - (vbicq_u8): Likewise. - (vandq_u8): Likewise. - (vaddvq_p_u8): Likewise. - (vaddvaq_u8): Likewise. - (vaddq_n_u8): Likewise. - (vabdq_u8): Likewise. - (vshlq_r_u8): Likewise. - (vrshlq_u8): Likewise. - (vrshlq_n_u8): Likewise. - (vqshlq_u8): Likewise. - (vqshlq_r_u8): Likewise. - (vqrshlq_u8): Likewise. - (vqrshlq_n_u8): Likewise. - (vminavq_s8): Likewise. - (vminaq_s8): Likewise. - (vmaxavq_s8): Likewise. - (vmaxaq_s8): Likewise. - (vbrsrq_n_u8): Likewise. - (vshlq_n_u8): Likewise. - (vrshrq_n_u8): Likewise. - (vqshlq_n_u8): Likewise. - (vcmpneq_n_s8): Likewise. - (vcmpltq_s8): Likewise. - (vcmpltq_n_s8): Likewise. - (vcmpleq_s8): Likewise. - (vcmpleq_n_s8): Likewise. - (vcmpgtq_s8): Likewise. - (vcmpgtq_n_s8): Likewise. - (vcmpgeq_s8): Likewise. - (vcmpgeq_n_s8): Likewise. - (vcmpeqq_s8): Likewise. - (vcmpeqq_n_s8): Likewise. - (vqshluq_n_s8): Likewise. - (vaddvq_p_s8): Likewise. - (vsubq_s8): Likewise. - (vsubq_n_s8): Likewise. - (vshlq_r_s8): Likewise. - (vrshlq_s8): Likewise. - (vrshlq_n_s8): Likewise. - (vrmulhq_s8): Likewise. - (vrhaddq_s8): Likewise. - (vqsubq_s8): Likewise. - (vqsubq_n_s8): Likewise. - (vqshlq_s8): Likewise. - (vqshlq_r_s8): Likewise. - (vqrshlq_s8): Likewise. - (vqrshlq_n_s8): Likewise. - (vqrdmulhq_s8): Likewise. - (vqrdmulhq_n_s8): Likewise. - (vqdmulhq_s8): Likewise. - (vqdmulhq_n_s8): Likewise. - (vqaddq_s8): Likewise. - (vqaddq_n_s8): Likewise. - (vorrq_s8): Likewise. - (vornq_s8): Likewise. - (vmulq_s8): Likewise. - (vmulq_n_s8): Likewise. - (vmulltq_int_s8): Likewise. - (vmullbq_int_s8): Likewise. - (vmulhq_s8): Likewise. - (vmlsdavxq_s8): Likewise. - (vmlsdavq_s8): Likewise. - (vmladavxq_s8): Likewise. - (vmladavq_s8): Likewise. - (vminvq_s8): Likewise. - (vminq_s8): Likewise. - (vmaxvq_s8): Likewise. - (vmaxq_s8): Likewise. - (vhsubq_s8): Likewise. - (vhsubq_n_s8): Likewise. - (vhcaddq_rot90_s8): Likewise. - (vhcaddq_rot270_s8): Likewise. - (vhaddq_s8): Likewise. - (vhaddq_n_s8): Likewise. - (veorq_s8): Likewise. - (vcaddq_rot90_s8): Likewise. - (vcaddq_rot270_s8): Likewise. - (vbrsrq_n_s8): Likewise. - (vbicq_s8): Likewise. - (vandq_s8): Likewise. - (vaddvaq_s8): Likewise. - (vaddq_n_s8): Likewise. - (vabdq_s8): Likewise. - (vshlq_n_s8): Likewise. - (vrshrq_n_s8): Likewise. - (vqshlq_n_s8): Likewise. - (vsubq_u16): Likewise. - (vsubq_n_u16): Likewise. - (vrmulhq_u16): Likewise. - (vrhaddq_u16): Likewise. - (vqsubq_u16): Likewise. - (vqsubq_n_u16): Likewise. - (vqaddq_u16): Likewise. - (vqaddq_n_u16): Likewise. - (vorrq_u16): Likewise. - (vornq_u16): Likewise. - (vmulq_u16): Likewise. - (vmulq_n_u16): Likewise. - (vmulltq_int_u16): Likewise. - (vmullbq_int_u16): Likewise. - (vmulhq_u16): Likewise. - (vmladavq_u16): Likewise. - (vminvq_u16): Likewise. - (vminq_u16): Likewise. - (vmaxvq_u16): Likewise. - (vmaxq_u16): Likewise. - (vhsubq_u16): Likewise. - (vhsubq_n_u16): Likewise. - (vhaddq_u16): Likewise. - (vhaddq_n_u16): Likewise. - (veorq_u16): Likewise. - (vcmpneq_n_u16): Likewise. - (vcmphiq_u16): Likewise. - (vcmphiq_n_u16): Likewise. - (vcmpeqq_u16): Likewise. - (vcmpeqq_n_u16): Likewise. - (vcmpcsq_u16): Likewise. - (vcmpcsq_n_u16): Likewise. - (vcaddq_rot90_u16): Likewise. - (vcaddq_rot270_u16): Likewise. - (vbicq_u16): Likewise. - (vandq_u16): Likewise. - (vaddvq_p_u16): Likewise. - (vaddvaq_u16): Likewise. - (vaddq_n_u16): Likewise. - (vabdq_u16): Likewise. - (vshlq_r_u16): Likewise. - (vrshlq_u16): Likewise. - (vrshlq_n_u16): Likewise. - (vqshlq_u16): Likewise. - (vqshlq_r_u16): Likewise. - (vqrshlq_u16): Likewise. - (vqrshlq_n_u16): Likewise. - (vminavq_s16): Likewise. - (vminaq_s16): Likewise. - (vmaxavq_s16): Likewise. - (vmaxaq_s16): Likewise. - (vbrsrq_n_u16): Likewise. - (vshlq_n_u16): Likewise. - (vrshrq_n_u16): Likewise. - (vqshlq_n_u16): Likewise. - (vcmpneq_n_s16): Likewise. - (vcmpltq_s16): Likewise. - (vcmpltq_n_s16): Likewise. - (vcmpleq_s16): Likewise. - (vcmpleq_n_s16): Likewise. - (vcmpgtq_s16): Likewise. - (vcmpgtq_n_s16): Likewise. - (vcmpgeq_s16): Likewise. - (vcmpgeq_n_s16): Likewise. - (vcmpeqq_s16): Likewise. - (vcmpeqq_n_s16): Likewise. - (vqshluq_n_s16): Likewise. - (vaddvq_p_s16): Likewise. - (vsubq_s16): Likewise. - (vsubq_n_s16): Likewise. - (vshlq_r_s16): Likewise. - (vrshlq_s16): Likewise. - (vrshlq_n_s16): Likewise. - (vrmulhq_s16): Likewise. - (vrhaddq_s16): Likewise. - (vqsubq_s16): Likewise. - (vqsubq_n_s16): Likewise. - (vqshlq_s16): Likewise. - (vqshlq_r_s16): Likewise. - (vqrshlq_s16): Likewise. - (vqrshlq_n_s16): Likewise. - (vqrdmulhq_s16): Likewise. - (vqrdmulhq_n_s16): Likewise. - (vqdmulhq_s16): Likewise. - (vqdmulhq_n_s16): Likewise. - (vqaddq_s16): Likewise. - (vqaddq_n_s16): Likewise. - (vorrq_s16): Likewise. - (vornq_s16): Likewise. - (vmulq_s16): Likewise. - (vmulq_n_s16): Likewise. - (vmulltq_int_s16): Likewise. - (vmullbq_int_s16): Likewise. - (vmulhq_s16): Likewise. - (vmlsdavxq_s16): Likewise. - (vmlsdavq_s16): Likewise. - (vmladavxq_s16): Likewise. - (vmladavq_s16): Likewise. - (vminvq_s16): Likewise. - (vminq_s16): Likewise. - (vmaxvq_s16): Likewise. - (vmaxq_s16): Likewise. - (vhsubq_s16): Likewise. - (vhsubq_n_s16): Likewise. - (vhcaddq_rot90_s16): Likewise. - (vhcaddq_rot270_s16): Likewise. - (vhaddq_s16): Likewise. - (vhaddq_n_s16): Likewise. - (veorq_s16): Likewise. - (vcaddq_rot90_s16): Likewise. - (vcaddq_rot270_s16): Likewise. - (vbrsrq_n_s16): Likewise. - (vbicq_s16): Likewise. - (vandq_s16): Likewise. - (vaddvaq_s16): Likewise. - (vaddq_n_s16): Likewise. - (vabdq_s16): Likewise. - (vshlq_n_s16): Likewise. - (vrshrq_n_s16): Likewise. - (vqshlq_n_s16): Likewise. - (vsubq_u32): Likewise. - (vsubq_n_u32): Likewise. - (vrmulhq_u32): Likewise. - (vrhaddq_u32): Likewise. - (vqsubq_u32): Likewise. - (vqsubq_n_u32): Likewise. - (vqaddq_u32): Likewise. - (vqaddq_n_u32): Likewise. - (vorrq_u32): Likewise. - (vornq_u32): Likewise. - (vmulq_u32): Likewise. - (vmulq_n_u32): Likewise. - (vmulltq_int_u32): Likewise. - (vmullbq_int_u32): Likewise. - (vmulhq_u32): Likewise. - (vmladavq_u32): Likewise. - (vminvq_u32): Likewise. - (vminq_u32): Likewise. - (vmaxvq_u32): Likewise. - (vmaxq_u32): Likewise. - (vhsubq_u32): Likewise. - (vhsubq_n_u32): Likewise. - (vhaddq_u32): Likewise. - (vhaddq_n_u32): Likewise. - (veorq_u32): Likewise. - (vcmpneq_n_u32): Likewise. - (vcmphiq_u32): Likewise. - (vcmphiq_n_u32): Likewise. - (vcmpeqq_u32): Likewise. - (vcmpeqq_n_u32): Likewise. - (vcmpcsq_u32): Likewise. - (vcmpcsq_n_u32): Likewise. - (vcaddq_rot90_u32): Likewise. - (vcaddq_rot270_u32): Likewise. - (vbicq_u32): Likewise. - (vandq_u32): Likewise. - (vaddvq_p_u32): Likewise. - (vaddvaq_u32): Likewise. - (vaddq_n_u32): Likewise. - (vabdq_u32): Likewise. - (vshlq_r_u32): Likewise. - (vrshlq_u32): Likewise. - (vrshlq_n_u32): Likewise. - (vqshlq_u32): Likewise. - (vqshlq_r_u32): Likewise. - (vqrshlq_u32): Likewise. - (vqrshlq_n_u32): Likewise. - (vminavq_s32): Likewise. - (vminaq_s32): Likewise. - (vmaxavq_s32): Likewise. - (vmaxaq_s32): Likewise. - (vbrsrq_n_u32): Likewise. - (vshlq_n_u32): Likewise. - (vrshrq_n_u32): Likewise. - (vqshlq_n_u32): Likewise. - (vcmpneq_n_s32): Likewise. - (vcmpltq_s32): Likewise. - (vcmpltq_n_s32): Likewise. - (vcmpleq_s32): Likewise. - (vcmpleq_n_s32): Likewise. - (vcmpgtq_s32): Likewise. - (vcmpgtq_n_s32): Likewise. - (vcmpgeq_s32): Likewise. - (vcmpgeq_n_s32): Likewise. - (vcmpeqq_s32): Likewise. - (vcmpeqq_n_s32): Likewise. - (vqshluq_n_s32): Likewise. - (vaddvq_p_s32): Likewise. - (vsubq_s32): Likewise. - (vsubq_n_s32): Likewise. - (vshlq_r_s32): Likewise. - (vrshlq_s32): Likewise. - (vrshlq_n_s32): Likewise. - (vrmulhq_s32): Likewise. - (vrhaddq_s32): Likewise. - (vqsubq_s32): Likewise. - (vqsubq_n_s32): Likewise. - (vqshlq_s32): Likewise. - (vqshlq_r_s32): Likewise. - (vqrshlq_s32): Likewise. - (vqrshlq_n_s32): Likewise. - (vqrdmulhq_s32): Likewise. - (vqrdmulhq_n_s32): Likewise. - (vqdmulhq_s32): Likewise. - (vqdmulhq_n_s32): Likewise. - (vqaddq_s32): Likewise. - (vqaddq_n_s32): Likewise. - (vorrq_s32): Likewise. - (vornq_s32): Likewise. - (vmulq_s32): Likewise. - (vmulq_n_s32): Likewise. - (vmulltq_int_s32): Likewise. - (vmullbq_int_s32): Likewise. - (vmulhq_s32): Likewise. - (vmlsdavxq_s32): Likewise. - (vmlsdavq_s32): Likewise. - (vmladavxq_s32): Likewise. - (vmladavq_s32): Likewise. - (vminvq_s32): Likewise. - (vminq_s32): Likewise. - (vmaxvq_s32): Likewise. - (vmaxq_s32): Likewise. - (vhsubq_s32): Likewise. - (vhsubq_n_s32): Likewise. - (vhcaddq_rot90_s32): Likewise. - (vhcaddq_rot270_s32): Likewise. - (vhaddq_s32): Likewise. - (vhaddq_n_s32): Likewise. - (veorq_s32): Likewise. - (vcaddq_rot90_s32): Likewise. - (vcaddq_rot270_s32): Likewise. - (vbrsrq_n_s32): Likewise. - (vbicq_s32): Likewise. - (vandq_s32): Likewise. - (vaddvaq_s32): Likewise. - (vaddq_n_s32): Likewise. - (vabdq_s32): Likewise. - (vshlq_n_s32): Likewise. - (vrshrq_n_s32): Likewise. - (vqshlq_n_s32): Likewise. - (__arm_vsubq_u8): Define intrinsic. - (__arm_vsubq_n_u8): Likewise. - (__arm_vrmulhq_u8): Likewise. - (__arm_vrhaddq_u8): Likewise. - (__arm_vqsubq_u8): Likewise. - (__arm_vqsubq_n_u8): Likewise. - (__arm_vqaddq_u8): Likewise. - (__arm_vqaddq_n_u8): Likewise. - (__arm_vorrq_u8): Likewise. - (__arm_vornq_u8): Likewise. - (__arm_vmulq_u8): Likewise. - (__arm_vmulq_n_u8): Likewise. - (__arm_vmulltq_int_u8): Likewise. - (__arm_vmullbq_int_u8): Likewise. - (__arm_vmulhq_u8): Likewise. - (__arm_vmladavq_u8): Likewise. - (__arm_vminvq_u8): Likewise. - (__arm_vminq_u8): Likewise. - (__arm_vmaxvq_u8): Likewise. - (__arm_vmaxq_u8): Likewise. - (__arm_vhsubq_u8): Likewise. - (__arm_vhsubq_n_u8): Likewise. - (__arm_vhaddq_u8): Likewise. - (__arm_vhaddq_n_u8): Likewise. - (__arm_veorq_u8): Likewise. - (__arm_vcmpneq_n_u8): Likewise. - (__arm_vcmphiq_u8): Likewise. - (__arm_vcmphiq_n_u8): Likewise. - (__arm_vcmpeqq_u8): Likewise. - (__arm_vcmpeqq_n_u8): Likewise. - (__arm_vcmpcsq_u8): Likewise. - (__arm_vcmpcsq_n_u8): Likewise. - (__arm_vcaddq_rot90_u8): Likewise. - (__arm_vcaddq_rot270_u8): Likewise. - (__arm_vbicq_u8): Likewise. - (__arm_vandq_u8): Likewise. - (__arm_vaddvq_p_u8): Likewise. - (__arm_vaddvaq_u8): Likewise. - (__arm_vaddq_n_u8): Likewise. - (__arm_vabdq_u8): Likewise. - (__arm_vshlq_r_u8): Likewise. - (__arm_vrshlq_u8): Likewise. - (__arm_vrshlq_n_u8): Likewise. - (__arm_vqshlq_u8): Likewise. - (__arm_vqshlq_r_u8): Likewise. - (__arm_vqrshlq_u8): Likewise. - (__arm_vqrshlq_n_u8): Likewise. - (__arm_vminavq_s8): Likewise. - (__arm_vminaq_s8): Likewise. - (__arm_vmaxavq_s8): Likewise. - (__arm_vmaxaq_s8): Likewise. - (__arm_vbrsrq_n_u8): Likewise. - (__arm_vshlq_n_u8): Likewise. - (__arm_vrshrq_n_u8): Likewise. - (__arm_vqshlq_n_u8): Likewise. - (__arm_vcmpneq_n_s8): Likewise. - (__arm_vcmpltq_s8): Likewise. - (__arm_vcmpltq_n_s8): Likewise. - (__arm_vcmpleq_s8): Likewise. - (__arm_vcmpleq_n_s8): Likewise. - (__arm_vcmpgtq_s8): Likewise. - (__arm_vcmpgtq_n_s8): Likewise. - (__arm_vcmpgeq_s8): Likewise. - (__arm_vcmpgeq_n_s8): Likewise. - (__arm_vcmpeqq_s8): Likewise. - (__arm_vcmpeqq_n_s8): Likewise. - (__arm_vqshluq_n_s8): Likewise. - (__arm_vaddvq_p_s8): Likewise. - (__arm_vsubq_s8): Likewise. - (__arm_vsubq_n_s8): Likewise. - (__arm_vshlq_r_s8): Likewise. - (__arm_vrshlq_s8): Likewise. - (__arm_vrshlq_n_s8): Likewise. - (__arm_vrmulhq_s8): Likewise. - (__arm_vrhaddq_s8): Likewise. - (__arm_vqsubq_s8): Likewise. - (__arm_vqsubq_n_s8): Likewise. - (__arm_vqshlq_s8): Likewise. - (__arm_vqshlq_r_s8): Likewise. - (__arm_vqrshlq_s8): Likewise. - (__arm_vqrshlq_n_s8): Likewise. - (__arm_vqrdmulhq_s8): Likewise. - (__arm_vqrdmulhq_n_s8): Likewise. - (__arm_vqdmulhq_s8): Likewise. - (__arm_vqdmulhq_n_s8): Likewise. - (__arm_vqaddq_s8): Likewise. - (__arm_vqaddq_n_s8): Likewise. - (__arm_vorrq_s8): Likewise. - (__arm_vornq_s8): Likewise. - (__arm_vmulq_s8): Likewise. - (__arm_vmulq_n_s8): Likewise. - (__arm_vmulltq_int_s8): Likewise. - (__arm_vmullbq_int_s8): Likewise. - (__arm_vmulhq_s8): Likewise. - (__arm_vmlsdavxq_s8): Likewise. - (__arm_vmlsdavq_s8): Likewise. - (__arm_vmladavxq_s8): Likewise. - (__arm_vmladavq_s8): Likewise. - (__arm_vminvq_s8): Likewise. - (__arm_vminq_s8): Likewise. - (__arm_vmaxvq_s8): Likewise. - (__arm_vmaxq_s8): Likewise. - (__arm_vhsubq_s8): Likewise. - (__arm_vhsubq_n_s8): Likewise. - (__arm_vhcaddq_rot90_s8): Likewise. - (__arm_vhcaddq_rot270_s8): Likewise. - (__arm_vhaddq_s8): Likewise. - (__arm_vhaddq_n_s8): Likewise. - (__arm_veorq_s8): Likewise. - (__arm_vcaddq_rot90_s8): Likewise. - (__arm_vcaddq_rot270_s8): Likewise. - (__arm_vbrsrq_n_s8): Likewise. - (__arm_vbicq_s8): Likewise. - (__arm_vandq_s8): Likewise. - (__arm_vaddvaq_s8): Likewise. - (__arm_vaddq_n_s8): Likewise. - (__arm_vabdq_s8): Likewise. - (__arm_vshlq_n_s8): Likewise. - (__arm_vrshrq_n_s8): Likewise. - (__arm_vqshlq_n_s8): Likewise. - (__arm_vsubq_u16): Likewise. - (__arm_vsubq_n_u16): Likewise. - (__arm_vrmulhq_u16): Likewise. - (__arm_vrhaddq_u16): Likewise. - (__arm_vqsubq_u16): Likewise. - (__arm_vqsubq_n_u16): Likewise. - (__arm_vqaddq_u16): Likewise. - (__arm_vqaddq_n_u16): Likewise. - (__arm_vorrq_u16): Likewise. - (__arm_vornq_u16): Likewise. - (__arm_vmulq_u16): Likewise. - (__arm_vmulq_n_u16): Likewise. - (__arm_vmulltq_int_u16): Likewise. - (__arm_vmullbq_int_u16): Likewise. - (__arm_vmulhq_u16): Likewise. - (__arm_vmladavq_u16): Likewise. - (__arm_vminvq_u16): Likewise. - (__arm_vminq_u16): Likewise. - (__arm_vmaxvq_u16): Likewise. - (__arm_vmaxq_u16): Likewise. - (__arm_vhsubq_u16): Likewise. - (__arm_vhsubq_n_u16): Likewise. - (__arm_vhaddq_u16): Likewise. - (__arm_vhaddq_n_u16): Likewise. - (__arm_veorq_u16): Likewise. - (__arm_vcmpneq_n_u16): Likewise. - (__arm_vcmphiq_u16): Likewise. - (__arm_vcmphiq_n_u16): Likewise. - (__arm_vcmpeqq_u16): Likewise. - (__arm_vcmpeqq_n_u16): Likewise. - (__arm_vcmpcsq_u16): Likewise. - (__arm_vcmpcsq_n_u16): Likewise. - (__arm_vcaddq_rot90_u16): Likewise. - (__arm_vcaddq_rot270_u16): Likewise. - (__arm_vbicq_u16): Likewise. - (__arm_vandq_u16): Likewise. - (__arm_vaddvq_p_u16): Likewise. - (__arm_vaddvaq_u16): Likewise. - (__arm_vaddq_n_u16): Likewise. - (__arm_vabdq_u16): Likewise. - (__arm_vshlq_r_u16): Likewise. - (__arm_vrshlq_u16): Likewise. - (__arm_vrshlq_n_u16): Likewise. - (__arm_vqshlq_u16): Likewise. - (__arm_vqshlq_r_u16): Likewise. - (__arm_vqrshlq_u16): Likewise. - (__arm_vqrshlq_n_u16): Likewise. - (__arm_vminavq_s16): Likewise. - (__arm_vminaq_s16): Likewise. - (__arm_vmaxavq_s16): Likewise. - (__arm_vmaxaq_s16): Likewise. - (__arm_vbrsrq_n_u16): Likewise. - (__arm_vshlq_n_u16): Likewise. - (__arm_vrshrq_n_u16): Likewise. - (__arm_vqshlq_n_u16): Likewise. - (__arm_vcmpneq_n_s16): Likewise. - (__arm_vcmpltq_s16): Likewise. - (__arm_vcmpltq_n_s16): Likewise. - (__arm_vcmpleq_s16): Likewise. - (__arm_vcmpleq_n_s16): Likewise. - (__arm_vcmpgtq_s16): Likewise. - (__arm_vcmpgtq_n_s16): Likewise. - (__arm_vcmpgeq_s16): Likewise. - (__arm_vcmpgeq_n_s16): Likewise. - (__arm_vcmpeqq_s16): Likewise. - (__arm_vcmpeqq_n_s16): Likewise. - (__arm_vqshluq_n_s16): Likewise. - (__arm_vaddvq_p_s16): Likewise. - (__arm_vsubq_s16): Likewise. - (__arm_vsubq_n_s16): Likewise. - (__arm_vshlq_r_s16): Likewise. - (__arm_vrshlq_s16): Likewise. - (__arm_vrshlq_n_s16): Likewise. - (__arm_vrmulhq_s16): Likewise. - (__arm_vrhaddq_s16): Likewise. - (__arm_vqsubq_s16): Likewise. - (__arm_vqsubq_n_s16): Likewise. - (__arm_vqshlq_s16): Likewise. - (__arm_vqshlq_r_s16): Likewise. - (__arm_vqrshlq_s16): Likewise. - (__arm_vqrshlq_n_s16): Likewise. - (__arm_vqrdmulhq_s16): Likewise. - (__arm_vqrdmulhq_n_s16): Likewise. - (__arm_vqdmulhq_s16): Likewise. - (__arm_vqdmulhq_n_s16): Likewise. - (__arm_vqaddq_s16): Likewise. - (__arm_vqaddq_n_s16): Likewise. - (__arm_vorrq_s16): Likewise. - (__arm_vornq_s16): Likewise. - (__arm_vmulq_s16): Likewise. - (__arm_vmulq_n_s16): Likewise. - (__arm_vmulltq_int_s16): Likewise. - (__arm_vmullbq_int_s16): Likewise. - (__arm_vmulhq_s16): Likewise. - (__arm_vmlsdavxq_s16): Likewise. - (__arm_vmlsdavq_s16): Likewise. - (__arm_vmladavxq_s16): Likewise. - (__arm_vmladavq_s16): Likewise. - (__arm_vminvq_s16): Likewise. - (__arm_vminq_s16): Likewise. - (__arm_vmaxvq_s16): Likewise. - (__arm_vmaxq_s16): Likewise. - (__arm_vhsubq_s16): Likewise. - (__arm_vhsubq_n_s16): Likewise. - (__arm_vhcaddq_rot90_s16): Likewise. - (__arm_vhcaddq_rot270_s16): Likewise. - (__arm_vhaddq_s16): Likewise. - (__arm_vhaddq_n_s16): Likewise. - (__arm_veorq_s16): Likewise. - (__arm_vcaddq_rot90_s16): Likewise. - (__arm_vcaddq_rot270_s16): Likewise. - (__arm_vbrsrq_n_s16): Likewise. - (__arm_vbicq_s16): Likewise. - (__arm_vandq_s16): Likewise. - (__arm_vaddvaq_s16): Likewise. - (__arm_vaddq_n_s16): Likewise. - (__arm_vabdq_s16): Likewise. - (__arm_vshlq_n_s16): Likewise. - (__arm_vrshrq_n_s16): Likewise. - (__arm_vqshlq_n_s16): Likewise. - (__arm_vsubq_u32): Likewise. - (__arm_vsubq_n_u32): Likewise. - (__arm_vrmulhq_u32): Likewise. - (__arm_vrhaddq_u32): Likewise. - (__arm_vqsubq_u32): Likewise. - (__arm_vqsubq_n_u32): Likewise. - (__arm_vqaddq_u32): Likewise. - (__arm_vqaddq_n_u32): Likewise. - (__arm_vorrq_u32): Likewise. - (__arm_vornq_u32): Likewise. - (__arm_vmulq_u32): Likewise. - (__arm_vmulq_n_u32): Likewise. - (__arm_vmulltq_int_u32): Likewise. - (__arm_vmullbq_int_u32): Likewise. - (__arm_vmulhq_u32): Likewise. - (__arm_vmladavq_u32): Likewise. - (__arm_vminvq_u32): Likewise. - (__arm_vminq_u32): Likewise. - (__arm_vmaxvq_u32): Likewise. - (__arm_vmaxq_u32): Likewise. - (__arm_vhsubq_u32): Likewise. - (__arm_vhsubq_n_u32): Likewise. - (__arm_vhaddq_u32): Likewise. - (__arm_vhaddq_n_u32): Likewise. - (__arm_veorq_u32): Likewise. - (__arm_vcmpneq_n_u32): Likewise. - (__arm_vcmphiq_u32): Likewise. - (__arm_vcmphiq_n_u32): Likewise. - (__arm_vcmpeqq_u32): Likewise. - (__arm_vcmpeqq_n_u32): Likewise. - (__arm_vcmpcsq_u32): Likewise. - (__arm_vcmpcsq_n_u32): Likewise. - (__arm_vcaddq_rot90_u32): Likewise. - (__arm_vcaddq_rot270_u32): Likewise. - (__arm_vbicq_u32): Likewise. - (__arm_vandq_u32): Likewise. - (__arm_vaddvq_p_u32): Likewise. - (__arm_vaddvaq_u32): Likewise. - (__arm_vaddq_n_u32): Likewise. - (__arm_vabdq_u32): Likewise. - (__arm_vshlq_r_u32): Likewise. - (__arm_vrshlq_u32): Likewise. - (__arm_vrshlq_n_u32): Likewise. - (__arm_vqshlq_u32): Likewise. - (__arm_vqshlq_r_u32): Likewise. - (__arm_vqrshlq_u32): Likewise. - (__arm_vqrshlq_n_u32): Likewise. - (__arm_vminavq_s32): Likewise. - (__arm_vminaq_s32): Likewise. - (__arm_vmaxavq_s32): Likewise. - (__arm_vmaxaq_s32): Likewise. - (__arm_vbrsrq_n_u32): Likewise. - (__arm_vshlq_n_u32): Likewise. - (__arm_vrshrq_n_u32): Likewise. - (__arm_vqshlq_n_u32): Likewise. - (__arm_vcmpneq_n_s32): Likewise. - (__arm_vcmpltq_s32): Likewise. - (__arm_vcmpltq_n_s32): Likewise. - (__arm_vcmpleq_s32): Likewise. - (__arm_vcmpleq_n_s32): Likewise. - (__arm_vcmpgtq_s32): Likewise. - (__arm_vcmpgtq_n_s32): Likewise. - (__arm_vcmpgeq_s32): Likewise. - (__arm_vcmpgeq_n_s32): Likewise. - (__arm_vcmpeqq_s32): Likewise. - (__arm_vcmpeqq_n_s32): Likewise. - (__arm_vqshluq_n_s32): Likewise. - (__arm_vaddvq_p_s32): Likewise. - (__arm_vsubq_s32): Likewise. - (__arm_vsubq_n_s32): Likewise. - (__arm_vshlq_r_s32): Likewise. - (__arm_vrshlq_s32): Likewise. - (__arm_vrshlq_n_s32): Likewise. - (__arm_vrmulhq_s32): Likewise. - (__arm_vrhaddq_s32): Likewise. - (__arm_vqsubq_s32): Likewise. - (__arm_vqsubq_n_s32): Likewise. - (__arm_vqshlq_s32): Likewise. - (__arm_vqshlq_r_s32): Likewise. - (__arm_vqrshlq_s32): Likewise. - (__arm_vqrshlq_n_s32): Likewise. - (__arm_vqrdmulhq_s32): Likewise. - (__arm_vqrdmulhq_n_s32): Likewise. - (__arm_vqdmulhq_s32): Likewise. - (__arm_vqdmulhq_n_s32): Likewise. - (__arm_vqaddq_s32): Likewise. - (__arm_vqaddq_n_s32): Likewise. - (__arm_vorrq_s32): Likewise. - (__arm_vornq_s32): Likewise. - (__arm_vmulq_s32): Likewise. - (__arm_vmulq_n_s32): Likewise. - (__arm_vmulltq_int_s32): Likewise. - (__arm_vmullbq_int_s32): Likewise. - (__arm_vmulhq_s32): Likewise. - (__arm_vmlsdavxq_s32): Likewise. - (__arm_vmlsdavq_s32): Likewise. - (__arm_vmladavxq_s32): Likewise. - (__arm_vmladavq_s32): Likewise. - (__arm_vminvq_s32): Likewise. - (__arm_vminq_s32): Likewise. - (__arm_vmaxvq_s32): Likewise. - (__arm_vmaxq_s32): Likewise. - (__arm_vhsubq_s32): Likewise. - (__arm_vhsubq_n_s32): Likewise. - (__arm_vhcaddq_rot90_s32): Likewise. - (__arm_vhcaddq_rot270_s32): Likewise. - (__arm_vhaddq_s32): Likewise. - (__arm_vhaddq_n_s32): Likewise. - (__arm_veorq_s32): Likewise. - (__arm_vcaddq_rot90_s32): Likewise. - (__arm_vcaddq_rot270_s32): Likewise. - (__arm_vbrsrq_n_s32): Likewise. - (__arm_vbicq_s32): Likewise. - (__arm_vandq_s32): Likewise. - (__arm_vaddvaq_s32): Likewise. - (__arm_vaddq_n_s32): Likewise. - (__arm_vabdq_s32): Likewise. - (__arm_vshlq_n_s32): Likewise. - (__arm_vrshrq_n_s32): Likewise. - (__arm_vqshlq_n_s32): Likewise. - (vsubq): Define polymorphic variant. - (vsubq_n): Likewise. - (vshlq_r): Likewise. - (vrshlq_n): Likewise. - (vrshlq): Likewise. - (vrmulhq): Likewise. - (vrhaddq): Likewise. - (vqsubq_n): Likewise. - (vqsubq): Likewise. - (vqshlq): Likewise. - (vqshlq_r): Likewise. - (vqshluq): Likewise. - (vrshrq_n): Likewise. - (vshlq_n): Likewise. - (vqshluq_n): Likewise. - (vqshlq_n): Likewise. - (vqrshlq_n): Likewise. - (vqrshlq): Likewise. - (vqrdmulhq_n): Likewise. - (vqrdmulhq): Likewise. - (vqdmulhq_n): Likewise. - (vqdmulhq): Likewise. - (vqaddq_n): Likewise. - (vqaddq): Likewise. - (vorrq_n): Likewise. - (vorrq): Likewise. - (vornq): Likewise. - (vmulq_n): Likewise. - (vmulq): Likewise. - (vmulltq_int): Likewise. - (vmullbq_int): Likewise. - (vmulhq): Likewise. - (vminq): Likewise. - (vminaq): Likewise. - (vmaxq): Likewise. - (vmaxaq): Likewise. - (vhsubq_n): Likewise. - (vhsubq): Likewise. - (vhcaddq_rot90): Likewise. - (vhcaddq_rot270): Likewise. - (vhaddq_n): Likewise. - (vhaddq): Likewise. - (veorq): Likewise. - (vcaddq_rot90): Likewise. - (vcaddq_rot270): Likewise. - (vbrsrq_n): Likewise. - (vbicq_n): Likewise. - (vbicq): Likewise. - (vaddq): Likewise. - (vaddq_n): Likewise. - (vandq): Likewise. - (vabdq): Likewise. - * config/arm/arm_mve_builtins.def (BINOP_NONE_NONE_IMM): Use it. - (BINOP_NONE_NONE_NONE): Likewise. - (BINOP_NONE_NONE_UNONE): Likewise. - (BINOP_UNONE_NONE_IMM): Likewise. - (BINOP_UNONE_NONE_NONE): Likewise. - (BINOP_UNONE_UNONE_IMM): Likewise. - (BINOP_UNONE_UNONE_NONE): Likewise. - (BINOP_UNONE_UNONE_UNONE): Likewise. - * config/arm/constraints.md (Ra): Define constraint to check constant is - in the range of 0 to 7. - (Rg): Define constriant to check the constant is one among 1, 2, 4 - and 8. - * config/arm/mve.md (mve_vabdq_): Define RTL pattern. - (mve_vaddq_n_): Likewise. - (mve_vaddvaq_): Likewise. - (mve_vaddvq_p_): Likewise. - (mve_vandq_): Likewise. - (mve_vbicq_): Likewise. - (mve_vbrsrq_n_): Likewise. - (mve_vcaddq_rot270_): Likewise. - (mve_vcaddq_rot90_): Likewise. - (mve_vcmpcsq_n_u): Likewise. - (mve_vcmpcsq_u): Likewise. - (mve_vcmpeqq_n_): Likewise. - (mve_vcmpeqq_): Likewise. - (mve_vcmpgeq_n_s): Likewise. - (mve_vcmpgeq_s): Likewise. - (mve_vcmpgtq_n_s): Likewise. - (mve_vcmpgtq_s): Likewise. - (mve_vcmphiq_n_u): Likewise. - (mve_vcmphiq_u): Likewise. - (mve_vcmpleq_n_s): Likewise. - (mve_vcmpleq_s): Likewise. - (mve_vcmpltq_n_s): Likewise. - (mve_vcmpltq_s): Likewise. - (mve_vcmpneq_n_): Likewise. - (mve_vddupq_n_u): Likewise. - (mve_veorq_): Likewise. - (mve_vhaddq_n_): Likewise. - (mve_vhaddq_): Likewise. - (mve_vhcaddq_rot270_s): Likewise. - (mve_vhcaddq_rot90_s): Likewise. - (mve_vhsubq_n_): Likewise. - (mve_vhsubq_): Likewise. - (mve_vidupq_n_u): Likewise. - (mve_vmaxaq_s): Likewise. - (mve_vmaxavq_s): Likewise. - (mve_vmaxq_): Likewise. - (mve_vmaxvq_): Likewise. - (mve_vminaq_s): Likewise. - (mve_vminavq_s): Likewise. - (mve_vminq_): Likewise. - (mve_vminvq_): Likewise. - (mve_vmladavq_): Likewise. - (mve_vmladavxq_s): Likewise. - (mve_vmlsdavq_s): Likewise. - (mve_vmlsdavxq_s): Likewise. - (mve_vmulhq_): Likewise. - (mve_vmullbq_int_): Likewise. - (mve_vmulltq_int_): Likewise. - (mve_vmulq_n_): Likewise. - (mve_vmulq_): Likewise. - (mve_vornq_): Likewise. - (mve_vorrq_): Likewise. - (mve_vqaddq_n_): Likewise. - (mve_vqaddq_): Likewise. - (mve_vqdmulhq_n_s): Likewise. - (mve_vqdmulhq_s): Likewise. - (mve_vqrdmulhq_n_s): Likewise. - (mve_vqrdmulhq_s): Likewise. - (mve_vqrshlq_n_): Likewise. - (mve_vqrshlq_): Likewise. - (mve_vqshlq_n_): Likewise. - (mve_vqshlq_r_): Likewise. - (mve_vqshlq_): Likewise. - (mve_vqshluq_n_s): Likewise. - (mve_vqsubq_n_): Likewise. - (mve_vqsubq_): Likewise. - (mve_vrhaddq_): Likewise. - (mve_vrmulhq_): Likewise. - (mve_vrshlq_n_): Likewise. - (mve_vrshlq_): Likewise. - (mve_vrshrq_n_): Likewise. - (mve_vshlq_n_): Likewise. - (mve_vshlq_r_): Likewise. - (mve_vsubq_n_): Likewise. - (mve_vsubq_): Likewise. - * config/arm/predicates.md (mve_imm_7): Define predicate to check - the matching constraint Ra. - (mve_imm_selective_upto_8): Define predicate to check the matching - constraint Rg. - -2020-03-17 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * config/arm/arm-builtins.c (BINOP_NONE_NONE_UNONE_QUALIFIERS): Define - qualifier for binary operands. - (BINOP_UNONE_NONE_NONE_QUALIFIERS): Likewise. - (BINOP_UNONE_UNONE_NONE_QUALIFIERS): Likewise. - * config/arm/arm_mve.h (vaddlvq_p_s32): Define macro. - (vaddlvq_p_u32): Likewise. - (vcmpneq_s8): Likewise. - (vcmpneq_s16): Likewise. - (vcmpneq_s32): Likewise. - (vcmpneq_u8): Likewise. - (vcmpneq_u16): Likewise. - (vcmpneq_u32): Likewise. - (vshlq_s8): Likewise. - (vshlq_s16): Likewise. - (vshlq_s32): Likewise. - (vshlq_u8): Likewise. - (vshlq_u16): Likewise. - (vshlq_u32): Likewise. - (__arm_vaddlvq_p_s32): Define intrinsic. - (__arm_vaddlvq_p_u32): Likewise. - (__arm_vcmpneq_s8): Likewise. - (__arm_vcmpneq_s16): Likewise. - (__arm_vcmpneq_s32): Likewise. - (__arm_vcmpneq_u8): Likewise. - (__arm_vcmpneq_u16): Likewise. - (__arm_vcmpneq_u32): Likewise. - (__arm_vshlq_s8): Likewise. - (__arm_vshlq_s16): Likewise. - (__arm_vshlq_s32): Likewise. - (__arm_vshlq_u8): Likewise. - (__arm_vshlq_u16): Likewise. - (__arm_vshlq_u32): Likewise. - (vaddlvq_p): Define polymorphic variant. - (vcmpneq): Likewise. - (vshlq): Likewise. - * config/arm/arm_mve_builtins.def (BINOP_NONE_NONE_UNONE_QUALIFIERS): - Use it. - (BINOP_UNONE_NONE_NONE_QUALIFIERS): Likewise. - (BINOP_UNONE_UNONE_NONE_QUALIFIERS): Likewise. - * config/arm/mve.md (mve_vaddlvq_p_v4si): Define RTL pattern. - (mve_vcmpneq_): Likewise. - (mve_vshlq_): Likewise. - -2020-03-17 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * config/arm/arm-builtins.c (BINOP_UNONE_UNONE_IMM_QUALIFIERS): Define - qualifier for binary operands. - (BINOP_UNONE_UNONE_UNONE_QUALIFIERS): Likewise. - (BINOP_UNONE_NONE_IMM_QUALIFIERS): Likewise. - * config/arm/arm_mve.h (vcvtq_n_s16_f16): Define macro. - (vcvtq_n_s32_f32): Likewise. - (vcvtq_n_u16_f16): Likewise. - (vcvtq_n_u32_f32): Likewise. - (vcreateq_u8): Likewise. - (vcreateq_u16): Likewise. - (vcreateq_u32): Likewise. - (vcreateq_u64): Likewise. - (vcreateq_s8): Likewise. - (vcreateq_s16): Likewise. - (vcreateq_s32): Likewise. - (vcreateq_s64): Likewise. - (vshrq_n_s8): Likewise. - (vshrq_n_s16): Likewise. - (vshrq_n_s32): Likewise. - (vshrq_n_u8): Likewise. - (vshrq_n_u16): Likewise. - (vshrq_n_u32): Likewise. - (__arm_vcreateq_u8): Define intrinsic. - (__arm_vcreateq_u16): Likewise. - (__arm_vcreateq_u32): Likewise. - (__arm_vcreateq_u64): Likewise. - (__arm_vcreateq_s8): Likewise. - (__arm_vcreateq_s16): Likewise. - (__arm_vcreateq_s32): Likewise. - (__arm_vcreateq_s64): Likewise. - (__arm_vshrq_n_s8): Likewise. - (__arm_vshrq_n_s16): Likewise. - (__arm_vshrq_n_s32): Likewise. - (__arm_vshrq_n_u8): Likewise. - (__arm_vshrq_n_u16): Likewise. - (__arm_vshrq_n_u32): Likewise. - (__arm_vcvtq_n_s16_f16): Likewise. - (__arm_vcvtq_n_s32_f32): Likewise. - (__arm_vcvtq_n_u16_f16): Likewise. - (__arm_vcvtq_n_u32_f32): Likewise. - (vshrq_n): Define polymorphic variant. - * config/arm/arm_mve_builtins.def (BINOP_UNONE_UNONE_IMM_QUALIFIERS): - Use it. - (BINOP_UNONE_UNONE_UNONE_QUALIFIERS): Likewise. - (BINOP_UNONE_NONE_IMM_QUALIFIERS): Likewise. - * config/arm/constraints.md (Rb): Define constraint to check constant is - in the range of 1 to 8. - (Rf): Define constraint to check constant is in the range of 1 to 32. - * config/arm/mve.md (mve_vcreateq_): Define RTL pattern. - (mve_vshrq_n_): Likewise. - (mve_vcvtq_n_from_f_): Likewise. - * config/arm/predicates.md (mve_imm_8): Define predicate to check - the matching constraint Rb. - (mve_imm_32): Define predicate to check the matching constraint Rf. - -2020-03-17 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * config/arm/arm-builtins.c (BINOP_NONE_NONE_NONE_QUALIFIERS): Define - qualifier for binary operands. - (BINOP_NONE_NONE_IMM_QUALIFIERS): Likewise. - (BINOP_NONE_UNONE_IMM_QUALIFIERS): Likewise. - (BINOP_NONE_UNONE_UNONE_QUALIFIERS): Likewise. - * config/arm/arm_mve.h (vsubq_n_f16): Define macro. - (vsubq_n_f32): Likewise. - (vbrsrq_n_f16): Likewise. - (vbrsrq_n_f32): Likewise. - (vcvtq_n_f16_s16): Likewise. - (vcvtq_n_f32_s32): Likewise. - (vcvtq_n_f16_u16): Likewise. - (vcvtq_n_f32_u32): Likewise. - (vcreateq_f16): Likewise. - (vcreateq_f32): Likewise. - (__arm_vsubq_n_f16): Define intrinsic. - (__arm_vsubq_n_f32): Likewise. - (__arm_vbrsrq_n_f16): Likewise. - (__arm_vbrsrq_n_f32): Likewise. - (__arm_vcvtq_n_f16_s16): Likewise. - (__arm_vcvtq_n_f32_s32): Likewise. - (__arm_vcvtq_n_f16_u16): Likewise. - (__arm_vcvtq_n_f32_u32): Likewise. - (__arm_vcreateq_f16): Likewise. - (__arm_vcreateq_f32): Likewise. - (vsubq): Define polymorphic variant. - (vbrsrq): Likewise. - (vcvtq_n): Likewise. - * config/arm/arm_mve_builtins.def (BINOP_NONE_NONE_NONE_QUALIFIERS): Use - it. - (BINOP_NONE_NONE_IMM_QUALIFIERS): Likewise. - (BINOP_NONE_UNONE_IMM_QUALIFIERS): Likewise. - (BINOP_NONE_UNONE_UNONE_QUALIFIERS): Likewise. - * config/arm/constraints.md (Rd): Define constraint to check constant is - in the range of 1 to 16. - * config/arm/mve.md (mve_vsubq_n_f): Define RTL pattern. - mve_vbrsrq_n_f: Likewise. - mve_vcvtq_n_to_f_: Likewise. - mve_vcreateq_f: Likewise. - * config/arm/predicates.md (mve_imm_16): Define predicate to check - the matching constraint Rd. - -2020-03-17 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * config/arm/arm-builtins.c (hi_UP): Define mode. - * config/arm/arm.h (IS_VPR_REGNUM): Move. - * config/arm/arm.md (VPR_REGNUM): Define before APSRQ_REGNUM. - (APSRQ_REGNUM): Modify. - (APSRGE_REGNUM): Modify. - * config/arm/arm_mve.h (vctp16q): Define macro. - (vctp32q): Likewise. - (vctp64q): Likewise. - (vctp8q): Likewise. - (vpnot): Likewise. - (__arm_vctp16q): Define intrinsic. - (__arm_vctp32q): Likewise. - (__arm_vctp64q): Likewise. - (__arm_vctp8q): Likewise. - (__arm_vpnot): Likewise. - * config/arm/arm_mve_builtins.def (UNOP_UNONE_UNONE): Use builtin - qualifier. - * config/arm/mve.md (mve_vctpqhi): Define RTL pattern. - (mve_vpnothi): Likewise. - -2020-03-17 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * config/arm/arm.h (enum reg_class): Define new class EVEN_REGS. - * config/arm/arm_mve.h (vdupq_n_s8): Define macro. - (vdupq_n_s16): Likewise. - (vdupq_n_s32): Likewise. - (vabsq_s8): Likewise. - (vabsq_s16): Likewise. - (vabsq_s32): Likewise. - (vclsq_s8): Likewise. - (vclsq_s16): Likewise. - (vclsq_s32): Likewise. - (vclzq_s8): Likewise. - (vclzq_s16): Likewise. - (vclzq_s32): Likewise. - (vnegq_s8): Likewise. - (vnegq_s16): Likewise. - (vnegq_s32): Likewise. - (vaddlvq_s32): Likewise. - (vaddvq_s8): Likewise. - (vaddvq_s16): Likewise. - (vaddvq_s32): Likewise. - (vmovlbq_s8): Likewise. - (vmovlbq_s16): Likewise. - (vmovltq_s8): Likewise. - (vmovltq_s16): Likewise. - (vmvnq_s8): Likewise. - (vmvnq_s16): Likewise. - (vmvnq_s32): Likewise. - (vrev16q_s8): Likewise. - (vrev32q_s8): Likewise. - (vrev32q_s16): Likewise. - (vqabsq_s8): Likewise. - (vqabsq_s16): Likewise. - (vqabsq_s32): Likewise. - (vqnegq_s8): Likewise. - (vqnegq_s16): Likewise. - (vqnegq_s32): Likewise. - (vcvtaq_s16_f16): Likewise. - (vcvtaq_s32_f32): Likewise. - (vcvtnq_s16_f16): Likewise. - (vcvtnq_s32_f32): Likewise. - (vcvtpq_s16_f16): Likewise. - (vcvtpq_s32_f32): Likewise. - (vcvtmq_s16_f16): Likewise. - (vcvtmq_s32_f32): Likewise. - (vmvnq_u8): Likewise. - (vmvnq_u16): Likewise. - (vmvnq_u32): Likewise. - (vdupq_n_u8): Likewise. - (vdupq_n_u16): Likewise. - (vdupq_n_u32): Likewise. - (vclzq_u8): Likewise. - (vclzq_u16): Likewise. - (vclzq_u32): Likewise. - (vaddvq_u8): Likewise. - (vaddvq_u16): Likewise. - (vaddvq_u32): Likewise. - (vrev32q_u8): Likewise. - (vrev32q_u16): Likewise. - (vmovltq_u8): Likewise. - (vmovltq_u16): Likewise. - (vmovlbq_u8): Likewise. - (vmovlbq_u16): Likewise. - (vrev16q_u8): Likewise. - (vaddlvq_u32): Likewise. - (vcvtpq_u16_f16): Likewise. - (vcvtpq_u32_f32): Likewise. - (vcvtnq_u16_f16): Likewise. - (vcvtmq_u16_f16): Likewise. - (vcvtmq_u32_f32): Likewise. - (vcvtaq_u16_f16): Likewise. - (vcvtaq_u32_f32): Likewise. - (__arm_vdupq_n_s8): Define intrinsic. - (__arm_vdupq_n_s16): Likewise. - (__arm_vdupq_n_s32): Likewise. - (__arm_vabsq_s8): Likewise. - (__arm_vabsq_s16): Likewise. - (__arm_vabsq_s32): Likewise. - (__arm_vclsq_s8): Likewise. - (__arm_vclsq_s16): Likewise. - (__arm_vclsq_s32): Likewise. - (__arm_vclzq_s8): Likewise. - (__arm_vclzq_s16): Likewise. - (__arm_vclzq_s32): Likewise. - (__arm_vnegq_s8): Likewise. - (__arm_vnegq_s16): Likewise. - (__arm_vnegq_s32): Likewise. - (__arm_vaddlvq_s32): Likewise. - (__arm_vaddvq_s8): Likewise. - (__arm_vaddvq_s16): Likewise. - (__arm_vaddvq_s32): Likewise. - (__arm_vmovlbq_s8): Likewise. - (__arm_vmovlbq_s16): Likewise. - (__arm_vmovltq_s8): Likewise. - (__arm_vmovltq_s16): Likewise. - (__arm_vmvnq_s8): Likewise. - (__arm_vmvnq_s16): Likewise. - (__arm_vmvnq_s32): Likewise. - (__arm_vrev16q_s8): Likewise. - (__arm_vrev32q_s8): Likewise. - (__arm_vrev32q_s16): Likewise. - (__arm_vqabsq_s8): Likewise. - (__arm_vqabsq_s16): Likewise. - (__arm_vqabsq_s32): Likewise. - (__arm_vqnegq_s8): Likewise. - (__arm_vqnegq_s16): Likewise. - (__arm_vqnegq_s32): Likewise. - (__arm_vmvnq_u8): Likewise. - (__arm_vmvnq_u16): Likewise. - (__arm_vmvnq_u32): Likewise. - (__arm_vdupq_n_u8): Likewise. - (__arm_vdupq_n_u16): Likewise. - (__arm_vdupq_n_u32): Likewise. - (__arm_vclzq_u8): Likewise. - (__arm_vclzq_u16): Likewise. - (__arm_vclzq_u32): Likewise. - (__arm_vaddvq_u8): Likewise. - (__arm_vaddvq_u16): Likewise. - (__arm_vaddvq_u32): Likewise. - (__arm_vrev32q_u8): Likewise. - (__arm_vrev32q_u16): Likewise. - (__arm_vmovltq_u8): Likewise. - (__arm_vmovltq_u16): Likewise. - (__arm_vmovlbq_u8): Likewise. - (__arm_vmovlbq_u16): Likewise. - (__arm_vrev16q_u8): Likewise. - (__arm_vaddlvq_u32): Likewise. - (__arm_vcvtpq_u16_f16): Likewise. - (__arm_vcvtpq_u32_f32): Likewise. - (__arm_vcvtnq_u16_f16): Likewise. - (__arm_vcvtmq_u16_f16): Likewise. - (__arm_vcvtmq_u32_f32): Likewise. - (__arm_vcvtaq_u16_f16): Likewise. - (__arm_vcvtaq_u32_f32): Likewise. - (__arm_vcvtaq_s16_f16): Likewise. - (__arm_vcvtaq_s32_f32): Likewise. - (__arm_vcvtnq_s16_f16): Likewise. - (__arm_vcvtnq_s32_f32): Likewise. - (__arm_vcvtpq_s16_f16): Likewise. - (__arm_vcvtpq_s32_f32): Likewise. - (__arm_vcvtmq_s16_f16): Likewise. - (__arm_vcvtmq_s32_f32): Likewise. - (vdupq_n): Define polymorphic variant. - (vabsq): Likewise. - (vclsq): Likewise. - (vclzq): Likewise. - (vnegq): Likewise. - (vaddlvq): Likewise. - (vaddvq): Likewise. - (vmovlbq): Likewise. - (vmovltq): Likewise. - (vmvnq): Likewise. - (vrev16q): Likewise. - (vrev32q): Likewise. - (vqabsq): Likewise. - (vqnegq): Likewise. - * config/arm/arm_mve_builtins.def (UNOP_SNONE_SNONE): Use it. - (UNOP_SNONE_NONE): Likewise. - (UNOP_UNONE_UNONE): Likewise. - (UNOP_UNONE_NONE): Likewise. - * config/arm/constraints.md (e): Define new constriant to allow only - even registers. - * config/arm/mve.md (mve_vqabsq_s): Define RTL pattern. - (mve_vnegq_s): Likewise. - (mve_vmvnq_): Likewise. - (mve_vdupq_n_): Likewise. - (mve_vclzq_): Likewise. - (mve_vclsq_s): Likewise. - (mve_vaddvq_): Likewise. - (mve_vabsq_s): Likewise. - (mve_vrev32q_): Likewise. - (mve_vmovltq_): Likewise. - (mve_vmovlbq_): Likewise. - (mve_vcvtpq_): Likewise. - (mve_vcvtnq_): Likewise. - (mve_vcvtmq_): Likewise. - (mve_vcvtaq_): Likewise. - (mve_vrev16q_v16qi): Likewise. - (mve_vaddlvq_v4si): Likewise. - -2020-03-17 Jakub Jelinek - - * lra-spills.c (remove_pseudos): Fix up duplicated word issue in - a dump message. - * tree-sra.c (create_access_replacement): Fix up duplicated word issue - in a comment. - * read-rtl-function.c (find_param_by_name, - function_reader::parse_enum_value, function_reader::get_insn_by_uid): - Likewise. - * spellcheck.c (get_edit_distance_cutoff): Likewise. - * tree-data-ref.c (create_ifn_alias_checks): Likewise. - * tree.def (SWITCH_EXPR): Likewise. - * selftest.c (assert_str_contains): Likewise. - * ipa-param-manipulation.h (class ipa_param_body_adjustments): - Likewise. - * tree-ssa-math-opts.c (convert_expand_mult_copysign): Likewise. - * tree-ssa-loop-split.c (find_vdef_in_loop): Likewise. - * langhooks.h (struct lang_hooks_for_decls): Likewise. - * ipa-prop.h (struct ipa_param_descriptor): Likewise. - * tree-ssa-strlen.c (handle_builtin_string_cmp, handle_store): - Likewise. - * tree-ssa-dom.c (simplify_stmt_for_jump_threading): Likewise. - * tree-ssa-reassoc.c (reassociate_bb): Likewise. - * tree.c (component_ref_size): Likewise. - * hsa-common.c (hsa_init_compilation_unit_data): Likewise. - * gimple-ssa-sprintf.c (get_string_length, format_string, - format_directive): Likewise. - * omp-grid.c (grid_process_kernel_body_copy): Likewise. - * input.c (string_concat_db::get_string_concatenation, - test_lexer_string_locations_ucn4): Likewise. - * cfgexpand.c (pass_expand::execute): Likewise. - * gimple-ssa-warn-restrict.c (builtin_memref::offset_out_of_bounds, - maybe_diag_overlap): Likewise. - * rtl.c (RTX_CODE_HWINT_P_1): Likewise. - * shrink-wrap.c (spread_components): Likewise. - * tree-ssa-dse.c (initialize_ao_ref_for_dse, valid_ao_ref_for_dse): - Likewise. - * tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds): - Likewise. - * dwarf2out.c (dwarf2out_early_finish): Likewise. - * gimple-ssa-store-merging.c: Likewise. - * ira-costs.c (record_operand_costs): Likewise. - * tree-vect-loop.c (vectorizable_reduction): Likewise. - * target.def (dispatch): Likewise. - (validate_dims, gen_ccmp_first): Fix up duplicated word issue - in documentation text. - * doc/tm.texi: Regenerated. - * config/i386/x86-tune.def (X86_TUNE_PARTIAL_FLAG_REG_STALL): Fix up - duplicated word issue in a comment. - * config/i386/i386.c (ix86_test_loading_unspec): Likewise. - * config/i386/i386-features.c (remove_partial_avx_dependency): - Likewise. - * config/msp430/msp430.c (msp430_select_section): Likewise. - * config/gcn/gcn-run.c (load_image): Likewise. - * config/aarch64/aarch64-sve.md (sve_ld1r): Likewise. - * config/aarch64/aarch64.c (aarch64_gen_adjusted_ldpstp): Likewise. - * config/aarch64/falkor-tag-collision-avoidance.c - (single_dest_per_chain): Likewise. - * config/nvptx/nvptx.c (nvptx_record_fndecl): Likewise. - * config/fr30/fr30.c (fr30_arg_partial_bytes): Likewise. - * config/rs6000/rs6000-string.c (expand_cmp_vec_sequence): Likewise. - * config/rs6000/rs6000-p8swap.c (replace_swapped_load_constant): - Likewise. - * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Likewise. - * config/rs6000/rs6000.c (rs6000_option_override_internal): Likewise. - * config/rs6000/rs6000-logue.c - (rs6000_emit_probe_stack_range_stack_clash): Likewise. - * config/nds32/nds32-md-auxiliary.c (nds32_split_ashiftdi3): Likewise. - Fix various other issues in the comment. - -2020-03-17 Mihail Ionescu - - * config/arm/t-rmprofile: create new multilib for - armv8.1-m.main+mve hard float and reuse v8-m.main ones for - v8.1-m.main+mve. - -2020-03-17 Jakub Jelinek - - PR tree-optimization/94015 - * tree-ssa-strlen.c (count_nonzero_bytes): Split portions of the - function where EXP is address of the bytes being stored rather than - the bytes themselves into count_nonzero_bytes_addr. Punt on zero - sized MEM_REF. Use VAR_P macro and handle CONST_DECL like VAR_DECLs. - Use ctor_for_folding instead of looking at DECL_INITIAL. Punt before - calling native_encode_expr if host or target doesn't have 8-bit - chars. Formatting fixes. - (count_nonzero_bytes_addr): New function. - -2020-03-17 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * config/arm/arm-builtins.c (UNOP_SNONE_SNONE_QUALIFIERS): Define. - (UNOP_SNONE_NONE_QUALIFIERS): Likewise. - (UNOP_SNONE_IMM_QUALIFIERS): Likewise. - (UNOP_UNONE_NONE_QUALIFIERS): Likewise. - (UNOP_UNONE_UNONE_QUALIFIERS): Likewise. - (UNOP_UNONE_IMM_QUALIFIERS): Likewise. - * config/arm/arm_mve.h (vmvnq_n_s16): Define macro. - (vmvnq_n_s32): Likewise. - (vrev64q_s8): Likewise. - (vrev64q_s16): Likewise. - (vrev64q_s32): Likewise. - (vcvtq_s16_f16): Likewise. - (vcvtq_s32_f32): Likewise. - (vrev64q_u8): Likewise. - (vrev64q_u16): Likewise. - (vrev64q_u32): Likewise. - (vmvnq_n_u16): Likewise. - (vmvnq_n_u32): Likewise. - (vcvtq_u16_f16): Likewise. - (vcvtq_u32_f32): Likewise. - (__arm_vmvnq_n_s16): Define intrinsic. - (__arm_vmvnq_n_s32): Likewise. - (__arm_vrev64q_s8): Likewise. - (__arm_vrev64q_s16): Likewise. - (__arm_vrev64q_s32): Likewise. - (__arm_vrev64q_u8): Likewise. - (__arm_vrev64q_u16): Likewise. - (__arm_vrev64q_u32): Likewise. - (__arm_vmvnq_n_u16): Likewise. - (__arm_vmvnq_n_u32): Likewise. - (__arm_vcvtq_s16_f16): Likewise. - (__arm_vcvtq_s32_f32): Likewise. - (__arm_vcvtq_u16_f16): Likewise. - (__arm_vcvtq_u32_f32): Likewise. - (vrev64q): Define polymorphic variant. - * config/arm/arm_mve_builtins.def (UNOP_SNONE_SNONE): Use it. - (UNOP_SNONE_NONE): Likewise. - (UNOP_SNONE_IMM): Likewise. - (UNOP_UNONE_UNONE): Likewise. - (UNOP_UNONE_NONE): Likewise. - (UNOP_UNONE_IMM): Likewise. - * config/arm/mve.md (mve_vrev64q_): Define RTL pattern. - (mve_vcvtq_from_f_): Likewise. - (mve_vmvnq_n_): Likewise. - -2020-03-17 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * config/arm/arm-builtins.c (UNOP_NONE_NONE_QUALIFIERS): Define macro. - (UNOP_NONE_SNONE_QUALIFIERS): Likewise. - (UNOP_NONE_UNONE_QUALIFIERS): Likewise. - * config/arm/arm_mve.h (vrndxq_f16): Define macro. - (vrndxq_f32): Likewise. - (vrndq_f16) Likewise. - (vrndq_f32): Likewise. - (vrndpq_f16): Likewise. - (vrndpq_f32): Likewise. - (vrndnq_f16): Likewise. - (vrndnq_f32): Likewise. - (vrndmq_f16): Likewise. - (vrndmq_f32): Likewise. - (vrndaq_f16): Likewise. - (vrndaq_f32): Likewise. - (vrev64q_f16): Likewise. - (vrev64q_f32): Likewise. - (vnegq_f16): Likewise. - (vnegq_f32): Likewise. - (vdupq_n_f16): Likewise. - (vdupq_n_f32): Likewise. - (vabsq_f16): Likewise. - (vabsq_f32): Likewise. - (vrev32q_f16): Likewise. - (vcvttq_f32_f16): Likewise. - (vcvtbq_f32_f16): Likewise. - (vcvtq_f16_s16): Likewise. - (vcvtq_f32_s32): Likewise. - (vcvtq_f16_u16): Likewise. - (vcvtq_f32_u32): Likewise. - (__arm_vrndxq_f16): Define intrinsic. - (__arm_vrndxq_f32): Likewise. - (__arm_vrndq_f16): Likewise. - (__arm_vrndq_f32): Likewise. - (__arm_vrndpq_f16): Likewise. - (__arm_vrndpq_f32): Likewise. - (__arm_vrndnq_f16): Likewise. - (__arm_vrndnq_f32): Likewise. - (__arm_vrndmq_f16): Likewise. - (__arm_vrndmq_f32): Likewise. - (__arm_vrndaq_f16): Likewise. - (__arm_vrndaq_f32): Likewise. - (__arm_vrev64q_f16): Likewise. - (__arm_vrev64q_f32): Likewise. - (__arm_vnegq_f16): Likewise. - (__arm_vnegq_f32): Likewise. - (__arm_vdupq_n_f16): Likewise. - (__arm_vdupq_n_f32): Likewise. - (__arm_vabsq_f16): Likewise. - (__arm_vabsq_f32): Likewise. - (__arm_vrev32q_f16): Likewise. - (__arm_vcvttq_f32_f16): Likewise. - (__arm_vcvtbq_f32_f16): Likewise. - (__arm_vcvtq_f16_s16): Likewise. - (__arm_vcvtq_f32_s32): Likewise. - (__arm_vcvtq_f16_u16): Likewise. - (__arm_vcvtq_f32_u32): Likewise. - (vrndxq): Define polymorphic variants. - (vrndq): Likewise. - (vrndpq): Likewise. - (vrndnq): Likewise. - (vrndmq): Likewise. - (vrndaq): Likewise. - (vrev64q): Likewise. - (vnegq): Likewise. - (vabsq): Likewise. - (vrev32q): Likewise. - (vcvtbq_f32): Likewise. - (vcvttq_f32): Likewise. - (vcvtq): Likewise. - * config/arm/arm_mve_builtins.def (VAR2): Define. - (VAR1): Define. - * config/arm/mve.md (mve_vrndxq_f): Add RTL pattern. - (mve_vrndq_f): Likewise. - (mve_vrndpq_f): Likewise. - (mve_vrndnq_f): Likewise. - (mve_vrndmq_f): Likewise. - (mve_vrndaq_f): Likewise. - (mve_vrev64q_f): Likewise. - (mve_vnegq_f): Likewise. - (mve_vdupq_n_f): Likewise. - (mve_vabsq_f): Likewise. - (mve_vrev32q_fv8hf): Likewise. - (mve_vcvttq_f32_f16v4sf): Likewise. - (mve_vcvtbq_f32_f16v4sf): Likewise. - (mve_vcvtq_to_f_): Likewise. - -2020-03-16 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * config/arm/arm-builtins.c (CF): Define mve_builtin_data. - (VAR1): Define. - (ARM_BUILTIN_MVE_PATTERN_START): Define. - (arm_init_mve_builtins): Define function. - (arm_init_builtins): Add TARGET_HAVE_MVE check. - (arm_expand_builtin_1): Check the range of fcode. - (arm_expand_mve_builtin): Define function to expand MVE builtins. - (arm_expand_builtin): Check the range of fcode. - * config/arm/arm_mve.h (__ARM_FEATURE_MVE): Define MVE floating point - types. - (__ARM_MVE_PRESERVE_USER_NAMESPACE): Define to protect user namespace. - (vst4q_s8): Define macro. - (vst4q_s16): Likewise. - (vst4q_s32): Likewise. - (vst4q_u8): Likewise. - (vst4q_u16): Likewise. - (vst4q_u32): Likewise. - (vst4q_f16): Likewise. - (vst4q_f32): Likewise. - (__arm_vst4q_s8): Define inline builtin. - (__arm_vst4q_s16): Likewise. - (__arm_vst4q_s32): Likewise. - (__arm_vst4q_u8): Likewise. - (__arm_vst4q_u16): Likewise. - (__arm_vst4q_u32): Likewise. - (__arm_vst4q_f16): Likewise. - (__arm_vst4q_f32): Likewise. - (__ARM_mve_typeid): Define macro with MVE types. - (__ARM_mve_coerce): Define macro with _Generic feature. - (vst4q): Define polymorphic variant for different vst4q builtins. - * config/arm/arm_mve_builtins.def: New file. - * config/arm/iterators.md (VSTRUCT): Modify to allow XI and OI - modes in MVE. - * config/arm/mve.md (MVE_VLD_ST): Define iterator. - (unspec): Define unspec. - (mve_vst4q): Define RTL pattern. - * config/arm/neon.md (mov): Modify expand to allow XI and OI - modes in MVE. - (neon_mov): Modify RTL define_insn to allow XI and OI modes - in MVE. - (define_split): Allow OI mode split for MVE after reload. - (define_split): Allow XI mode split for MVE after reload. - * config/arm/t-arm (arm.o): Add entry for arm_mve_builtins.def. - (arm-builtins.o): Likewise. - -2020-03-17 Christophe Lyon - - * c-typeck.c (process_init_element): Handle constructor_type with - type size represented by POLY_INT_CST. - -2020-03-17 Jakub Jelinek - - PR tree-optimization/94187 - * tree-ssa-strlen.c (count_nonzero_bytes): Punt if - nchars - offset < nbytes. - - PR middle-end/94189 - * builtins.c (expand_builtin_strnlen): Do return NULL_RTX if we would - emit a warning if it was enabled and don't depend on TREE_NO_WARNING - for code-generation. - -2020-03-16 Vladimir Makarov - - PR target/94185 - * lra-spills.c (remove_pseudos): Do not reuse insn alternative - after changing memory subreg. - -2020-03-16 Andre Vieira - Srinath Parvathaneni - - * config/arm/arm.c (arm_libcall_uses_aapcs_base): Modify function to add - emulator calls for dobule precision arithmetic operations for MVE. - -2020-03-16 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * common/config/arm/arm-common.c (arm_asm_auto_mfpu): When vfp_base - feature bit is on and -mfpu=auto is passed as compiler option, do not - generate error on not finding any matching fpu. Because in this case - fpu is not required. - * config/arm/arm-cpus.in (vfp_base): Define feature bit, this bit is - enabled for MVE and also for all VFP extensions. - (VFPv2): Modify fgroup to enable vfp_base feature bit when ever VFPv2 - is enabled. - (MVE): Define fgroup to enable feature bits mve, vfp_base and armv7em. - (MVE_FP): Define fgroup to enable feature bits is fgroup MVE and FPv5 - along with feature bits mve_float. - (mve): Modify add options in armv8.1-m.main arch for MVE. - (mve.fp): Modify add options in armv8.1-m.main arch for MVE with - floating point. - * config/arm/arm.c (use_return_insn): Replace the - check with TARGET_VFP_BASE. - (thumb2_legitimate_index_p): Replace TARGET_HARD_FLOAT with - TARGET_VFP_BASE. - (arm_rtx_costs_internal): Replace "TARGET_HARD_FLOAT || TARGET_HAVE_MVE" - with TARGET_VFP_BASE, to allow cost calculations for copies in MVE as - well. - (arm_get_vfp_saved_size): Replace TARGET_HARD_FLOAT with - TARGET_VFP_BASE, to allow space calculation for VFP registers in MVE - as well. - (arm_compute_frame_layout): Likewise. - (arm_save_coproc_regs): Likewise. - (arm_fixed_condition_code_regs): Modify to enable using VFPCC_REGNUM - in MVE as well. - (arm_hard_regno_mode_ok): Replace "TARGET_HARD_FLOAT || TARGET_HAVE_MVE" - with equivalent macro TARGET_VFP_BASE. - (arm_expand_epilogue_apcs_frame): Likewise. - (arm_expand_epilogue): Likewise. - (arm_conditional_register_usage): Likewise. - (arm_declare_function_name): Add check to skip printing .fpu directive - in assembly file when TARGET_VFP_BASE is enabled and fpu_to_print is - "softvfp". - * config/arm/arm.h (TARGET_VFP_BASE): Define. - * config/arm/arm.md (arch): Add "mve" to arch. - (eq_attr "arch" "mve"): Enable on TARGET_HAVE_MVE is true. - (vfp_pop_multiple_with_writeback): Replace "TARGET_HARD_FLOAT - || TARGET_HAVE_MVE" with equivalent macro TARGET_VFP_BASE. - * config/arm/constraints.md (Uf): Define to allow modification to FPCCR - in MVE. - * config/arm/thumb2.md (thumb2_movsfcc_soft_insn): Modify target guard - to not allow for MVE. - * config/arm/unspecs.md (UNSPEC_GET_FPSCR): Move to volatile unspecs - enum. - (VUNSPEC_GET_FPSCR): Define. - * config/arm/vfp.md (thumb2_movhi_vfp): Add support for VMSR and VMRS - instructions which move to general-purpose Register from Floating-point - Special register and vice-versa. - (thumb2_movhi_fp16): Likewise. - (thumb2_movsi_vfp): Add support for VMSR and VMRS instructions along - with MCR and MRC instructions which set and get Floating-point Status - and Control Register (FPSCR). - (movdi_vfp): Modify pattern to enable Single-precision scalar float move - in MVE. - (thumb2_movdf_vfp): Modify pattern to enable Double-precision scalar - float move patterns in MVE. - (thumb2_movsfcc_vfp): Modify pattern to enable single float conditional - code move patterns of VFP also in MVE by adding TARGET_VFP_BASE check. - (thumb2_movdfcc_vfp): Modify pattern to enable double float conditional - code move patterns of VFP also in MVE by adding TARGET_VFP_BASE check. - (push_multi_vfp): Add support to use VFP VPUSH pattern for MVE by adding - TARGET_VFP_BASE check. - (set_fpscr): Add support to set FPSCR register for MVE. Modify pattern - using VFPCC_REGNUM as few MVE intrinsics use carry bit of FPSCR - register. - (get_fpscr): Add support to get FPSCR register for MVE. Modify pattern - using VFPCC_REGNUM as few MVE intrinsics use carry bit of FPSCR - register. - - -2020-03-16 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * config.gcc (arm_mve.h): Include mve intrinsics header file. - * config/arm/aout.h (p0): Add new register name for MVE predicated - cases. - * config/arm-builtins.c (ARM_BUILTIN_SIMD_LANE_CHECK): Define macro - common to Neon and MVE. - (ARM_BUILTIN_NEON_LANE_CHECK): Renamed to ARM_BUILTIN_SIMD_LANE_CHECK. - (arm_init_simd_builtin_types): Disable poly types for MVE. - (arm_init_neon_builtins): Move a check to arm_init_builtins function. - (arm_init_builtins): Use ARM_BUILTIN_SIMD_LANE_CHECK instead of - ARM_BUILTIN_NEON_LANE_CHECK. - (mve_dereference_pointer): Add function. - (arm_expand_builtin_args): Call to mve_dereference_pointer when MVE is - enabled. - (arm_expand_neon_builtin): Moved to arm_expand_builtin function. - (arm_expand_builtin): Moved from arm_expand_neon_builtin function. - * config/arm/arm-c.c (__ARM_FEATURE_MVE): Define macro for MVE and MVE - with floating point enabled. - * config/arm/arm-protos.h (neon_immediate_valid_for_move): Renamed to - simd_immediate_valid_for_move. - (simd_immediate_valid_for_move): Renamed from - neon_immediate_valid_for_move function. - * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Generate - error if vfpv2 feature bit is disabled and mve feature bit is also - disabled for HARD_FLOAT_ABI. - (use_return_insn): Check to not push VFP regs for MVE. - (aapcs_vfp_allocate): Add MVE check to have same Procedure Call Standard - as Neon. - (aapcs_vfp_allocate_return_reg): Likewise. - (thumb2_legitimate_address_p): Check to return 0 on valid Thumb-2 - address operand for MVE. - (arm_rtx_costs_internal): MVE check to determine cost of rtx. - (neon_valid_immediate): Rename to simd_valid_immediate. - (simd_valid_immediate): Rename from neon_valid_immediate. - (simd_valid_immediate): MVE check on size of vector is 128 bits. - (neon_immediate_valid_for_move): Rename to - simd_immediate_valid_for_move. - (simd_immediate_valid_for_move): Rename from - neon_immediate_valid_for_move. - (neon_immediate_valid_for_logic): Modify call to neon_valid_immediate - function. - (neon_make_constant): Modify call to neon_valid_immediate function. - (neon_vector_mem_operand): Return VFP register for POST_INC or PRE_DEC - for MVE. - (output_move_neon): Add MVE check to generate vldm/vstm instrcutions. - (arm_compute_frame_layout): Calculate space for saved VFP registers for - MVE. - (arm_save_coproc_regs): Save coproc registers for MVE. - (arm_print_operand): Add case 'E' to print memory operands for MVE. - (arm_print_operand_address): Check to print register number for MVE. - (arm_hard_regno_mode_ok): Check for arm hard regno mode ok for MVE. - (arm_modes_tieable_p): Check to allow structure mode for MVE. - (arm_regno_class): Add VPR_REGNUM check. - (arm_expand_epilogue_apcs_frame): MVE check to calculate epilogue code - for APCS frame. - (arm_expand_epilogue): MVE check for enabling pop instructions in - epilogue. - (arm_print_asm_arch_directives): Modify function to disable print of - .arch_extension "mve" and "fp" for cases where MVE is enabled with - "SOFT FLOAT ABI". - (arm_vector_mode_supported_p): Check for modes available in MVE interger - and MVE floating point. - (arm_array_mode_supported_p): Add TARGET_HAVE_MVE check for array mode - pointer support. - (arm_conditional_register_usage): Enable usage of conditional regsiter - for MVE. - (fixed_regs[VPR_REGNUM]): Enable VPR_REG for MVE. - (arm_declare_function_name): Modify function to disable print of - .arch_extension "mve" and "fp" for cases where MVE is enabled with - "SOFT FLOAT ABI". - * config/arm/arm.h (TARGET_HAVE_MVE): Disable for soft float abi and - when target general registers are required. - (TARGET_HAVE_MVE_FLOAT): Likewise. - (FIXED_REGISTERS): Add bit for VFP_REG class which is enabled in arm.c - for MVE. - (CALL_USED_REGISTERS): Set bit for VFP_REG class in CALL_USED_REGISTERS - which indicate this is not available for across function calls. - (FIRST_PSEUDO_REGISTER): Modify. - (VALID_MVE_MODE): Define valid MVE mode. - (VALID_MVE_SI_MODE): Define valid MVE SI mode. - (VALID_MVE_SF_MODE): Define valid MVE SF mode. - (VALID_MVE_STRUCT_MODE): Define valid MVE struct mode. - (VPR_REGNUM): Add Vector Predication Register in arm_regs_in_sequence - for MVE. - (IS_VPR_REGNUM): Macro to check for VPR_REG register. - (REG_ALLOC_ORDER): Add VPR_REGNUM entry. - (enum reg_class): Add VPR_REG entry. - (REG_CLASS_NAMES): Add VPR_REG entry. - * config/arm/arm.md (VPR_REGNUM): Define. - (conds): Check is_mve_type attrbiute to differentiate "conditional" and - "unconditional" instructions. - (arm_movsf_soft_insn): Modify RTL to not allow for MVE. - (movdf_soft_insn): Modify RTL to not allow for MVE. - (vfp_pop_multiple_with_writeback): Enable for MVE. - (include "mve.md"): Include mve.md file. - * config/arm/arm_mve.h: Add MVE intrinsics head file. - * config/arm/constraints.md (Up): Constraint to enable "p0" register in MVE - for vector predicated operands. - * config/arm/iterators.md (VNIM1): Define. - (VNINOTM1): Define. - (VHFBF_split): Define - * config/arm/mve.md: New file. - (mve_mov): Define RTL for move, store and load in MVE. - (mve_mov): Define move RTL pattern with vec_duplicate operator for - second operand. - * config/arm/neon.md (neon_immediate_valid_for_move): Rename with - simd_immediate_valid_for_move. - (neon_mov): Split pattern and move expand pattern "movv8hf" which - is common to MVE and NEON to vec-common.md file. - (vec_init): Add TARGET_HAVE_MVE check. - * config/arm/predicates.md (vpr_register_operand): Define. - * config/arm/t-arm: Add mve.md file. - * config/arm/types.md (mve_move): Add MVE instructions mve_move to - attribute "type". - (mve_store): Add MVE instructions mve_store to attribute "type". - (mve_load): Add MVE instructions mve_load to attribute "type". - (is_mve_type): Define attribute. - * config/arm/vec-common.md (mov): Modify RTL expand to support - standard move patterns in MVE along with NEON and IWMMXT with mode - iterator VNIM1. - (mov): Modify RTL expand to support standard move patterns in NEON - and IWMMXT with mode iterator V8HF. - (movv8hf): Define RTL expand to support standard "movv8hf" pattern in - NEON and MVE. - * config/arm/vfp.md (neon_immediate_valid_for_move): Rename to - simd_immediate_valid_for_move. - - -2020-03-16 H.J. Lu - - PR target/89229 - * config/i386/i386.md (*movsi_internal): Call ix86_output_ssemov - for TYPE_SSEMOV. Remove ext_sse_reg_operand and TARGET_AVX512VL - check. - * config/i386/predicates.md (ext_sse_reg_operand): Removed. - -2020-03-16 Jakub Jelinek - - PR debug/94167 - * tree-inline.c (insert_init_stmt): Don't gimple_regimplify_operands - DEBUG_STMTs. - - PR tree-optimization/94166 - * tree-ssa-reassoc.c (sort_by_mach_mode): Use SSA_NAME_VERSION - as secondary comparison key. - -2020-03-16 Bin Cheng - - PR tree-optimization/94125 - * tree-loop-distribution.c - (loop_distribution::break_alias_scc_partitions): Update post order - number for merged scc. - -2020-03-15 H.J. Lu - - PR target/89229 - * config/i386/i386.c (ix86_output_ssemov): Handle MODE_SI and - MODE_SF. - * config/i386/i386.md (*movsf_internal): Call ix86_output_ssemov - for TYPE_SSEMOV. Remove TARGET_PREFER_AVX256, TARGET_AVX512VL - and ext_sse_reg_operand check. - -2020-03-15 Lewis Hyatt - - * common.opt: Avoid redundancy in the help text. - * config/arc/arc.opt: Likewise. - * config/cr16/cr16.opt: Likewise. - -2020-03-14 Jakub Jelinek - - PR middle-end/93566 - * tree-nested.c (convert_nonlocal_omp_clauses, - convert_local_omp_clauses): Handle {,in_,task_}reduction clauses - with C/C++ array sections. - -2020-03-14 H.J. Lu - - PR target/89229 - * config/i386/i386.md (*movdi_internal): Call ix86_output_ssemov - for TYPE_SSEMOV. Remove ext_sse_reg_operand and TARGET_AVX512VL - check. - -2020-03-14 Jakub Jelinek - - * gimple-fold.c (gimple_fold_builtin_strncpy): Change - "a an" to "an" in a comment. - * hsa-common.h (is_a_helper): Likewise. - * tree-ssa-strlen.c (maybe_diag_stxncpy_trunc): Likewise. - * config/arc/arc.c (arc600_corereg_hazard): Likewise. - * config/s390/s390.c (s390_indirect_branch_via_thunk): Likewise. - -2020-03-13 Aaron Sawdey - - PR target/92379 - * config/rs6000/rs6000.c (num_insns_constant_multi): Don't shift a - 64-bit value by 64 bits (UB). - -2020-03-13 Vladimir Makarov - - PR rtl-optimization/92303 - * lra-spills.c (remove_pseudos): Try to simplify memory subreg. - -2020-03-13 Segher Boessenkool - - PR rtl-optimization/94148 - PR rtl-optimization/94042 - * df-core.c (BB_LAST_CHANGE_AGE): Delete. - (df_worklist_propagate_forward): New parameter last_change_age, use - that instead of bb->aux. - (df_worklist_propagate_backward): Ditto. - (df_worklist_dataflow_doublequeue): Use a local array last_change_age. - -2020-03-13 Richard Biener - - PR tree-optimization/94163 - * tree-ssa-pre.c (create_expression_by_pieces): Check - whether alignment would be zero. - -2020-03-13 Martin Liska - - PR lto/94157 - * lto-wrapper.c (run_gcc): Use concat for appending - to collect_gcc_options. - -2020-03-13 Jakub Jelinek - - PR target/94121 - * config/aarch64/aarch64.c (aarch64_add_offset_1): Use gen_int_mode - instead of GEN_INT. - -2020-03-13 H.J. Lu - - PR target/89229 - * config/i386/i386.c (ix86_output_ssemov): Handle MODE_DF. - * config/i386/i386.md (*movdf_internal): Call ix86_output_ssemov - for TYPE_SSEMOV. Remove TARGET_AVX512F, TARGET_PREFER_AVX256, - TARGET_AVX512VL and ext_sse_reg_operand check. - -2020-03-13 Bu Le - - PR target/94154 - * config/aarch64/aarch64.opt (-param=aarch64-float-recp-precision=) - (-param=aarch64-double-recp-precision=): New options. - * doc/invoke.texi: Document them. - * config/aarch64/aarch64.c (aarch64_emit_approx_div): Use them - instead of hard-coding the choice of 1 for float and 2 for double. - -2020-03-13 Eric Botcazou - - PR rtl-optimization/94119 - * resource.h (clear_hashed_info_until_next_barrier): Declare. - * resource.c (clear_hashed_info_until_next_barrier): New function. - * reorg.c (add_to_delay_list): Fix formatting. - (relax_delay_slots): Call clear_hashed_info_until_next_barrier on - the next instruction after removing a BARRIER. - -2020-03-13 Eric Botcazou - - PR middle-end/92071 - * expmed.c (store_integral_bit_field): For fields larger than a word, - call extract_bit_field on the value if the mode is BLKmode. Remove - specific path for big-endian targets and tidy things up a little bit. - -2020-03-12 Richard Sandiford - - PR rtl-optimization/90275 - * cse.c (cse_insn): Delete no-op register moves too. - -2020-03-12 Darius Galis - - * config/rx/rx.md (CTRLREG_CPEN): Remove. - * config/rx/rx.c (rx_print_operand): Remove CTRLREG_CPEN support. - -2020-03-12 Richard Biener - - PR tree-optimization/94103 - * tree-ssa-sccvn.c (visit_reference_op_load): Avoid type - punning when the mode precision is not sufficient. - -2020-03-12 H.J. Lu - - PR target/89229 - * config/i386/i386.c (ix86_output_ssemov): Handle MODE_DI, - MODE_V1DF and MODE_V2SF. - * config/i386/mmx.md (MMXMODE:*mov_internal): Call - ix86_output_ssemov for TYPE_SSEMOV. Remove ext_sse_reg_operand - check. - -2020-03-12 Jakub Jelinek - - * doc/tm.texi.in (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Change - ASM_OUTPUT_ALIGNED_DECL in description to ASM_OUTPUT_ALIGNED_LOCAL - and ASM_OUTPUT_DECL to ASM_OUTPUT_LOCAL. - * doc/tm.texi: Regenerated. - - PR tree-optimization/94130 - * tree-ssa-dse.c: Include gimplify.h. - (increment_start_addr): If stmt has lhs, drop the lhs from call and - set it after the call to the original value of the first argument. - Formatting fixes. - (decrement_count): Formatting fix. - -2020-03-11 Delia Burduv - - * config/arm/arm-builtins.c - (arm_init_simd_builtin_scalar_types): New. - * config/arm/arm_neon.h (vld2_bf16): Used new builtin type. - (vld2q_bf16): Used new builtin type. - (vld3_bf16): Used new builtin type. - (vld3q_bf16): Used new builtin type. - (vld4_bf16): Used new builtin type. - (vld4q_bf16): Used new builtin type. - (vld2_dup_bf16): Used new builtin type. - (vld2q_dup_bf16): Used new builtin type. - (vld3_dup_bf16): Used new builtin type. - (vld3q_dup_bf16): Used new builtin type. - (vld4_dup_bf16): Used new builtin type. - (vld4q_dup_bf16): Used new builtin type. - -2020-03-11 Jakub Jelinek - - PR target/94134 - * config/pdp11/pdp11.c (pdp11_asm_output_var): Call switch_to_section - at the start to switch to data section. Don't print extra newline if - .globl directive has not been emitted. - -2020-03-11 Richard Biener - - * match.pd ((T *)(ptr - ptr-cst) -> &MEM[ptr + -ptr-cst]): - New pattern. - -2020-03-11 Eric Botcazou - - PR middle-end/93961 - * tree.c (variably_modified_type_p) : Recurse into fields - whose type is a qualified union. - -2020-03-11 Jakub Jelinek - - PR target/94121 - * config/aarch64/aarch64.c (aarch64_add_offset_1): Use absu_hwi - instead of abs_hwi, change moffset type to unsigned HOST_WIDE_INT. - - PR bootstrap/93962 - * value-prof.c (dump_histogram_value): Use abs_hwi instead of - std::abs. - (get_nth_most_common_value): Use abs_hwi instead of abs. - - PR middle-end/94111 - * dfp.c (decimal_to_binary): Only use decimal128ToString if from->cl - is rvc_normal, otherwise use real_to_decimal to print the number to - string. - - PR tree-optimization/94114 - * tree-loop-distribution.c (generate_memset_builtin): Call - rewrite_to_non_trapping_overflow even on mem. - (generate_memcpy_builtin): Call rewrite_to_non_trapping_overflow even - on dest and src. - -2020-03-10 Jeff Law - - * config/bfin/bfin.md (movsi_insv): Add length attribute. - -2020-03-10 Jiufu Guo - - PR target/93709 - * config/rs6000/rs6000.c (rs6000_emit_p9_fp_minmax): Check - NAN and SIGNED_ZEROR for smax/smin. - -2020-03-10 Will Schmidt - - PR target/90763 - * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Add - clause to handle P9V_BUILTIN_VEC_LXVL with const arguments. - -2020-03-10 Roman Zhuykov - - * loop-iv.c (find_simple_exit): Make it static. - * cfgloop.h: Remove the corresponding prototype. - -2020-03-10 Roman Zhuykov - - * ddg.c (create_ddg): Fix intendation. - (set_recurrence_length): Likewise. - (create_ddg_all_sccs): Likewise. - -2020-03-10 Jakub Jelinek - - PR target/94088 - * config/i386/i386.md (*testqi_ext_3): Call ix86_match_ccmode with - CCZmode instead of CCNOmode if operands[2] has DImode and pos + len - is 32. - -2020-03-09 Jason Merrill - - * gdbinit.in (pgs): Fix typo in documentation. - -2020-03-09 Vladimir Makarov - - Revert: - - 2020-02-28 Vladimir Makarov - - PR rtl-optimization/93564 - * ira-color.c (assign_hard_reg): Prefer smaller hard regno when we - do not honor reg alloc order. - -2020-03-09 Andrew Pinski - - PR inline-asm/94095 - * doc/extend.texi (x86 Operand Modifiers): Fix column - for 'A' modifier. - -2020-03-09 Martin Liska - - PR target/93800 - * config/rs6000/rs6000.c (rs6000_option_override_internal): - Remove set of str_align_loops and str_align_jumps as these - should be set in previous 2 conditions in the function. - -2020-03-09 Jakub Jelinek - - PR rtl-optimization/94045 - * params.opt (-param=max-find-base-term-values=): New option. - * alias.c (find_base_term): Add cut-off for number of visited VALUEs - in a single toplevel find_base_term call. - -2020-03-06 Wilco Dijkstra - - PR target/91598 - * config/aarch64/aarch64-builtins.c (TYPES_TERNOPU_LANE): Add define. - * config/aarch64/aarch64-simd.md - (aarch64_vec_mult_lane): Add new insn for widening lane mul. - (aarch64_vec_mlal_lane): Likewise. - * config/aarch64/aarch64-simd-builtins.def: Add intrinsics. - * config/aarch64/arm_neon.h: - (vmlal_lane_s16): Expand using intrinsics rather than inline asm. - (vmlal_lane_u16): Likewise. - (vmlal_lane_s32): Likewise. - (vmlal_lane_u32): Likewise. - (vmlal_laneq_s16): Likewise. - (vmlal_laneq_u16): Likewise. - (vmlal_laneq_s32): Likewise. - (vmlal_laneq_u32): Likewise. - (vmull_lane_s16): Likewise. - (vmull_lane_u16): Likewise. - (vmull_lane_s32): Likewise. - (vmull_lane_u32): Likewise. - (vmull_laneq_s16): Likewise. - (vmull_laneq_u16): Likewise. - (vmull_laneq_s32): Likewise. - (vmull_laneq_u32): Likewise. - * config/aarch64/iterators.md (Vcondtype): New iterator for lane mul. - (Qlane): Likewise. - -2020-03-06 Wilco Dijkstra - - * aarch64/aarch64-simd.md (aarch64_mla_elt): Correct lane syntax. - (aarch64_mla_elt_): Likewise. - (aarch64_mls_elt): Likewise. - (aarch64_mls_elt_): Likewise. - (aarch64_fma4_elt): Likewise. - (aarch64_fma4_elt_): Likewise. - (aarch64_fma4_elt_to_64v2df): Likewise. - (aarch64_fnma4_elt): Likewise. - (aarch64_fnma4_elt_): Likewise. - (aarch64_fnma4_elt_to_64v2df): Likewise. - -2020-03-06 Kyrylo Tkachov - - * config/aarch64/aarch64-sve2.md (@aarch64_sve_: - Specify movprfx attribute. - (@aarch64_sve__lane_): Likewise. - -2020-03-06 David Edelsohn - - PR target/94065 - * config/rs6000/aix61.h (TARGET_NO_SUM_IN_TOC): Set to 1 for - cmodel=large. - (TARGET_NO_FP_IN_TOC): Same. - * config/rs6000/aix71.h: Same. - * config/rs6000/aix72.h: Same. - -2020-03-06 Andrew Pinski - Jeff Law - - PR rtl-optimization/93996 - * haifa-sched.c (remove_notes): Be more careful when adding - REG_SAVE_NOTE. - -2020-03-06 Delia Burduv - - * config/arm/arm_neon.h (vld2_bf16): New. - (vld2q_bf16): New. - (vld3_bf16): New. - (vld3q_bf16): New. - (vld4_bf16): New. - (vld4q_bf16): New. - (vld2_dup_bf16): New. - (vld2q_dup_bf16): New. - (vld3_dup_bf16): New. - (vld3q_dup_bf16): New. - (vld4_dup_bf16): New. - (vld4q_dup_bf16): New. - * config/arm/arm_neon_builtins.def - (vld2): Changed to VAR13 and added v4bf, v8bf - (vld2_dup): Changed to VAR8 and added v4bf, v8bf - (vld3): Changed to VAR13 and added v4bf, v8bf - (vld3_dup): Changed to VAR8 and added v4bf, v8bf - (vld4): Changed to VAR13 and added v4bf, v8bf - (vld4_dup): Changed to VAR8 and added v4bf, v8bf - * config/arm/iterators.md (VDXBF2): New iterator. - *config/arm/neon.md (neon_vld2): Use new iterators. - (neon_vld2_dup): Likewise. - (neon_vld3qa): Likewise. - (neon_vld3qb): Likewise. - (neon_vld3_dup): Likewise. - (neon_vld4): Likewise. - (neon_vld4qa): Likewise. - (neon_vld4qb): Likewise. - (neon_vld4_dup): Likewise. - (neon_vld2_dupv8bf): New. - (neon_vld3_dupv8bf): Likewise. - (neon_vld4_dupv8bf): Likewise. - -2020-03-06 Delia Burduv - - * config/arm/arm_neon.h (bfloat16x4x2_t): New typedef. - (bfloat16x8x2_t): New typedef. - (bfloat16x4x3_t): New typedef. - (bfloat16x8x3_t): New typedef. - (bfloat16x4x4_t): New typedef. - (bfloat16x8x4_t): New typedef. - (vst2_bf16): New. - (vst2q_bf16): New. - (vst3_bf16): New. - (vst3q_bf16): New. - (vst4_bf16): New. - (vst4q_bf16): New. - * config/arm/arm-builtins.c (v2bf_UP): Define. - (VAR13): New. - (arm_init_simd_builtin_types): Init Bfloat16x2_t eltype. - * config/arm/arm-modes.def (V2BF): New mode. - * config/arm/arm-simd-builtin-types.def - (Bfloat16x2_t): New entry. - * config/arm/arm_neon_builtins.def - (vst2): Changed to VAR13 and added v4bf, v8bf - (vst3): Changed to VAR13 and added v4bf, v8bf - (vst4): Changed to VAR13 and added v4bf, v8bf - * config/arm/iterators.md (VDXBF): New iterator. - (VQ2BF): New iterator. - *config/arm/neon.md (neon_vst2): Used new iterators. - (neon_vst2): Used new iterators. - (neon_vst3): Used new iterators. - (neon_vst3): Used new iterators. - (neon_vst3qa): Used new iterators. - (neon_vst3qb): Used new iterators. - (neon_vst4): Used new iterators. - (neon_vst4): Used new iterators. - (neon_vst4qa): Used new iterators. - (neon_vst4qb): Used new iterators. - -2020-03-06 Delia Burduv - - * config/aarch64/aarch64-simd-builtins.def - (bfcvtn): New built-in function. - (bfcvtn_q): New built-in function. - (bfcvtn2): New built-in function. - (bfcvt): New built-in function. - * config/aarch64/aarch64-simd.md - (aarch64_bfcvtn): New pattern. - (aarch64_bfcvtn2v8bf): New pattern. - (aarch64_bfcvtbf): New pattern. - * config/aarch64/arm_bf16.h (float32_t): New typedef. - (vcvth_bf16_f32): New intrinsic. - * config/aarch64/arm_bf16.h (vcvt_bf16_f32): New intrinsic. - (vcvtq_low_bf16_f32): New intrinsic. - (vcvtq_high_bf16_f32): New intrinsic. - * config/aarch64/iterators.md (V4SF_TO_BF): New mode iterator. - (UNSPEC_BFCVTN): New UNSPEC. - (UNSPEC_BFCVTN2): New UNSPEC. - (UNSPEC_BFCVT): New UNSPEC. - * config/arm/types.md (bf_cvt): New type. - -2020-03-06 Andreas Krebbel - - * config/s390/s390.md ("tabort"): Get rid of two consecutive - blanks in format string. - -2020-03-05 H.J. Lu - - PR target/89229 - PR target/89346 - * config/i386/i386-protos.h (ix86_output_ssemov): New prototype. - * config/i386/i386.c (ix86_get_ssemov): New function. - (ix86_output_ssemov): Likewise. - * config/i386/sse.md (VMOVE:mov_internal): Call - ix86_output_ssemov for TYPE_SSEMOV. Remove TARGET_AVX512VL - check. - (*movxi_internal_avx512f): Call ix86_output_ssemov for TYPE_SSEMOV. - (*movoi_internal_avx): Call ix86_output_ssemov for TYPE_SSEMOV. - Remove ext_sse_reg_operand and TARGET_AVX512VL check. - (*movti_internal): Likewise. - (*movtf_internal): Call ix86_output_ssemov for TYPE_SSEMOV. - -2020-03-05 Jeff Law - - PR tree-optimization/91890 - * gimple-ssa-warn-restrict.c (maybe_diag_overlap): Remove LOC argument. - Use gimple_or_expr_nonartificial_location. - (check_bounds_overlap): Drop LOC argument to maybe_diag_access_bounds. - Use gimple_or_expr_nonartificial_location. - * gimple.c (gimple_or_expr_nonartificial_location): New function. - * gimple.h (gimple_or_expr_nonartificial_location): Declare it. - * tree-ssa-strlen.c (maybe_warn_overflow): Use - gimple_or_expr_nonartificial_location. - (maybe_diag_stxncpy_trunc, handle_builtin_stxncpy_strncat): Likewise. - (maybe_warn_pointless_strcmp): Likewise. - -2020-03-05 Jakub Jelinek - - PR target/94046 - * config/i386/avx2intrin.h (_mm_mask_i32gather_ps): Fix first cast of - SRC and MASK arguments to __m128 from __m128d. - (_mm256_mask_i32gather_ps): Fix first cast of MASK argument to __m256 - from __m256d. - (_mm_mask_i64gather_ps): Fix first cast of MASK argument to __m128 - from __m128d. - * config/i386/xopintrin.h (_mm_permute2_pd): Fix first cast of C - argument to __m128i from __m128d. - (_mm256_permute2_pd): Fix first cast of C argument to __m256i from - __m256d. - (_mm_permute2_ps): Fix first cast of C argument to __m128i from __m128. - (_mm256_permute2_ps): Fix first cast of C argument to __m256i from - __m256. - -2020-03-05 Delia Burduv - - * config/arm/arm_neon.h (vbfmmlaq_f32): New. - (vbfmlalbq_f32): New. - (vbfmlaltq_f32): New. - (vbfmlalbq_lane_f32): New. - (vbfmlaltq_lane_f32): New. - (vbfmlalbq_laneq_f32): New. - (vbfmlaltq_laneq_f32): New. - * config/arm/arm_neon_builtins.def (vmmla): New. - (vfmab): New. - (vfmat): New. - (vfmab_lane): New. - (vfmat_lane): New. - (vfmab_laneq): New. - (vfmat_laneq): New. - * config/arm/iterators.md (BF_MA): New int iterator. - (bt): New int attribute. - (VQXBF): Copy of VQX with V8BF. - * config/arm/neon.md (neon_vmmlav8bf): New insn. - (neon_vfmav8bf): New insn. - (neon_vfma_lanev8bf): New insn. - (neon_vfma_laneqv8bf): New expand. - (neon_vget_high): Changed iterator to VQXBF. - * config/arm/unspecs.md (UNSPEC_BFMMLA): New UNSPEC. - (UNSPEC_BFMAB): New UNSPEC. - (UNSPEC_BFMAT): New UNSPEC. - -2020-03-05 Jakub Jelinek - - PR middle-end/93399 - * tree-pretty-print.h (pretty_print_string): Declare. - * tree-pretty-print.c (pretty_print_string): Remove forward - declaration, no longer static. Change nbytes parameter type - from unsigned to size_t. - * print-rtl.c (print_value) : Use - pretty_print_string and for shrink way too long strings. - -2020-03-05 Richard Biener - Jakub Jelinek - - PR tree-optimization/93582 - * tree-ssa-sccvn.c (vn_reference_lookup_3): Treat POINTER_PLUS_EXPR - last operand as signed when looking for memset offset. Formatting - fix. - -2020-03-04 Andrew Pinski - - PR bootstrap/93962 - * value-prof.c (dump_histogram_value): Use std::abs. - -2020-03-04 Martin Sebor - - PR tree-optimization/93986 - * tree-ssa-strlen.c (maybe_warn_overflow): Convert all wide_int - operands to the same precision widest_int to avoid ICEs. - -2020-03-04 Bill Schmidt - - PR target/87560 - * rs6000-cpus.def (OTHER_ALTIVEC_MASKS): New #define. - * rs6000.c (rs6000_disable_incompatible_switches): Add table entry - for OPTION_MASK_ALTIVEC. - -2020-03-04 Andreas Krebbel - - * config.gcc: Include the glibc-stdint.h header for zTPF. - -2020-03-04 Andreas Krebbel - - * config/s390/s390.c (s390_secondary_memory_needed): Disallow - direct FPR-GPR copies. - (s390_register_info_gprtofpr): Disallow GPR content to be saved in - FPRs. - -2020-03-04 Andreas Krebbel - - * config/s390/s390.c (s390_emit_prologue): Specify the 2 new - operands to the prologue_tpf expander. - (s390_emit_epilogue): Likewise. - (s390_option_override_internal): Do error checking and setup for - the new options. - * config/s390/tpf.h (TPF_TRACE_PROLOGUE_CHECK) - (TPF_TRACE_EPILOGUE_CHECK, TPF_TRACE_PROLOGUE_TARGET) - (TPF_TRACE_EPILOGUE_TARGET, TPF_TRACE_PROLOGUE_SKIP_TARGET) - (TPF_TRACE_EPILOGUE_SKIP_TARGET): New macro definitions. - * config/s390/tpf.md ("prologue_tpf", "epilogue_tpf"): Add two new - operands for the check flag and the branch target. - * config/s390/tpf.opt ("mtpf-trace-hook-prologue-check") - ("mtpf-trace-hook-prologue-target") - ("mtpf-trace-hook-epilogue-check") - ("mtpf-trace-hook-epilogue-target", "mtpf-trace-skip"): New - options. - * doc/invoke.texi: Document -mtpf-trace-skip option. The other - options are for debugging purposes and will not be documented - here. - -2020-03-04 Jakub Jelinek - - PR debug/93888 - * tree-inline.c (copy_decl_to_var): Copy DECL_BY_REFERENCE flag. - - * tree-ssa-sccvn.c (vn_walk_cb_data::push_partial_def): Add offseti - argument. Change pd argument so that it can be modified. Turn - constant non-CONSTRUCTOR store into non-constant if it is too large. - Adjust offset and size of CONSTRUCTOR or non-constant store to avoid - overflows. - (vn_walk_cb_data::vn_walk_cb_data, vn_reference_lookup_3): Adjust - callers. - -2020-02-04 Richard Biener - - PR tree-optimization/93964 - * graphite-isl-ast-to-gimple.c - (gcc_expression_from_isl_ast_expr_id): Add intermediate - conversion for pointer to integer converts. - * graphite-scop-detection.c (assign_parameter_index_in_region): - Relax assert. - -2020-03-04 Martin Liska - - PR c/93886 - PR c/93887 - * doc/invoke.texi: Clarify --help=language and --help=common - interaction. - -2020-03-04 Jakub Jelinek - - PR tree-optimization/94001 - * tree-tailcall.c (process_assignment): Before comparing op1 to - *ass_var, verify *ass_var is non-NULL. - -2020-03-04 Kito Cheng - - PR target/93995 - * config/riscv/riscv.c (riscv_emit_float_compare): Using NE to compare - the result of IOR. - -2020-03-03 Dennis Zhang - - * config/arm/arm_bf16.h (vcvtah_f32_bf16, vcvth_bf16_f32): New. - * config/arm/arm_neon.h (vcvt_f32_bf16, vcvtq_low_f32_bf16): New. - (vcvtq_high_f32_bf16, vcvt_bf16_f32): New. - (vcvtq_low_bf16_f32, vcvtq_high_bf16_f32): New. - * config/arm/arm_neon_builtins.def (vbfcvt, vbfcvt_high): New entries. - (vbfcvtv4sf, vbfcvtv4sf_high): Likewise. - * config/arm/iterators.md (VBFCVT, VBFCVTM): New mode iterators. - (V_bf_low, V_bf_cvt_m): New mode attributes. - * config/arm/neon.md (neon_vbfcvtv4sf): New. - (neon_vbfcvtv4sf_highv8bf, neon_vbfcvtsf): New. - (neon_vbfcvt, neon_vbfcvt_highv8bf): New. - (neon_vbfcvtbf_cvtmode, neon_vbfcvtbf): New - * config/arm/unspecs.md (UNSPEC_BFCVT, UNSPEC_BFCVT_HIG): New. - -2020-03-03 Jakub Jelinek - - PR tree-optimization/93582 - * tree-ssa-sccvn.h (vn_reference_lookup): Add mask argument. - * tree-ssa-sccvn.c (struct vn_walk_cb_data): Add mask and masked_result - members, initialize them in the constructor and if mask is non-NULL, - artificially push_partial_def {} for the portions of the mask that - contain zeros. - (vn_walk_cb_data::finish): If mask is non-NULL, set masked_result to - val and return (void *)-1. Formatting fix. - (vn_reference_lookup_pieces): Adjust vn_walk_cb_data initialization. - Formatting fix. - (vn_reference_lookup): Add mask argument. If non-NULL, don't call - fully_constant_vn_reference_p nor vn_reference_lookup_1 and return - data.mask_result. - (visit_nary_op): Handle BIT_AND_EXPR of a memory load and INTEGER_CST - mask. - (visit_stmt): Formatting fix. - -2020-03-03 Richard Biener - - PR tree-optimization/93946 - * alias.h (refs_same_for_tbaa_p): Declare. - * alias.c (refs_same_for_tbaa_p): New function. - * tree-ssa-alias.c (ao_ref_alias_set): For a NULL ref return - zero. - * tree-ssa-scopedtables.h - (avail_exprs_stack::lookup_avail_expr): Add output argument - giving access to the hashtable entry. - * tree-ssa-scopedtables.c (avail_exprs_stack::lookup_avail_expr): - Likewise. - * tree-ssa-dom.c: Include alias.h. - (dom_opt_dom_walker::optimize_stmt): Validate TBAA state before - removing redundant store. - * tree-ssa-sccvn.h (vn_reference_s::base_set): New member. - (ao_ref_init_from_vn_reference): Adjust prototype. - (vn_reference_lookup_pieces): Likewise. - (vn_reference_insert_pieces): Likewise. - * tree-ssa-sccvn.c: Track base alias set in addition to alias - set everywhere. - (eliminate_dom_walker::eliminate_stmt): Also check base alias - set when removing redundant stores. - (visit_reference_op_store): Likewise. - * dse.c (record_store): Adjust valdity check for redundant - store removal. - -2020-03-03 Jakub Jelinek - - PR target/26877 - * config/s390/s390.h (OPTION_DEFAULT_SPECS): Reorder. - - PR rtl-optimization/94002 - * explow.c (plus_constant): Punt if cst has VOIDmode and - get_pool_mode is different from mode. - -2020-03-03 Claudiu Zissulescu - - * config/arc/arc.c (leigitimate_small_data_address_p): Check if an - address has an offset which fits the scalling constraint for a - load/store operation. - (legitimate_scaled_address_p): Update use - leigitimate_small_data_address_p. - (arc_print_operand): Likewise. - (arc_legitimate_address_p): Likewise. - (legitimate_small_data_address_p): Likewise. - -2020-03-03 Claudiu Zissulescu - - * config/arc/arc.md (fmasf4_fpu): Use accl_operand predicate. - (fnmasf4_fpu): Likewise. - -2020-03-03 Claudiu Zissulescu - - * config/arc/arc.md (adddi3): Early expand the 64bit operation into - 32bit ops. - (subdi3): Likewise. - (adddi3_i): Remove pattern. - (subdi3_i): Likewise. - -2020-03-03 Claudiu Zissulescu - - * config/arc/arc.md (eh_return): Add length info. - -2020-03-02 David Malcolm - - * doc/invoke.texi (-fanalyzer-show-duplicate-count): New. - -2020-03-02 David Malcolm - - * doc/invoke.texi (Static Analyzer Options): Add - -Wanalyzer-stale-setjmp-buffer to the list of options enabled - by -fanalyzer. - -2020-03-02 Uroš Bizjak - - PR target/93997 - * config/i386/i386.md (movstrict): Allow only - registers with VALID_INT_MODE_P modes. - -2020-03-02 Andrew Stubbs - - * config/gcn/gcn-valu.md (dpp_move): New. - (reduc_insn): Use 'U' and 'B' operand codes. - (reduc__scal_): Allow all types. - (reduc__scal_v64di): Delete. - (*_dpp_shr_): Allow all 1reg types. - (*plus_carry_dpp_shr_v64si): Change to ... - (*plus_carry_dpp_shr_): ... this and allow all 1reg int types. - (mov_from_lane63_v64di): Change to ... - (mov_from_lane63_): ... this, and allow all 64-bit modes. - * config/gcn/gcn.c (gcn_expand_dpp_shr_insn): Increase buffer size. - Support UNSPEC_MOV_DPP_SHR output formats. - (gcn_expand_reduc_scalar): Add "use_moves" reductions. - Add "use_extends" reductions. - (print_operand_address): Add 'I' and 'U' codes. - * config/gcn/gcn.md (unspec): Add UNSPEC_MOV_DPP_SHR. - -2020-03-02 Martin Liska - - * lto-wrapper.c: Fix typo in comment about - C++ standard version. - -2020-03-01 Martin Sebor - - PR c++/92721 - * calls.c (init_attr_rdwr_indices): Correctly handle attribute. - -2020-03-01 Martin Sebor - - PR middle-end/93829 - * tree-ssa-strlen.c (count_nonzero_bytes): Set the size to that - of a pointer in the outermost ADDR_EXPRs. - -2020-02-28 Jeff Law - - * config/v850/v850.h (STATIC_CHAIN_REGNUM): Change to r19. - * config/v850/v850.c (v850_asm_trampoline_template): Update - accordingly. - -2020-02-28 Michael Meissner - - PR target/93937 - * config/rs6000/vsx.md (vsx_extract__mode_var): - Delete insn. - -2020-02-28 Martin Liska - - PR other/93965 - * configure.ac: Improve detection of ld_date by requiring - either two dashes or none. - * configure: Regenerate. - -2020-02-28 Vladimir Makarov - - PR rtl-optimization/93564 - * ira-color.c (assign_hard_reg): Prefer smaller hard regno when we - do not honor reg alloc order. - -2020-02-27 Joel Hutton - - PR target/87612 - * config/aarch64/aarch64.c (aarch64_override_options): Fix - misleading warning string. - -2020-02-27 Martin Sebor - - * doc/invoke.texi (-Wbuiltin-declaration-mismatch): Fix a typo. - -2020-02-27 Michael Meissner - - PR target/93932 - * config/rs6000/vsx.md (vsx_extract__var, VSX_D iterator): - Split the insn into two parts. This insn only does variable - extract from a register. - (vsx_extract__var_load, VSX_D iterator): New insn, do - variable extract from memory. - (vsx_extract_v4sf_var): Split the insn into two parts. This insn - only does variable extract from a register. - (vsx_extract_v4sf_var_load): New insn, do variable extract from - memory. - (vsx_extract__var, VSX_EXTRACT_I iterator): Split the insn - into two parts. This insn only does variable extract from a - register. - (vsx_extract__var_load, VSX_EXTRACT_I iterator): New insn, - do variable extract from memory. - -2020-02-27 Martin Jambor - Feng Xue - - PR ipa/93707 - * ipa-cp.c (same_node_or_its_all_contexts_clone_p): Replaced with - new function calls_same_node_or_its_all_contexts_clone_p. - (cgraph_edge_brings_value_p): Use it. - (cgraph_edge_brings_value_p): Likewise. - (self_recursive_pass_through_p): Return false if caller is a clone. - (self_recursive_agg_pass_through_p): Likewise. - -2020-02-27 Jan Hubicka - - PR middle-end/92152 - * alias.c (ends_tbaa_access_path_p): Break out from ... - (component_uses_parent_alias_set_from): ... here. - * alias.h (ends_tbaa_access_path_p): Declare. - * tree-ssa-alias.c (access_path_may_continue_p): Break out from ...; - handle trailing arrays past end of tbaa access path. - (aliasing_component_refs_p): ... here; likewise. - (nonoverlapping_refs_since_match_p): Track TBAA segment of the access - path; disambiguate also past end of it. - (nonoverlapping_component_refs_p): Use only TBAA segment of the access - path. - -2020-02-27 Mihail Ionescu - - * (__ARM_NUM_LANES, __arm_lane, __arm_lane_q): Move to the - beginning of the file. - (vcreate_bf16, vcombine_bf16): New. - (vdup_n_bf16, vdupq_n_bf16): New. - (vdup_lane_bf16, vdup_laneq_bf16): New. - (vdupq_lane_bf16, vdupq_laneq_bf16): New. - (vduph_lane_bf16, vduph_laneq_bf16): New. - (vset_lane_bf16, vsetq_lane_bf16): New. - (vget_lane_bf16, vgetq_lane_bf16): New. - (vget_high_bf16, vget_low_bf16): New. - (vreinterpret_bf16_u8, vreinterpretq_bf16_u8): New. - (vreinterpret_bf16_u16, vreinterpretq_bf16_u16): New. - (vreinterpret_bf16_u32, vreinterpretq_bf16_u32): New. - (vreinterpret_bf16_u64, vreinterpretq_bf16_u64): New. - (vreinterpret_bf16_s8, vreinterpretq_bf16_s8): New. - (vreinterpret_bf16_s16, vreinterpretq_bf16_s16): New. - (vreinterpret_bf16_s32, vreinterpretq_bf16_s32): New. - (vreinterpret_bf16_s64, vreinterpretq_bf16_s64): New. - (vreinterpret_bf16_p8, vreinterpretq_bf16_p8): New. - (vreinterpret_bf16_p16, vreinterpretq_bf16_p16): New. - (vreinterpret_bf16_p64, vreinterpretq_bf16_p64): New. - (vreinterpret_bf16_f32, vreinterpretq_bf16_f32): New. - (vreinterpret_bf16_f64, vreinterpretq_bf16_f64): New. - (vreinterpretq_bf16_p128): New. - (vreinterpret_s8_bf16, vreinterpretq_s8_bf16): New. - (vreinterpret_s16_bf16, vreinterpretq_s16_bf16): New. - (vreinterpret_s32_bf16, vreinterpretq_s32_bf16): New. - (vreinterpret_s64_bf16, vreinterpretq_s64_bf16): New. - (vreinterpret_u8_bf16, vreinterpretq_u8_bf16): New. - (vreinterpret_u16_bf16, vreinterpretq_u16_bf16): New. - (vreinterpret_u32_bf16, vreinterpretq_u32_bf16): New. - (vreinterpret_u64_bf16, vreinterpretq_u64_bf16): New. - (vreinterpret_p8_bf16, vreinterpretq_p8_bf16): New. - (vreinterpret_p16_bf16, vreinterpretq_p16_bf16): New. - (vreinterpret_p64_bf16, vreinterpretq_p64_bf16): New. - (vreinterpret_f32_bf16, vreinterpretq_f32_bf16): New. - (vreinterpretq_p128_bf16): New. - * config/arm/arm_neon_builtins.def (VDX): Add V4BF. - (V_elem): Likewise. - (V_elem_l): Likewise. - (VD_LANE): Likewise. - (VQX) Add V8BF. - (V_DOUBLE): Likewise. - (VDQX): Add V4BF and V8BF. - (V_two_elem, V_three_elem, V_four_elem): Likewise. - (V_reg): Likewise. - (V_HALF): Likewise. - (V_double_vector_mode): Likewise. - (V_cmp_result): Likewise. - (V_uf_sclr): Likewise. - (V_sz_elem): Likewise. - (Is_d_reg): Likewise. - (V_mode_nunits): Likewise. - * config/arm/neon.md (neon_vdup_lane): Enable for BFloat16. - -2020-02-27 Andrew Stubbs - - * config/gcn/gcn-valu.md (VEC_SUBDWORD_MODE): New mode iterator. - (2): Change modes to VEC_ALL1REG_INT_MODE. - (3): Likewise. - (3): New. - (v3): New. - (3): New. - (3): Rename to ... - (v64si3): ... this, and change modes to V64SI. - * config/gcn/gcn.md (mnemonic): Use '%B' for not. - -2020-02-27 Alexandre Oliva - - * config/vx-common.h (NO_DOLLAR_IN_LABEL, NO_DOT_IN_LABEL): Leave - them alone on vx7. - -2020-02-27 Richard Biener - - PR tree-optimization/93508 - * tree-ssa-sccvn.c (vn_reference_lookup_3): Handle _CHK like - non-_CHK variants. Valueize their length arguments. - -2020-02-27 Richard Biener - - PR tree-optimization/93953 - * tree-vect-slp.c (slp_copy_subtree): Avoid keeping a reference - to the hash-map entry. - -2020-02-27 Andrew Stubbs - - * config/gcn/gcn.md (mov): Add transformations for BI subregs. - -2020-02-27 Mark Williams - - * dwarf2out.c (file_name_acquire): Call remap_debug_filename. - * lto-opts.c (lto_write_options): Drop -fdebug-prefix-map, - -ffile-prefix-map and -fmacro-prefix-map. - * lto-streamer-out.c: Include file-prefix-map.h. - (lto_output_location): Remap the file part of locations. - -2020-02-27 Jakub Jelinek - - PR c/93949 - * gimplify.c (gimplify_init_constructor): Don't promote readonly - DECL_REGISTER variables to TREE_STATIC. - - PR tree-optimization/93582 - PR tree-optimization/93945 - * tree-ssa-sccvn.c (vn_reference_lookup_3): Handle memset with - non-zero INTEGER_CST second argument and ref->offset or ref->size - not a multiple of BITS_PER_UNIT. - -2020-02-27 Jonathan Wakely - - * doc/install.texi (Binaries): Update description of BullFreeware. - -2020-02-26 Sandra Loosemore - - PR c++/90467 - - * doc/invoke.texi (Option Summary): Re-alphabetize warnings in - C++ Language Options, Warning Options, and Static Analyzer - Options lists. Document negative form of options enabled by - default. Move some things around to more accurately sort - warnings by category. - (C++ Dialect Options, Warning Options, Static Analyzer - Options): Document negative form of options when enabled by - default. Move some things around to more accurately sort - warnings by category. Add some missing index entries. - Light copy-editing. - -2020-02-26 Carl Love - - PR target/91276 - * doc/extend.texi (PowerPC AltiVec Built-in Functions available on - ISA 2.07): The builtin-function name __builtin_crypto_vpmsumb is only - for the vector unsigned short arguments. It is also listed as the - name of the built-in for arguments vector unsigned short, - vector unsigned int and vector unsigned long long built-ins. The - name of the builtins for these arguments should be: - __builtin_crypto_vpmsumh, __builtin_crypto_vpmsumw and - __builtin_crypto_vpmsumd respectively. - -2020-02-26 Richard Biener - - * tree-vect-slp.c (vect_print_slp_tree): Also dump ref count - and load permutation. - -2020-02-26 Richard Sandiford - - PR middle-end/93843 - * optabs-tree.c (supportable_convert_operation): Reject types with - scalar modes. - -2020-02-26 David Malcolm - - * Makefile.in (ANALYZER_OBJS): Add analyzer/bar-chart.o. - -2020-02-26 Jakub Jelinek - - PR tree-optimization/93820 - * gimple-ssa-store-merging.c (check_no_overlap): Change RHS_CODE - argument to ALL_INTEGER_CST_P boolean. - (imm_store_chain_info::try_coalesce_bswap): Adjust caller. - (imm_store_chain_info::coalesce_immediate_stores): Likewise. Handle - adjacent INTEGER_CST store into merged_store->only_constants like - overlapping one. - -2020-02-25 Jakub Jelinek - - PR other/93912 - * config/sh/sh.c (expand_cbranchdi4): Fix comment typo, probablity - -> probability. - * cfghooks.c (verify_flow_info): Likewise. - * predict.c (combine_predictions_for_bb): Likewise. - * bb-reorder.c (connect_better_edge_p): Likewise. Fix comment typo, - sucessor -> successor. - (find_traces_1_round): Fix comment typo, destinarion -> destination. - * omp-expand.c (expand_oacc_for): Fix comment typo, sucessors -> - successors. - * tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Fix dump - message typo, sucessors -> successors. - -2020-02-25 Martin Sebor - - * doc/extend.texi (attribute access): Correct an example. - -2020-02-25 Mihail Ionescu - - * config/aarch64/aarch64-builtins.c (aarch64_scalar_builtin_types): - Add simd_bf. - (aarch64_init_simd_builtin_scalar_types): Register simd_bf. - (VAR15, VAR16): New. - * config/aarch64/iterators.md (VALLDIF): Enable for V4BF and V8BF. - (VD): Enable for V4BF. - (VDC): Likewise. - (VQ): Enable for V8BF. - (VQ2): Likewise. - (VQ_NO2E): Likewise. - (VDBL, Vdbl): Add V4BF. - (V_INT_EQUIV, v_int_equiv): Add V4BF and V8BF. - * config/aarch64/arm_neon.h (bfloat16x4x2_t): New typedef. - (bfloat16x8x2_t): Likewise. - (bfloat16x4x3_t): Likewise. - (bfloat16x8x3_t): Likewise. - (bfloat16x4x4_t): Likewise. - (bfloat16x8x4_t): Likewise. - (vcombine_bf16): New. - (vld1_bf16, vld1_bf16_x2): New. - (vld1_bf16_x3, vld1_bf16_x4): New. - (vld1q_bf16, vld1q_bf16_x2): New. - (vld1q_bf16_x3, vld1q_bf16_x4): New. - (vld1_lane_bf16): New. - (vld1q_lane_bf16): New. - (vld1_dup_bf16): New. - (vld1q_dup_bf16): New. - (vld2_bf16): New. - (vld2q_bf16): New. - (vld2_dup_bf16): New. - (vld2q_dup_bf16): New. - (vld3_bf16): New. - (vld3q_bf16): New. - (vld3_dup_bf16): New. - (vld3q_dup_bf16): New. - (vld4_bf16): New. - (vld4q_bf16): New. - (vld4_dup_bf16): New. - (vld4q_dup_bf16): New. - (vst1_bf16, vst1_bf16_x2): New. - (vst1_bf16_x3, vst1_bf16_x4): New. - (vst1q_bf16, vst1q_bf16_x2): New. - (vst1q_bf16_x3, vst1q_bf16_x4): New. - (vst1_lane_bf16): New. - (vst1q_lane_bf16): New. - (vst2_bf16): New. - (vst2q_bf16): New. - (vst3_bf16): New. - (vst3q_bf16): New. - (vst4_bf16): New. - (vst4q_bf16): New. - -2020-02-25 Mihail Ionescu - - * config/aarch64/iterators.md (VDQF_F16) Add V4BF and V8BF. - (VALL_F16): Likewise. - (VALLDI_F16): Likewise. - (Vtype): Likewise. - (Vetype): Likewise. - (vswap_width_name): Likewise. - (VSWAP_WIDTH): Likewise. - (Vel): Likewise. - (VEL): Likewise. - (q): Likewise. - * config/aarch64/arm_neon.h (vset_lane_bf16, vsetq_lane_bf16): New. - (vget_lane_bf16, vgetq_lane_bf16): New. - (vcreate_bf16): New. - (vdup_n_bf16, vdupq_n_bf16): New. - (vdup_lane_bf16, vdup_laneq_bf16): New. - (vdupq_lane_bf16, vdupq_laneq_bf16): New. - (vduph_lane_bf16, vduph_laneq_bf16): New. - (vreinterpret_bf16_u8, vreinterpretq_bf16_u8): New. - (vreinterpret_bf16_u16, vreinterpretq_bf16_u16): New. - (vreinterpret_bf16_u32, vreinterpretq_bf16_u32): New. - (vreinterpret_bf16_u64, vreinterpretq_bf16_u64): New. - (vreinterpret_bf16_s8, vreinterpretq_bf16_s8): New. - (vreinterpret_bf16_s16, vreinterpretq_bf16_s16): New. - (vreinterpret_bf16_s32, vreinterpretq_bf16_s32): New. - (vreinterpret_bf16_s64, vreinterpretq_bf16_s64): New. - (vreinterpret_bf16_p8, vreinterpretq_bf16_p8): New. - (vreinterpret_bf16_p16, vreinterpretq_bf16_p16): New. - (vreinterpret_bf16_p64, vreinterpretq_bf16_p64): New - (vreinterpret_bf16_f16, vreinterpretq_bf16_f16): New - (vreinterpret_bf16_f32, vreinterpretq_bf16_f32): New. - (vreinterpret_bf16_f64, vreinterpretq_bf16_f64): New. - (vreinterpretq_bf16_p128): New. - (vreinterpret_s8_bf16, vreinterpretq_s8_bf16): New. - (vreinterpret_s16_bf16, vreinterpretq_s16_bf16): New. - (vreinterpret_s32_bf16, vreinterpretq_s32_bf16): New. - (vreinterpret_s64_bf16, vreinterpretq_s64_bf16): New. - (vreinterpret_u8_bf16, vreinterpretq_u8_bf16): New. - (vreinterpret_u16_bf16, vreinterpretq_u16_bf16): New. - (vreinterpret_u32_bf16, vreinterpretq_u32_bf16): New. - (vreinterpret_u64_bf16, vreinterpretq_u64_bf16): New. - (vreinterpret_p8_bf16, vreinterpretq_p8_bf16): New. - (vreinterpret_p16_bf16, vreinterpretq_p16_bf16): New. - (vreinterpret_p64_bf16, vreinterpretq_p64_bf16): New. - (vreinterpret_f32_bf16, vreinterpretq_f32_bf16): New. - (vreinterpret_f64_bf16,vreinterpretq_f64_bf16): New. - (vreinterpret_f16_bf16,vreinterpretq_f16_bf16): New. - (vreinterpretq_p128_bf16): New. - -2020-02-25 Dennis Zhang - - * config/arm/arm_neon.h (vbfdot_f32, vbfdotq_f32): New - (vbfdot_lane_f32, vbfdotq_laneq_f32): New. - (vbfdot_laneq_f32, vbfdotq_lane_f32): New. - * config/arm/arm_neon_builtins.def (vbfdot): New entry. - (vbfdot_lanev4bf, vbfdot_lanev8bf): Likewise. - * config/arm/iterators.md (VSF2BF): New attribute. - * config/arm/neon.md (neon_vbfdot): New entry. - (neon_vbfdot_lanev4bf): Likewise. - (neon_vbfdot_lanev8bf): Likewise. - -2020-02-25 Christophe Lyon - - * config/arm/arm.md (required_for_purecode): New attribute. - (enabled): Handle required_for_purecode. - * config/arm/thumb1.md (thumb1_movsi_insn): Add alternative to - work with -mpure-code. - -2020-02-25 Jakub Jelinek - - PR rtl-optimization/93908 - * combine.c (find_split_point): For store into ZERO_EXTRACT, and src - with mask. - -2019-02-25 Eric Botcazou - - * dwarf2out.c (dwarf2out_size_function): Run in early-DWARF mode. - -2020-02-25 Roman Zhuykov - - * doc/install.texi (--enable-checking): Adjust wording. - -2020-02-25 Richard Biener - - PR tree-optimization/93868 - * tree-vect-slp.c (slp_copy_subtree): New function. - (vect_attempt_slp_rearrange_stmts): Copy the SLP tree before - re-arranging stmts in it. - -2020-02-25 Jakub Jelinek - - PR middle-end/93874 - * passes.c (pass_manager::dump_passes): Create a cgraph node for the - dummy function and remove it at the end. - - PR translation/93864 - * config/lm32/lm32.c (lm32_setup_incoming_varargs): Fix comment typo - paramter -> parameter. - * config/aarch64/aarch64.c (aarch64_is_extend_from_extract): Likewise. - * ipa-prop.h (struct ipa_agg_replacement_value): Likewise. - -2020-02-24 Roman Zhuykov - - * doc/install.texi (--enable-checking): Properly document current - behavior. - (--enable-stage1-checking): Minor clarification about bootstrap. - -2020-02-24 David Malcolm - - PR analyzer/93032 - * doc/invoke.texi (-Wnanalyzer-tainted-array-index): Note that - -fanalyzer-checker=taint is also required. - (-fanalyzer-checker=): Note that providing this option enables the - given checker, and doing so may be required for checkers that are - disabled by default. - -2020-02-24 David Malcolm - - * doc/invoke.texi (-fanalyzer-verbosity=): "2" only shows - significant control flow events; add a "3" which shows all - control flow events; the old "3" becomes "4". - -2020-02-24 Jakub Jelinek - - PR tree-optimization/93582 - * tree-ssa-sccvn.c (vn_walk_cb_data::push_partial_def): Consider - pd.offset and pd.size to be counted in bits rather than bytes, add - support for maxsizei that is not a multiple of BITS_PER_UNIT and - handle bitfield stores and loads. - (vn_reference_lookup_3): Don't call ranges_known_overlap_p with - uncomparable quantities - bytes vs. bits. Allow push_partial_def - on offsets/sizes that aren't multiple of BITS_PER_UNIT and adjust - pd.offset/pd.size to be counted in bits rather than bytes. - Formatting fix. Rename shadowed len variable to buflen. - -2020-02-24 Prathamesh Kulkarni - Kugan Vivekandarajah - - PR driver/47785 - * gcc.c (putenv_COLLECT_AS_OPTIONS): New function. - (driver::main): Call putenv_COLLECT_AS_OPTIONS. - * opts-common.c (parse_options_from_collect_gcc_options): New function. - (prepend_xassembler_to_collect_as_options): Likewise. - * opts.h (parse_options_from_collect_gcc_options): Declare prototype. - (prepend_xassembler_to_collect_as_options): Likewise. - * lto-opts.c (lto_write_options): Stream assembler options - in COLLECT_AS_OPTIONS. - * lto-wrapper.c (xassembler_options_error): New static variable. - (get_options_from_collect_gcc_options): Move parsing options code to - parse_options_from_collect_gcc_options and call it. - (merge_and_complain): Validate -Xassembler options. - (append_compiler_options): Handle OPT_Xassembler. - (run_gcc): Append command line -Xassembler options to - collect_gcc_options. - * doc/invoke.texi: Add documentation about using Xassembler - options with LTO. - -2020-02-24 Kito Cheng - - * config/riscv/riscv.c (riscv_emit_float_compare): Change the code gen - for LTGT. - (riscv_rtx_costs): Update cost model for LTGT. - -2020-02-23 Vladimir Makarov - - PR rtl-optimization/93564 - * ira-color.c (struct update_cost_queue_elem): New member start. - (queue_update_cost, get_next_update_cost): Add new arg start. - (allocnos_conflict_p): New function. - (update_costs_from_allocno): Add new arg conflict_cost_update_p. - Add checking conflicts with allocnos_conflict_p. - (update_costs_from_prefs, restore_costs_from_copies): Adjust - update_costs_from_allocno calls. - (update_conflict_hard_regno_costs): Add checking conflicts with - allocnos_conflict_p. Adjust calls of queue_update_cost and - get_next_update_cost. - (assign_hard_reg): Adjust calls of queue_update_cost. Add - debugging print. - (bucket_allocno_compare_func): Restore previous version. - -2020-02-21 John David Anglin - - * config/pa/pa.c (pa_function_value): Fix check for word and - double-word size when handling aggregate return values. - * config/pa/som.h (ASM_DECLARE_FUNCTION_NAME): Fix to indicate - that homogeneous SFmode and DFmode aggregates are passed and returned - in general registers. - -2020-02-21 Jakub Jelinek - - PR translation/93759 - * opts.c (print_filtered_help): Translate help before appending - messages to it rather than after that. - -2020-02-19 Richard Sandiford - - PR rtl-optimization/PR92989 - * lra-lives.c (process_bb_lives): Restore the original order - of the bb liveness update. Call make_hard_regno_dead for each - register clobbered at the start of an EH receiver. - -2020-02-18 Feng Xue - - PR ipa/93763 - * ipa-cp.c (self_recursively_generated_p): Mark self-dependent value as - self-recursively generated. - -2020-02-21 Iain Sandoe - - PR target/93860 - * config/darwin-c.c (pop_field_alignment): Adjust quoting of - error string. - -2020-02-21 Mihail Ionescu - - * doc/sourcebuild.texi (arm_v8_1m_mve_ok): - Document new target supports option. - -2020-02-21 Dennis Zhang - - * config/arm/arm_neon.h (vmmlaq_s32, vmmlaq_u32, vusmmlaq_s32): New. - * config/arm/arm_neon_builtins.def (smmla, ummla, usmmla): New. - * config/arm/iterators.md (MATMUL): New iterator. - (sup): Add UNSPEC_MATMUL_S, UNSPEC_MATMUL_U, and UNSPEC_MATMUL_US. - (mmla_sfx): New attribute. - * config/arm/neon.md (neon_mmlav16qi): New. - * config/arm/unspecs.md (UNSPEC_MATMUL_S, UNSPEC_MATMUL_U): New. - (UNSPEC_MATMUL_US): New. - -2020-02-21 Mihail-Calin Ionescu - - * config/arm/arm.md: Prevent scalar shifts from being used when big - endian is enabled. - -2020-02-21 Jan Hubicka - Richard Biener - - PR tree-optimization/93586 - * tree-ssa-alias.c (nonoverlapping_array_refs_p): Finish array walk - after mismatched array refs; do not sure type size information to - recover from unmatched referneces with !flag_strict_aliasing_p. - -2020-02-21 Andrew Stubbs - - * config/gcn/gcn-valu.md (gather_load): Rename to ... - (gather_loadv64si): ... this and set operand 2 to V64SI. - (scatter_store): Rename to ... - (scatter_storev64si): ... this and set operand 1 to V64SI. - (scatter_exec): Delete. Move contents ... - (mask_scatter_store): ... here, and rename that to ... - (mask_gather_loadv64si): ... this. Set operand 2 to V64SI. - Remove mode conversion. - (mask_gather_load): Rename to ... - (mask_scatter_storev64si): ... this. Set operand 1 to V64SI. - Remove mode conversion. - * config/gcn/gcn.c (gcn_expand_scaled_offsets): Remove mode conversion. - -2020-02-21 Martin Jambor - - PR tree-optimization/93845 - * tree-sra.c (verify_sra_access_forest): Only test access size of - scalar types. - -2020-02-21 Andrew Stubbs - - * config/gcn/gcn.c (gcn_hard_regno_mode_ok): Align VGPR pairs. - * config/gcn/gcn-valu.md (addv64di3): Remove early-clobber. - (addv64di3_exec): Likewise. - (subv64di3): Likewise. - (subv64di3_exec): Likewise. - (addv64di3_zext): Likewise. - (addv64di3_zext_exec): Likewise. - (addv64di3_zext_dup): Likewise. - (addv64di3_zext_dup_exec): Likewise. - (addv64di3_zext_dup2): Likewise. - (addv64di3_zext_dup2_exec): Likewise. - (addv64di3_sext_dup2): Likewise. - (addv64di3_sext_dup2_exec): Likewise. - (v64di3): Likewise. - (v64di3_exec): Likewise. - (*_dpp_shr_v64di): Likewise. - (*plus_carry_dpp_shr_v64di): Likewise. - * config/gcn/gcn.md (adddi3): Likewise. - (addptrdi3): Likewise. - (di3): Likewise. - -2020-02-21 Andrew Stubbs - - * config/gcn/gcn-valu.md (vec_seriesv64di): Use gen_vec_duplicatev64di. - -2020-02-21 Richard Sandiford - - * config/aarch64/aarch64.c (aarch64_emit_approx_sqrt): Add SVE - support. Use aarch64_emit_mult instead of emitting multiplication - instructions directly. - * config/aarch64/aarch64-sve.md (sqrt2, rsqrt2) - (@aarch64_rsqrte, @aarch64_rsqrts): New expanders. - -2020-02-21 Richard Sandiford - - * config/aarch64/aarch64.c (aarch64_emit_mult): New function. - (aarch64_emit_approx_div): Add SVE support. Use aarch64_emit_mult - instead of emitting multiplication instructions directly. - * config/aarch64/iterators.md (SVE_COND_FP_BINARY_OPTAB): New iterator. - * config/aarch64/aarch64-sve.md (div3, @aarch64_frecpe) - (@aarch64_frecps): New expanders. - -2020-02-21 Richard Sandiford - - * config/aarch64/aarch64-protos.h (AARCH64_APPROX_MODE): Operate - on and produce uint64_ts rather than ints. - (AARCH64_APPROX_NONE, AARCH64_APPROX_ALL): Change to uint64_ts. - (cpu_approx_modes): Change the fields from unsigned int to uint64_t. - -2020-02-21 Richard Sandiford - - * config/aarch64/aarch64.c (aarch64_emit_approx_sqrt): Don't create - an unused xmsk register when handling approximate rsqrt. - -2020-02-21 Richard Sandiford - - * config/aarch64/aarch64.c (aarch64_emit_approx_sqrt): Fix inverted - flag_finite_math_only condition. - -2020-02-20 Uroš Bizjak - - PR target/93828 - * config/i386/mmx.md (*vec_extractv2sf_1): Match source operand - to destination operand for shufps alternative. - (*vec_extractv2si_1): Ditto. - -2020-02-20 Peter Bergner - - PR target/93658 - * config/rs6000/rs6000.c (rs6000_legitimate_address_p): Handle VSX - vector modes. - -2020-02-20 Martin Liska - - PR translation/93831 - * config/darwin.c (darwin_override_options): Change 64b to 64-bit mode. - -2020-02-20 Martin Liska - - PR translation/93830 - * common/config/avr/avr-common.c: Remote trailing "|". - -2020-02-19 Bernd Edlinger - - * collect2.c (maybe_run_lto_and_relink): Fix typo in - comment. - -2020-02-19 Richard Sandiford - - PR tree-optimization/93767 - * tree-vect-data-refs.c (vect_compile_time_alias): Remove the - access-size bias from the offset calculations for negative strides. - -2020-02-19 Bernd Edlinger - - * collect2.c (c_file, o_file): Make const again. - (ldout,lderrout, dump_ld_file): Remove. - (tool_cleanup): Avoid calling not signal-safe functions. - (maybe_run_lto_and_relink): Avoid possible signal handler - access to unintialzed memory (lto_o_files). - (main): Avoid leaking temp files in $TMPDIR. - Initialize c_file/o_file with concat, which avoids exposing - uninitialized memory to signal handler, which calls unlink(!). - Avoid calling maybe_unlink when the main function returns, - since the atexit handler is already doing this. - * collect2.h (dump_ld_file, ldout, lderrout): Remove. - -2020-02-19 Martin Jambor - - PR tree-optimization/93776 - * tree-sra.c (create_access): Do not create zero size accesses. - (get_access_for_expr): Do not search for zero sized accesses. - -2020-02-19 Martin Jambor - - PR tree-optimization/93667 - * tree-sra.c (scalarizable_type_p): Return false if record fields - do not follow wach other. - -2020-01-21 Kito Cheng - - * config/riscv/riscv.c (riscv_output_move) Using fmv.x.w/fmv.w.x - rather than fmv.x.s/fmv.s.x. - -2020-02-18 James Greenhalgh - - * config/aarch64/aarch64-simd-builtins.def - (intrinsic_vec_smult_lo_): New. - (intrinsic_vec_umult_lo_): Likewise. - (vec_widen_smult_hi_): Likewise. - (vec_widen_umult_hi_): Likewise. - * config/aarch64/aarch64-simd.md - (aarch64_intrinsic_vec_mult_lo_): New. - * config/aarch64/arm_neon.h (vmull_high_s8): Use intrinsics. - (vmull_high_s16): Likewise. - (vmull_high_s32): Likewise. - (vmull_high_u8): Likewise. - (vmull_high_u16): Likewise. - (vmull_high_u32): Likewise. - (vmull_s8): Likewise. - (vmull_s16): Likewise. - (vmull_s32): Likewise. - (vmull_u8): Likewise. - (vmull_u16): Likewise. - (vmull_u32): Likewise. - -2020-02-18 Martin Liska - - * value-prof.c (stream_out_histogram_value): Restore LTO PGO - bootstrap by missing removal of invalid sanity check. - -2020-02-18 Martin Liska - - PR ipa/92518 - * ipa-icf-gimple.c (func_checker::compare_gimple_assign): - Always compare LHS of gimple_assign. - -2020-02-18 Martin Liska - - PR ipa/93583 - * cgraph.c (cgraph_node::verify_node): Verify MALLOC attribute - and return type of functions. - * ipa-param-manipulation.c (ipa_param_adjustments::adjust_decl): - Drop MALLOC attribute for void functions. - * ipa-pure-const.c (funct_state_summary_t::duplicate): Drop - malloc_state for a new VOID clone. - -2020-02-18 Martin Liska - - PR ipa/92924 - * common.opt: Add -fprofile-reproducibility. - * doc/invoke.texi: Document it. - * value-prof.c (dump_histogram_value): - Document and support behavior for counters[0] - being a negative value. - (get_nth_most_common_value): Handle negative - counters[0] in respect to flag_profile_reproducible. - -2020-02-18 Jakub Jelinek - - PR ipa/93797 - * cgraph.c (verify_speculative_call): Use speculative_id instead of - speculative_uid in messages. Remove trailing whitespace from error - message. Use num_speculative_call_targets instead of - num_speculative_targets in a message. - (cgraph_node::verify_node): Use call_stmt instead of cal_stmt in - edge messages and stmt instead of cal_stmt in reference message. - - PR tree-optimization/93780 - * tree-ssa.c (non_rewritable_lvalue_p): Check valid_vector_subparts_p - before calling build_vector_type. - (execute_update_addresses_taken): Likewise. - - PR driver/93796 - * params.opt (-param=ipa-max-switch-predicate-bounds=): Fix help - typo, functoin -> function. - * tree.c (free_lang_data_in_decl): Fix comment typo, - functoin -> function. - * ipa-visibility.c (cgraph_externally_visible_p): Likewise. - -2020-02-17 David Malcolm - - * diagnostic.c (print_any_cwe): Don't call get_cwe_url if URLs - won't be printed. - (print_option_information): Don't call get_option_url if URLs - won't be printed. - -2020-02-17 Alexandre Oliva - - * tree-emutls.c (new_emutls_decl, emutls_common_1): Complete - handling of register_common-less targets. - -2020-02-17 Martin Liska - - PR ipa/93760 - * ipa-devirt.c (odr_types_equivalent_p): Fix grammar. - -2020-02-17 Martin Liska - - PR translation/93755 - * config/rs6000/rs6000.c (rs6000_option_override_internal): - Fix double quotes. - -2020-02-17 Martin Liska - - PR other/93756 - * config/rx/elf.opt: Fix typo. - -2020-02-17 Richard Biener - - PR c/86134 - * opts-global.c (print_ignored_options): Use inform and - amend message. - -2020-02-17 Jiufu Guo - - PR target/93047 - * config/rs6000/rs6000.md (untyped_call): Add emit_clobber. - -2020-02-16 Uroš Bizjak - - PR target/93743 - * config/i386/i386.md (atan2xf3): Swap operands 1 and 2. - (atan23): Update operand order in the call to gen_atan2xf3. - -2020-02-15 Jason Merrill - - * doc/invoke.texi (C Dialect Options): Add -std=c++20. - -2020-02-15 Jakub Jelinek - - PR tree-optimization/93744 - * match.pd (((m1 >/=/<= m2) * d -> (m1 >/=/<= m2) ? d : 0, - A - ((A - B) & -(C cmp D)) -> (C cmp D) ? B : A, - A + ((B - A) & -(C cmp D)) -> (C cmp D) ? B : A): For GENERIC, make - sure @2 in the first and @1 in the other patterns has no side-effects. - -2020-02-15 David Malcolm - Bernd Edlinger - - PR 87488 - PR other/93168 - * config.in (DIAGNOSTICS_URLS_DEFAULT): New define. - * configure.ac (--with-diagnostics-urls): New configuration - option, based on --with-diagnostics-color. - (DIAGNOSTICS_URLS_DEFAULT): New define. - * config.h: Regenerate. - * configure: Regenerate. - * diagnostic.c (diagnostic_urls_init): Handle -1 for - DIAGNOSTICS_URLS_DEFAULT from configure-time - --with-diagnostics-urls=auto-if-env by querying for a GCC_URLS - and TERM_URLS environment variable. - * diagnostic-url.h (diagnostic_url_format): New enum type. - (diagnostic_urls_enabled_p): rename to... - (determine_url_format): ... this, and change return type. - * diagnostic-color.c (parse_env_vars_for_urls): New helper function. - (auto_enable_urls): Disable URLs on xfce4-terminal, gnome-terminal, - the linux console, and mingw. - (diagnostic_urls_enabled_p): rename to... - (determine_url_format): ... this, and adjust. - * pretty-print.h (pretty_printer::show_urls): rename to... - (pretty_printer::url_format): ... this, and change to enum. - * pretty-print.c (pretty_printer::pretty_printer, - pp_begin_url, pp_end_url, test_urls): Adjust. - * doc/install.texi (--with-diagnostics-urls): Document the new - configuration option. - (--with-diagnostics-color): Document the existing interaction - with GCC_COLORS better. - * doc/invoke.texi (-fdiagnostics-urls): Add GCC_URLS and TERM_URLS - vindex reference. Update description of defaults based on the above. - (-fdiagnostics-color): Update description of how -fdiagnostics-color - interacts with GCC_COLORS. - -2020-02-14 Eric Botcazou - - PR target/93704 - * config/sparc/sparc.c (eligible_for_call_delay): Test HAVE_GNU_LD in - conjunction with TARGET_GNU_TLS in early return. - -2020-02-14 Alexander Monakov - - * rtlanal.c (rtx_cost): Handle a SET up front. Avoid division if - the mode is not wider than UNITS_PER_WORD. - -2020-02-14 Martin Jambor - - PR tree-optimization/93516 - * tree-sra.c (propagate_subaccesses_from_rhs): Do not create - access of the same type as the parent. - (propagate_subaccesses_from_lhs): Likewise. - -2020-02-14 Hongtao Liu - - PR target/93724 - * config/i386/avx512vbmi2intrin.h - (_mm512_shrdi_epi16, _mm512_mask_shrdi_epi16, - _mm512_maskz_shrdi_epi16, _mm512_shrdi_epi32, - _mm512_mask_shrdi_epi32, _mm512_maskz_shrdi_epi32, - _m512_shrdi_epi64, _m512_mask_shrdi_epi64, - _m512_maskz_shrdi_epi64, _mm512_shldi_epi16, - _mm512_mask_shldi_epi16, _mm512_maskz_shldi_epi16, - _mm512_shldi_epi32, _mm512_mask_shldi_epi32, - _mm512_maskz_shldi_epi32, _mm512_shldi_epi64, - _mm512_mask_shldi_epi64, _mm512_maskz_shldi_epi64): Fix typo - of lacking a closing parenthesis. - * config/i386/avx512vbmi2vlintrin.h - (_mm256_shrdi_epi16, _mm256_mask_shrdi_epi16, - _mm256_maskz_shrdi_epi16, _mm256_shrdi_epi32, - _mm256_mask_shrdi_epi32, _mm256_maskz_shrdi_epi32, - _m256_shrdi_epi64, _m256_mask_shrdi_epi64, - _m256_maskz_shrdi_epi64, _mm256_shldi_epi16, - _mm256_mask_shldi_epi16, _mm256_maskz_shldi_epi16, - _mm256_shldi_epi32, _mm256_mask_shldi_epi32, - _mm256_maskz_shldi_epi32, _mm256_shldi_epi64, - _mm256_mask_shldi_epi64, _mm256_maskz_shldi_epi64, - _mm_shrdi_epi16, _mm_mask_shrdi_epi16, - _mm_maskz_shrdi_epi16, _mm_shrdi_epi32, - _mm_mask_shrdi_epi32, _mm_maskz_shrdi_epi32, - _mm_shrdi_epi64, _mm_mask_shrdi_epi64, - _m_maskz_shrdi_epi64, _mm_shldi_epi16, - _mm_mask_shldi_epi16, _mm_maskz_shldi_epi16, - _mm_shldi_epi32, _mm_mask_shldi_epi32, - _mm_maskz_shldi_epi32, _mm_shldi_epi64, - _mm_mask_shldi_epi64, _mm_maskz_shldi_epi64): Ditto. - -2020-02-13 H.J. Lu - - PR target/93656 - * config/i386/i386.c (ix86_trampoline_init): Skip ENDBR32 at - the target function entry. - -2020-02-13 Claudiu Zissulescu - - * common/config/arc/arc-common.c (arc_option_optimization_table): - Disable if-conversion step when optimized for size. - -2020-02-13 Claudiu Zissulescu - - * config/arc/arc.c (arc_conditional_register_usage): R0-R3 and - R12-R15 are always in ARCOMPACT16_REGS register class. - * config/arc/arc.opt (mq-class): Deprecate. - * config/arc/constraint.md ("q"): Remove dependency on mq-class - option. - * doc/invoke.texi (mq-class): Update text. - * common/config/arc/arc-common.c (arc_option_optimization_table): - Update list. - -2020-02-13 Claudiu Zissulescu - - * config/arc/arc.c (arc_insn_cost): New function. - (TARGET_INSN_COST): Define. - * config/arc/arc.md (cost): New attribute. - (add_n): Use arc_nonmemory_operand. - (ashlsi3_insn): Likewise, also update constraints. - (ashrsi3_insn): Likewise. - (rotrsi3): Likewise. - (add_shift): Likewise. - * config/arc/predicates.md (arc_nonmemory_operand): New predicate. - -2020-02-13 Claudiu Zissulescu - - * config/arc/arc.md (mulsidi_600): Correctly select mlo/mhi - registers. - (umulsidi_600): Likewise. - -2020-02-13 Jakub Jelinek - - PR target/93696 - * config/i386/avx512bitalgintrin.h (_mm512_mask_popcnt_epi8, - _mm512_mask_popcnt_epi16, _mm256_mask_popcnt_epi8, - _mm256_mask_popcnt_epi16, _mm_mask_popcnt_epi8, - _mm_mask_popcnt_epi16): Rename __B argument to __A and __A to __W, - pass __A to the builtin followed by __W instead of __A followed by - __B. - * config/i386/avx512vpopcntdqintrin.h (_mm512_mask_popcnt_epi32, - _mm512_mask_popcnt_epi64): Likewise. - * config/i386/avx512vpopcntdqvlintrin.h (_mm_mask_popcnt_epi32, - _mm256_mask_popcnt_epi32, _mm_mask_popcnt_epi64, - _mm256_mask_popcnt_epi64): Likewise. - - PR tree-optimization/93582 - * fold-const.h (shift_bytes_in_array_left, - shift_bytes_in_array_right): Declare. - * fold-const.c (shift_bytes_in_array_left, - shift_bytes_in_array_right): New function, moved from - gimple-ssa-store-merging.c, no longer static. - * gimple-ssa-store-merging.c (shift_bytes_in_array): Move - to gimple-ssa-store-merging.c and rename to shift_bytes_in_array_left. - (shift_bytes_in_array_right): Move to gimple-ssa-store-merging.c. - (encode_tree_to_bitpos): Use shift_bytes_in_array_left instead of - shift_bytes_in_array. - (verify_shift_bytes_in_array): Rename to ... - (verify_shift_bytes_in_array_left): ... this. Use - shift_bytes_in_array_left instead of shift_bytes_in_array. - (store_merging_c_tests): Call verify_shift_bytes_in_array_left - instead of verify_shift_bytes_in_array. - * tree-ssa-sccvn.c (vn_reference_lookup_3): For native_encode_expr - / native_interpret_expr where the store covers all needed bits, - punt on PDP-endian, otherwise allow all involved offsets and sizes - not to be byte-aligned. - - PR target/93673 - * config/i386/sse.md (k): Drop mode from last operand and - use const_0_to_255_operand predicate instead of immediate_operand. - (avx512dq_fpclass, - avx512dq_vmfpclass, - vgf2p8affineinvqb_, - vgf2p8affineqb_): Drop mode from - const_0_to_255_operand predicated operands. - -2020-02-12 Jeff Law - - * config/h8300/h8300.md (comparison shortening peepholes): Use - a mode iterator to merge the HImode and SImode peepholes. - -2020-02-12 Jakub Jelinek - - PR middle-end/93663 - * real.c (is_even): Make static. Function comment fix. - (is_halfway_below): Make static, don't assert R is not inf/nan, - instead return false for those. Small formatting fixes. - -2020-02-12 Martin Sebor - - PR middle-end/93646 - * tree-ssa-strlen.c (handle_builtin_stxncpy): Rename... - (handle_builtin_stxncpy_strncat): ...to this. Change first argument. - Issue only -Wstringop-overflow strncat, never -Wstringop-truncation. - (strlen_check_and_optimize_call): Adjust callee name. - -2020-02-12 Jeff Law - - * config/h8300/h8300.md (comparison shortening peepholes): Drop - (and (xor)) variant. Combine other two into single peephole. - -2020-02-12 Wilco Dijkstra - - PR rtl-optimization/93565 - * config/aarch64/aarch64.c (aarch64_rtx_costs): Add CTZ costs. - -2020-02-12 Wilco Dijkstra - - * config/aarch64/aarch64-simd.md - (aarch64_zero_extend_reduc_plus_): New pattern. - * config/aarch64/aarch64.md (popcount2): Use it instead of - generating separate ADDV and zero_extend patterns. - * config/aarch64/iterators.md (VDQV_E): New iterator. - -2020-02-12 Jeff Law - - * config/h8300/h8300.md (cpymemsi, movmd): Remove dead patterns, - expanders, splits, etc. - (movmd_internal_, movmd splitter, movstr, movsd): Likewise. - (stpcpy_internal_, stpcpy splitter): Likewise. - (peepholes to convert QI/HI mode pushes to SI mode pushes): Likewise. - * config/h8300/h8300.c (h8300_swap_into_er6): Remove unused function. - (h8300_swap_out_of_er6, h8sx_emit_movmd): Likewise - * config/h8300/h8300-protos.h (h8300_swap_into_er6): Remove unused - function prototype. - (h8300_swap_out_of_er6, h8sx_emit_movmd): Likewise. - -2020-02-12 Jakub Jelinek - - PR target/93670 - * config/i386/sse.md (VI48F_256_DQ): New mode iterator. - (avx512vl_vextractf128): Use it instead of VI48F_256. Remove - TARGET_AVX512DQ from condition. - (vec_extract_lo_): Use - instead of in condition. If - TARGET_AVX512DQ is false, emit vextract*64x4 instead of - vextract*32x8. - (vec_extract_lo_): Drop - from condition. - -2020-02-12 Kewen Lin - - PR target/91052 - * ira.c (combine_and_move_insns): Skip multiple_sets def_insn. - -2020-02-12 Segher Boessenkool - - * config/rs6000/rs6000.c (rs6000_debug_print_mode): Don't use sizeof - where strlen is more legible. - (rs6000_builtin_vectorized_libmass): Ditto. - (rs6000_print_options_internal): Ditto. - -2020-02-11 Martin Sebor - - PR tree-optimization/93683 - * tree-ssa-alias.c (stmt_kills_ref_p): Avoid using LHS when not set. - -2020-02-11 Michael Meissner - - * config/rs6000/predicates.md (cint34_operand): Rename the - -mprefixed-addr option to be -mprefixed. - * config/rs6000/rs6000-cpus.def (ISA_FUTURE_MASKS_SERVER): Rename - the -mprefixed-addr option to be -mprefixed. - (OTHER_FUTURE_MASKS): Likewise. - (POWERPC_MASKS): Likewise. - * config/rs6000/rs6000.c (rs6000_option_override_internal): Rename - the -mprefixed-addr option to be -mprefixed. Change error - messages to refer to -mprefixed. - (num_insns_constant_gpr): Rename the -mprefixed-addr option to be - -mprefixed. - (rs6000_legitimate_offset_address_p): Likewise. - (rs6000_mode_dependent_address): Likewise. - (rs6000_opt_masks): Change the spelling of "-mprefixed-addr" to be - "-mprefixed" for target attributes and pragmas. - (address_to_insn_form): Rename the -mprefixed-addr option to be - -mprefixed. - (rs6000_adjust_insn_length): Likewise. - * config/rs6000/rs6000.h (FINAL_PRESCAN_INSN): Rename the - -mprefixed-addr option to be -mprefixed. - (ASM_OUTPUT_OPCODE): Likewise. - * config/rs6000/rs6000.md (prefixed insn attribute): Rename the - -mprefixed-addr option to be -mprefixed. - * config/rs6000/rs6000.opt (-mprefixed): Rename the - -mprefixed-addr option to be prefixed. Change the option from - being undocumented to being documented. - * doc/invoke.texi (RS/6000 and PowerPC Options): Document the - -mprefixed option. Update the -mpcrel documentation to mention - -mprefixed. - -2020-02-11 Hans-Peter Nilsson - - * ira-conflicts.c (print_hard_reg_set): Correct output for sets - including FIRST_PSEUDO_REGISTER - 1. - * ira-color.c (print_hard_reg_set): Ditto. - -2020-02-11 Stam Markianos-Wright - - * config/arm/arm-builtins.c (enum arm_type_qualifiers): - (USTERNOP_QUALIFIERS): New define. - (USMAC_LANE_QUADTUP_QUALIFIERS): New define. - (SUMAC_LANE_QUADTUP_QUALIFIERS): New define. - (arm_expand_builtin_args): Add case ARG_BUILTIN_LANE_QUADTUP_INDEX. - (arm_expand_builtin_1): Add qualifier_lane_quadtup_index. - * config/arm/arm_neon.h (vusdot_s32): New. - (vusdot_lane_s32): New. - (vusdotq_lane_s32): New. - (vsudot_lane_s32): New. - (vsudotq_lane_s32): New. - * config/arm/arm_neon_builtins.def (usdot, usdot_lane,sudot_lane): New. - * config/arm/iterators.md (DOTPROD_I8MM): New. - (sup, opsuffix): Add . - * config/arm/neon.md (neon_usdot, dot_lane: New. - * config/arm/unspecs.md (UNSPEC_DOT_US, UNSPEC_DOT_SU): New. - -2020-02-11 Richard Biener - - PR tree-optimization/93661 - PR tree-optimization/93662 - * tree-ssa-sccvn.c (vn_reference_lookup_3): Properly guard - tree_to_poly_int64. - * tree-sra.c (get_access_for_expr): Likewise. - -2020-02-10 Jakub Jelinek - - PR target/93637 - * config/i386/sse.md (VI_256_AVX2): New mode iterator. - (vcond_mask_): Use it instead of VI_256. - Change condition from TARGET_AVX2 to TARGET_AVX. - -2020-02-10 Iain Sandoe - - PR other/93641 - * config/darwin-c.c (darwin_cfstring_ref_p): Fix up last - argument of strncmp. - -2020-02-10 Hans-Peter Nilsson - - Try to generate zero-based comparisons. - * config/cris/cris.c (cris_reduce_compare): New function. - * config/cris/cris-protos.h (cris_reduce_compare): Add prototype. - * config/cris/cris.md ("cbranch4", "cbranchdi4", "cstoredi4") - (cstore4"): Apply cris_reduce_compare in expanders. - -2020-02-10 Richard Earnshaw - - PR target/91913 - * config/arm/arm.md (movsi_compare0): Allow SP as a source register - in Thumb state and also as a destination in Arm state. Add T16 - variants. - -2020-02-10 Hans-Peter Nilsson - - * md.texi (Define Subst): Match closing paren in example. - -2020-02-10 Jakub Jelinek - - PR target/58218 - PR other/93641 - * config/i386/i386.c (x86_64_elf_section_type_flags): Fix up last - arguments of strncmp. - -2020-02-10 Feng Xue - - PR ipa/93203 - * ipa-cp.c (ipcp_lattice::add_value): Add source with same call edge - but different source value. - (adjust_callers_for_value_intersection): New function. - (gather_edges_for_value): Adjust order of callers to let a - non-self-recursive caller be the first element. - (self_recursive_pass_through_p): Add a new parameter "simple", and - check generalized self-recursive pass-through jump function. - (self_recursive_agg_pass_through_p): Likewise. - (find_more_scalar_values_for_callers_subset): Compute value from - pass-through jump function for self-recursive. - (intersect_with_plats): Cleanup previous implementation code for value - itersection with self-recursive call edge. - (intersect_with_agg_replacements): Likewise. - (intersect_aggregates_with_edge): Deduce value from pass-through jump - function for self-recursive call edge. Cleanup previous implementation - code for value intersection with self-recursive call edge. - (decide_whether_version_node): Remove dead callers and adjust order - to let a non-self-recursive caller be the first element. - -2020-02-09 Uroš Bizjak - - * recog.c: Move pass_split_before_sched2 code in front of - pass_split_before_regstack. - (pass_data_split_before_sched2): Rename pass to split3 from split4. - (pass_data_split_before_regstack): Rename pass to split4 from split3. - (rest_of_handle_split_before_sched2): Remove. - (pass_split_before_sched2::execute): Unconditionally call - split_all_insns. - (enable_split_before_sched2): New function. - (pass_split_before_sched2::gate): Use enable_split_before_sched2. - (pass_split_before_regstack::gate): Ditto. - * config/nds32/nds32.c (nds32_split_double_word_load_store_p): - Update name check for renamed split4 pass. - * config/sh/sh.c (register_sh_passes): Update pass insertion - point for renamed split4 pass. - -2020-02-09 Jakub Jelinek - - * gimplify.c (gimplify_adjust_omp_clauses_1): Promote - DECL_IN_CONSTANT_POOL variables into "omp declare target" to avoid - copying them around between host and target. - -2020-02-08 Andrew Pinski - - PR target/91927 - * config/aarch64/aarch64-simd.md (movmisalign): Check - STRICT_ALIGNMENT also. - -2020-02-08 Jim Wilson - - PR target/93532 - * config/riscv/riscv.h (HARD_REGNO_CALLER_SAVE_MODE): Define. - -2020-02-08 Uroš Bizjak - Jakub Jelinek - - PR target/65782 - * config/i386/i386.h (CALL_USED_REGISTERS): Make - xmm16-xmm31 call-used even in 64-bit ms-abi. - -2020-02-07 Dennis Zhang - - * config/aarch64/aarch64-simd-builtins.def (simd_smmla): New entry. - (simd_ummla, simd_usmmla): Likewise. - * config/aarch64/aarch64-simd.md (aarch64_simd_mmlav16qi): New. - * config/aarch64/arm_neon.h (vmmlaq_s32, vmmlaq_u32): New. - (vusmmlaq_s32): New. - -2020-02-07 Richard Biener - - PR middle-end/93519 - * tree-inline.c (fold_marked_statements): Do a PRE walk, - skipping unreachable regions. - (optimize_inline_calls): Skip folding stmts when we didn't - inline. - -2020-02-07 H.J. Lu - - PR target/85667 - * config/i386/i386.c (function_arg_ms_64): Add a type argument. - Don't return aggregates with only SFmode and DFmode in SSE - register. - (ix86_function_arg): Pass arg.type to function_arg_ms_64. - -2020-02-07 Jakub Jelinek - - PR target/93122 - * config/rs6000/rs6000-logue.c - (rs6000_emit_probe_stack_range_stack_clash): Always use gen_add3_insn, - if it fails, move rs into end_addr and retry. Add - REG_FRAME_RELATED_EXPR note whenever it returns more than one insn or - the insn pattern doesn't describe well what exactly happens to - dwarf2cfi.c. - - PR target/93594 - * config/i386/predicates.md (avx_identity_operand): Remove. - * config/i386/sse.md (*avx_vec_concat_1): Remove. - (avx__, - avx512f__256): Change patterns to - a VEC_CONCAT of the operand and UNSPEC_CAST. - (avx512f__): Change pattern to - a VEC_CONCAT of VEC_CONCAT of the operand and UNSPEC_CAST with - UNSPEC_CAST. - - PR target/93611 - * config/i386/i386.c (ix86_lea_outperforms): Make sure to clear - recog_data.insn if distance_non_agu_define changed it. - -2020-02-06 Michael Meissner - - PR target/93569 - * config/rs6000/rs6000.c (reg_to_non_prefixed): Before ISA 3.0 - we only had X-FORM (reg+reg) addressing for vectors. Also before - ISA 3.0, we only had X-FORM addressing for scalars in the - traditional Altivec registers. - -2020-02-06 - Vladimir Makarov - - PR rtl-optimization/93561 - * lra-assigns.c (spill_for): Check that tested hard regno is not out of - hard register range. - -2020-02-06 Richard Sandiford - - * config/aarch64/aarch64.md (aarch64_movk): Add a type - attribute. - -2020-02-06 Segher Boessenkool - - * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Handle the case - where the low and the high 32 bits are equal to each other specially, - with an rldimi instruction. - -2020-02-06 Mihail Ionescu - - * config/arm/arm-cpus.in: Set profile M for armv8.1-m.main. - -2020-02-06 Mihail Ionescu - - * config/arm/arm-tables.opt: Regenerate. - -2020-02-06 Richard Sandiford - - PR target/87763 - * config/aarch64/aarch64-protos.h (aarch64_movk_shift): Declare. - * config/aarch64/aarch64.c (aarch64_movk_shift): New function. - * config/aarch64/aarch64.md (aarch64_movk): New pattern. - -2020-02-06 Richard Sandiford - - PR rtl-optimization/87763 - * config/aarch64/aarch64.md (*ashiftsi_extvdi_bfiz): New pattern. - -2020-02-06 Delia Burduv - - * config/aarch64/aarch64-simd-builtins.def - (bfmlaq): New built-in function. - (bfmlalb): New built-in function. - (bfmlalt): New built-in function. - (bfmlalb_lane): New built-in function. - (bfmlalt_lane): New built-in function. - * config/aarch64/aarch64-simd.md - (aarch64_bfmmlaqv4sf): New pattern. - (aarch64_bfmlalv4sf): New pattern. - (aarch64_bfmlal_lanev4sf): New pattern. - * config/aarch64/arm_neon.h (vbfmmlaq_f32): New intrinsic. - (vbfmlalbq_f32): New intrinsic. - (vbfmlaltq_f32): New intrinsic. - (vbfmlalbq_lane_f32): New intrinsic. - (vbfmlaltq_lane_f32): New intrinsic. - (vbfmlalbq_laneq_f32): New intrinsic. - (vbfmlaltq_laneq_f32): New intrinsic. - * config/aarch64/iterators.md (BF_MLA): New int iterator. - (bt): New int attribute. - -2020-02-06 Uroš Bizjak - - * config/i386/i386.md (*pushtf): Emit "#" instead of - calling gcc_unreachable in insn output. - (*pushxf): Ditto. - (*pushdf): Ditto. - (*pushsf_rex64): Ditto for alternatives other than 1. - (*pushsf): Ditto for alternatives other than 1. - -2020-02-06 Martin Liska - - PR gcov-profile/91971 - PR gcov-profile/93466 - * coverage.c (coverage_init): Revert mangling of - path into filename. It can lead to huge filename length. - Creation of subfolders seem more natural. - -2020-02-06 Stam Markianos-Wright - - PR target/93300 - * config/arm/arm.c (arm_block_arith_comp_libfuncs_for_mode): New. - (arm_init_libfuncs): Add BFmode support to block spurious BF libfuncs. - Use arm_block_arith_comp_libfuncs_for_mode for HFmode. - -2020-02-06 Jakub Jelinek - - PR target/93594 - * config/i386/predicates.md (avx_identity_operand): New predicate. - * config/i386/sse.md (*avx_vec_concat_1): New - define_insn_and_split. - - PR libgomp/93515 - * omp-low.c (use_pointer_for_field): For nested constructs, also - look for map clauses on target construct. - (scan_omp_1_stmt) : Bump temporarily - taskreg_nesting_level. - - PR libgomp/93515 - * gimplify.c (gimplify_scan_omp_clauses) : If adding - shared clause, call omp_notice_variable on outer context if any. - -2020-02-05 Jason Merrill - - PR c++/92003 - * symtab.c (symtab_node::nonzero_address): A DECL_COMDAT decl has - non-zero address even if weak and not yet defined. - -2020-02-05 Martin Sebor - - PR tree-optimization/92765 - * gimple-fold.c (get_range_strlen_tree): Handle MEM_REF and PARM_DECL. - * tree-ssa-strlen.c (compute_string_length): Remove. - (determine_min_objsize): Remove. - (get_len_or_size): Add an argument. Call get_range_strlen_dynamic. - Avoid using type size as the upper bound on string length. - (handle_builtin_string_cmp): Add an argument. Adjust. - (strlen_check_and_optimize_call): Pass additional argument to - handle_builtin_string_cmp. - -2020-02-05 Uroš Bizjak - - * config/i386/i386.md (*pushdi2_rex64 peephole2): Remove. - (*pushdi2_rex64 peephole2): Unconditionally split after - epilogue_completed. - (*ashl3_doubleword): Ditto. - (*3_doubleword): Ditto. - -2020-02-05 Michael Meissner - - PR target/93568 - * config/rs6000/rs6000.c (get_vector_offset): Fix - -2020-02-05 Andrew Stubbs - - * config/gcn/t-gcn-hsa (MULTILIB_OPTIONS): Use / not space. - -2020-02-05 David Malcolm - - * doc/analyzer.texi - (Special Functions for Debugging the Analyzer): Update description - of __analyzer_dump_exploded_nodes. - -2020-02-05 Jakub Jelinek - - PR target/92190 - * config/i386/i386-features.c (ix86_add_reg_usage_to_vzeroupper): Only - include sets and not clobbers in the vzeroupper pattern. - * config/i386/sse.md (*avx_vzeroupper): Require in insn condition that - the parallel has 17 (64-bit) or 9 (32-bit) elts. - (*avx_vzeroupper_1): New define_insn_and_split. - - PR target/92190 - * recog.c (pass_split_after_reload::gate): For STACK_REGS targets, - don't run when !optimize. - (pass_split_before_regstack::gate): For STACK_REGS targets, run even - when !optimize. - -2020-02-05 Richard Biener - - PR middle-end/90648 - * genmatch.c (dt_node::gen_kids_1): Emit number of argument - checks before matching calls. - -2020-02-05 Jakub Jelinek - - * tree-ssa-alias.c (aliasing_matching_component_refs_p): Fix up - function comment typo. - - PR middle-end/93555 - * omp-simd-clone.c (expand_simd_clones): If simd_clone_mangle or - simd_clone_create failed when i == 0, adjust clone->nargs by - clone->inbranch. - -2020-02-05 Martin Liska - - PR c++/92717 - * doc/invoke.texi: Document that one should - not combine ASLR and -fpch. - -2020-02-04 Richard Biener - - PR tree-optimization/93538 - * match.pd (addr EQ/NE ptr): Amend to handle &ptr->x EQ/NE ptr. - -2020-02-04 Richard Biener - - PR tree-optimization/91123 - * tree-ssa-sccvn.c (vn_walk_cb_data::finish): New method. - (vn_walk_cb_data::last_vuse): New member. - (vn_walk_cb_data::saved_operands): Likewsie. - (vn_walk_cb_data::~vn_walk_cb_data): Release saved_operands. - (vn_walk_cb_data::push_partial_def): Use finish. - (vn_reference_lookup_2): Update last_vuse and use finish if - we've saved operands. - (vn_reference_lookup_3): Use finish and update calls to - push_partial_defs everywhere. When translating through - memcpy or aggregate copies save off operands and alias-set. - (eliminate_dom_walker::eliminate_stmt): Restore VN_WALKREWRITE - operation for redundant store removal. - -2020-02-04 Richard Biener - - PR tree-optimization/92819 - * tree-ssa-forwprop.c (simplify_vector_constructor): Avoid - generating more stmts than before. - -2020-02-04 Martin Liska - - * config/arm/arm.c (arm_gen_far_branch): Move the function - outside of selftests. - -2020-02-03 Michael Meissner - - * config/rs6000/rs6000.c (adjust_vec_address_pcrel): New helper - function to adjust PC-relative vector addresses. - (rs6000_adjust_vec_address): Call adjust_vec_address_pcrel to - handle vectors with PC-relative addresses. - -2020-02-03 Michael Meissner - - * config/rs6000/rs6000.c (reg_to_non_prefixed): Add forward - reference. - (hard_reg_and_mode_to_addr_mask): Delete. - (rs6000_adjust_vec_address): If the original vector address - was REG+REG or REG+OFFSET and the element is not zero, do the add - of the elements in the original address before adding the offset - for the vector element. Use address_to_insn_form to validate the - address using the register being loaded, rather than guessing - whether the address is a DS-FORM or DQ-FORM address. - -2020-02-03 Michael Meissner - - * config/rs6000/rs6000.c (get_vector_offset): New helper function - to calculate the offset in memory from the start of a vector of a - particular element. Add code to keep the element number in - bounds if the element number is variable. - (rs6000_adjust_vec_address): Move calculation of offset of the - vector element to get_vector_offset. - (rs6000_split_vec_extract_var): Do not do the initial AND of - element here, move the code to get_vector_offset. - -2020-02-03 Michael Meissner - - * config/rs6000/rs6000.c (rs6000_adjust_vec_address): Add some - gcc_asserts. - -2020-02-03 Segher Boessenkool - - * config/rs6000/constraints.md: Improve documentation. - -2020-02-03 Richard Earnshaw - - PR target/93548 - * config/arm/t-arm: ($(srcdir)/config/arm/arm-tune.md) - ($(srcdir)/config/arm/arm-tables.opt): Use move-if-change. - -2020-02-03 Andrew Stubbs - - * config.gcc: Remove "carrizo" support. - * config/gcn/gcn-opts.h (processor_type): Likewise. - * config/gcn/gcn.c (gcn_omp_device_kind_arch_isa): Likewise. - * config/gcn/gcn.opt (gpu_type): Likewise. - * config/gcn/t-omp-device: Likewise. - -2020-02-03 Stam Markianos-Wright - - PR target/91816 - * config/arm/arm-protos.h: New function arm_gen_far_branch prototype. - * config/arm/arm.c (arm_gen_far_branch): New function - arm_gen_far_branch. - * config/arm/arm.md: Update b for Thumb2 range checks. - -2020-02-03 Julian Brown - Tobias Burnus - - * doc/invoke.texi: Update mention of OpenACC version to 2.6. - -2020-02-03 Jakub Jelinek - - PR target/93533 - * config/s390/s390.md (popcounthi2_z196): Fix up expander to emit - valid RTL to sum up the lowest and second lowest bytes of the popcnt - result. - -2020-02-02 Vladimir Makarov - - PR rtl-optimization/91333 - * ira-color.c (struct allocno_color_data): Add member - hard_reg_prefs. - (init_allocno_threads): Set the member up. - (bucket_allocno_compare_func): Add compare hard reg - prefs. - -2020-01-31 Sandra Loosemore - - nios2: Support for GOT-relative DW_EH_PE_datarel encoding. - - * configure.ac [nios2-*-*]: Check HAVE_AS_NIOS2_GOTOFF_RELOCATION. - * config.in: Regenerated. - * configure: Regenerated. - * config/nios2/nios2.h (ASM_PREFERRED_EH_DATA_FORMAT): Fix handling - for PIC when HAVE_AS_NIOS2_GOTOFF_RELOCATION. - (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New. - -2020-02-01 Andrew Burgess - - * configure: Regenerate. - -2020-01-31 Vladimir Makarov - - PR rtl-optimization/91333 - * ira-color.c (bucket_allocno_compare_func): Move conflict hard - reg preferences comparison up. - -2020-01-31 Richard Sandiford - - * config/aarch64/aarch64.h (TARGET_SVE_BF16): New macro. - * config/aarch64/aarch64-sve-builtins-sve2.h (svcvtnt): Move to - aarch64-sve-builtins-base.h. - * config/aarch64/aarch64-sve-builtins-sve2.cc (svcvtnt): Move to - aarch64-sve-builtins-base.cc. - * config/aarch64/aarch64-sve-builtins-base.h (svbfdot, svbfdot_lane) - (svbfmlalb, svbfmlalb_lane, svbfmlalt, svbfmlalt_lane, svbfmmla) - (svcvtnt): Declare. - * config/aarch64/aarch64-sve-builtins-base.cc (svbfdot, svbfdot_lane) - (svbfmlalb, svbfmlalb_lane, svbfmlalt, svbfmlalt_lane, svbfmmla) - (svcvtnt): New functions. - * config/aarch64/aarch64-sve-builtins-base.def (svbfdot, svbfdot_lane) - (svbfmlalb, svbfmlalb_lane, svbfmlalt, svbfmlalt_lane, svbfmmla) - (svcvtnt): New functions. - (svcvt): Add a form that converts f32 to bf16. - * config/aarch64/aarch64-sve-builtins-shapes.h (ternary_bfloat) - (ternary_bfloat_lane, ternary_bfloat_lanex2, ternary_bfloat_opt_n): - Declare. - * config/aarch64/aarch64-sve-builtins-shapes.cc (parse_element_type): - Treat B as bfloat16_t. - (ternary_bfloat_lane_base): New class. - (ternary_bfloat_def): Likewise. - (ternary_bfloat): New shape. - (ternary_bfloat_lane_def): New class. - (ternary_bfloat_lane): New shape. - (ternary_bfloat_lanex2_def): New class. - (ternary_bfloat_lanex2): New shape. - (ternary_bfloat_opt_n_def): New class. - (ternary_bfloat_opt_n): New shape. - * config/aarch64/aarch64-sve-builtins.cc (TYPES_cvt_bfloat): New macro. - * config/aarch64/aarch64-sve.md (@aarch64_sve_vnx4sf) - (@aarch64_sve__lanevnx4sf): New patterns. - (@aarch64_sve__trunc) - (@cond__trunc): Likewise. - (*cond__trunc): Likewise. - (@aarch64_sve_cvtnt): Likewise. - * config/aarch64/aarch64-sve2.md (@aarch64_sve2_cvtnt): Key - the pattern off the narrow mode instead of the wider one. - * config/aarch64/iterators.md (VNx8BF_ONLY): New mode iterator. - (UNSPEC_BFMLALB, UNSPEC_BFMLALT, UNSPEC_BFMMLA): New unspecs. - (sve_fp_op): Handle them. - (SVE_BFLOAT_TERNARY_LONG): New int itertor. - (SVE_BFLOAT_TERNARY_LONG_LANE): Likewise. - -2020-01-31 Richard Sandiford - - * config/aarch64/arm_sve.h: Include arm_bf16.h. - * config/aarch64/aarch64-modes.def (BF): Move definition before - VECTOR_MODES. Remove separate VECTOR_MODES for V4BF and V8BF. - (SVE_MODES): Handle BF modes. - * config/aarch64/aarch64.c (aarch64_classify_vector_mode): Handle - BF modes. - (aarch64_full_sve_mode): Likewise. - * config/aarch64/iterators.md (SVE_STRUCT): Add VNx16BF, VNx24BF - and VNx32BF. - (SVE_FULL, SVE_FULL_HSD, SVE_ALL): Add VNx8BF. - (Vetype, Vesize, Vctype, VEL, Vel, VEL_INT, V128, v128, vwcore) - (V_INT_EQUIV, v_int_equiv, V_FP_EQUIV, v_fp_equiv, vector_count) - (insn_length, VSINGLE, vsingle, VPRED, vpred, VDOUBLE): Handle the - new SVE BF modes. - * config/aarch64/aarch64-sve-builtins.h (TYPE_bfloat): New - type_class_index. - * config/aarch64/aarch64-sve-builtins.cc (TYPES_all_arith): New macro. - (TYPES_all_data): Add bf16. - (TYPES_reinterpret1, TYPES_reinterpret): Likewise. - (register_tuple_type): Increase buffer size. - * config/aarch64/aarch64-sve-builtins.def (svbfloat16_t): New type. - (bf16): New type suffix. - * config/aarch64/aarch64-sve-builtins-base.def (svabd, svadd, svaddv) - (svcmpeq, svcmpge, svcmpgt, svcmple, svcmplt, svcmpne, svmad, svmax) - (svmaxv, svmin, svminv, svmla, svmls, svmsb, svmul, svsub, svsubr): - Change type from all_data to all_arith. - * config/aarch64/aarch64-sve-builtins-sve2.def (svaddp, svmaxp) - (svminp): Likewise. - -2020-01-31 Dennis Zhang - Matthew Malcomson - Richard Sandiford - - * doc/invoke.texi (f32mm): Document new AArch64 -march= extension. - * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Define - __ARM_FEATURE_SVE_MATMUL_INT8, __ARM_FEATURE_SVE_MATMUL_FP32 and - __ARM_FEATURE_SVE_MATMUL_FP64 as appropriate. Don't define - __ARM_FEATURE_MATMUL_FP64. - * config/aarch64/aarch64-option-extensions.def (fp, simd, fp16) - (sve): Add AARCH64_FL_F32MM to the list of extensions that should - be disabled at the same time. - (f32mm): New extension. - * config/aarch64/aarch64.h (AARCH64_FL_F32MM): New macro. - (AARCH64_FL_F64MM): Bump to the next bit up. - (AARCH64_ISA_F32MM, TARGET_SVE_I8MM, TARGET_F32MM, TARGET_SVE_F32MM) - (TARGET_SVE_F64MM): New macros. - * config/aarch64/iterators.md (SVE_MATMULF): New mode iterator. - (UNSPEC_FMMLA, UNSPEC_SMATMUL, UNSPEC_UMATMUL, UNSPEC_USMATMUL) - (UNSPEC_TRN1Q, UNSPEC_TRN2Q, UNSPEC_UZP1Q, UNSPEC_UZP2Q, UNSPEC_ZIP1Q) - (UNSPEC_ZIP2Q): New unspeccs. - (DOTPROD_US_ONLY, PERMUTEQ, MATMUL, FMMLA): New int iterators. - (optab, sur, perm_insn): Handle the new unspecs. - (sve_fp_op): Handle UNSPEC_FMMLA. Resort. - * config/aarch64/aarch64-sve.md (@aarch64_sve_ld1ro): Use - TARGET_SVE_F64MM instead of separate tests. - (@aarch64_dot_prod): New pattern. - (@aarch64_dot_prod_lane): Likewise. - (@aarch64_sve_add_): Likewise. - (@aarch64_sve_): Likewise. - (@aarch64_sve_): Likewise. - * config/aarch64/aarch64-sve-builtins.cc (TYPES_s_float): New macro. - (TYPES_s_float_hsd_integer, TYPES_s_float_sd_integer): Use it. - (TYPES_s_signed): New macro. - (TYPES_s_integer): Use it. - (TYPES_d_float): New macro. - (TYPES_d_data): Use it. - * config/aarch64/aarch64-sve-builtins-shapes.h (mmla): Declare. - (ternary_intq_uintq_lane, ternary_intq_uintq_opt_n, ternary_uintq_intq) - (ternary_uintq_intq_lane, ternary_uintq_intq_opt_n): Likewise. - * config/aarch64/aarch64-sve-builtins-shapes.cc (mmla_def): New class. - (svmmla): New shape. - (ternary_resize2_opt_n_base): Add TYPE_CLASS2 and TYPE_CLASS3 - template parameters. - (ternary_resize2_lane_base): Likewise. - (ternary_resize2_base): New class. - (ternary_qq_lane_base): Likewise. - (ternary_intq_uintq_lane_def): Likewise. - (ternary_intq_uintq_lane): New shape. - (ternary_intq_uintq_opt_n_def): New class - (ternary_intq_uintq_opt_n): New shape. - (ternary_qq_lane_def): Inherit from ternary_qq_lane_base. - (ternary_uintq_intq_def): New class. - (ternary_uintq_intq): New shape. - (ternary_uintq_intq_lane_def): New class. - (ternary_uintq_intq_lane): New shape. - (ternary_uintq_intq_opt_n_def): New class. - (ternary_uintq_intq_opt_n): New shape. - * config/aarch64/aarch64-sve-builtins-base.h (svmmla, svsudot) - (svsudot_lane, svtrn1q, svtrn2q, svusdot, svusdot_lane, svusmmla) - (svuzp1q, svuzp2q, svzip1q, svzip2q): Declare. - * config/aarch64/aarch64-sve-builtins-base.cc (svdot_lane_impl): - Generalize to... - (svdotprod_lane_impl): ...this new class. - (svmmla_impl, svusdot_impl): New classes. - (svdot_lane): Update to use svdotprod_lane_impl. - (svmmla, svsudot, svsudot_lane, svtrn1q, svtrn2q, svusdot) - (svusdot_lane, svusmmla, svuzp1q, svuzp2q, svzip1q, svzip2q): New - functions. - * config/aarch64/aarch64-sve-builtins-base.def (svmmla): New base - function, with no types defined. - (svmmla, svusmmla, svsudot, svsudot_lane, svusdot, svusdot_lane): New - AARCH64_FL_I8MM functions. - (svmmla): New AARCH64_FL_F32MM function. - (svld1ro): Depend only on AARCH64_FL_F64MM, not on AARCH64_FL_V8_6. - (svmmla, svtrn1q, svtrn2q, svuz1q, svuz2q, svzip1q, svzip2q): New - AARCH64_FL_F64MM function. - (REQUIRED_EXTENSIONS): - -2020-01-31 Andrew Stubbs - - * config/gcn/gcn-valu.md (addv64di3_exec): Allow one '0' in each - alternative only. - -2020-01-31 Uroš Bizjak - - * config/i386/i386.md (*movoi_internal_avx): Do not check for - TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL. Remove MODE_V8SF handling. - (*movti_internal): Do not check for - TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL. - (*movtf_internal): Move check for TARGET_SSE2 and size optimization - just after check for TARGET_AVX. - (*movdf_internal): Ditto. - * config/i386/mmx.md (*mov_internal): Do not check for - TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL. - * config/i386/sse.md (mov_internal): Only check - TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL with V2DFmode. Move check - for TARGET_SSE2 and size optimization just after check for TARGET_AVX. - (_andnot3): Move check for - TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL after check for TARGET_AVX. - (3): Ditto. - (*andnot3): Ditto. - (*andnottf3): Ditto. - (*3): Ditto. - (*tf3): Ditto. - (*andnot3): Remove - TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL handling. - (3): Ditto. - (*3): Ditto. - (sse4_1_blendv): Ditto. - * config/i386/x86-tune.def (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): - Explain that tune applies to 128bit instructions only. - -2020-01-31 Kwok Cheung Yeung - - * config/gcn/mkoffload.c (process_asm): Add sgpr_count and vgpr_count - to definition of hsa_kernel_description. Parse assembly to find SGPR - and VGPR count of kernel and store in hsa_kernel_description. - -2020-01-31 Tamar Christina - - PR rtl-optimization/91838 - * simplify-rtx.c (simplify_binary_operation_1): Update LSHIFTRT case - to truncate if allowed or reject combination. - -2020-01-31 Andrew Stubbs - - * tree-ssa-loop-ivopts.c (get_iv): Use sizetype for zero-step. - (find_inv_vars_cb): Likewise. - -2020-01-31 David Malcolm - - * calls.c (special_function_p): Split out the check for DECL_NAME - being non-NULL and fndecl being extern at file scope into a - new maybe_special_function_p and call it. Drop check for fndecl - being non-NULL that was after a usage of DECL_NAME (fndecl). - * tree.h (maybe_special_function_p): New inline function. - -2020-01-30 Andrew Stubbs - - * config/gcn/gcn-valu.md (gather_exec): Move contents ... - (mask_gather_load): ... here, and zero-initialize the - destination. - (maskloaddi): Zero-initialize the destination. - * config/gcn/gcn.c: - -2020-01-30 David Malcolm - - PR analyzer/93356 - * doc/analyzer.texi (Limitations): Note that constraints on - floating-point values are currently ignored. - -2020-01-30 Jakub Jelinek - - PR lto/93384 - * symtab.c (symtab_node::noninterposable_alias): If localalias - already exists, but is not usable, append numbers after it until - a unique name is found. Formatting fix. - - PR middle-end/93505 - * combine.c (simplify_comparison) : Punt on out of range - rotate counts. - -2020-01-30 Andrew Stubbs - - * config/gcn/gcn.c (print_operand): Handle LTGT. - * config/gcn/predicates.md (gcn_fp_compare_operator): Allow ltgt. - -2020-01-30 Richard Biener - - * tree-pretty-print.c (dump_generic_node): Wrap VECTOR_CST - and CONSTRUCTOR in _Literal (type) with TDF_GIMPLE. - -2020-01-30 John David Anglin - - * config/pa/pa.c (pa_elf_select_rtx_section): Place function pointers - without a DECL in .data.rel.ro.local. - -2020-01-30 Jakub Jelinek - - PR target/93494 - * config/arm/arm.md (uaddvdi4): Actually emit what gen_uaddvsi4 - returned. - - PR target/91824 - * config/i386/sse.md - (*_movmsk_zext): Renamed to ... - (*_movmsk_ext): ... this. Use - any_extend code iterator instead of always zero_extend. - (*_movmsk_zext_lt): Renamed to ... - (*_movmsk_ext_lt): ... this. - Use any_extend code iterator instead of always zero_extend. - (*_movmsk_zext_shift): Renamed to ... - (*_movmsk_ext_shift): ... this. - Use any_extend code iterator instead of always zero_extend. - (*sse2_pmovmskb_ext): New define_insn. - (*sse2_pmovmskb_ext_lt): New define_insn_and_split. - - PR target/91824 - * config/i386/i386.md (*popcountsi2_zext): New define_insn_and_split. - (*popcountsi2_zext_falsedep): New define_insn. - -2020-01-30 Dragan Mladjenovic - - * config.in: Regenerated. - * configure: Regenerated. - -2020-01-29 Tobias Burnus - - PR bootstrap/93409 - * config/gcn/gcn-hsa.h (ASM_SPEC): Add -mattr=-code-object-v3 as - LLVM's assembler changed the default in version 9. - -2020-01-24 Jeff Law - - PR tree-optimization/89689 - * builtins.def (BUILT_IN_OBJECT_SIZE): Make it const rather than pure. - -2020-01-29 Richard Sandiford - - Revert: - - 2020-01-28 Richard Sandiford - - PR rtl-optimization/87763 - * simplify-rtx.c (simplify_truncation): Extend sign/zero_extract - simplification to handle subregs as well as bare regs. - * config/i386/i386.md (*testqi_ext_3): Match QI extracts too. - -2020-01-29 Joel Hutton - - PR target/93221 - * ira.c (ira): Revert use of simplified LRA algorithm. - -2020-01-29 Martin Jambor - - PR tree-optimization/92706 - * tree-sra.c (struct access): Fields first_link, last_link, - next_queued and grp_queued renamed to first_rhs_link, last_rhs_link, - next_rhs_queued and grp_rhs_queued respectively, new fields - first_lhs_link, last_lhs_link, next_lhs_queued and grp_lhs_queued. - (struct assign_link): Field next renamed to next_rhs, new field - next_lhs. Updated comment. - (work_queue_head): Renamed to rhs_work_queue_head. - (lhs_work_queue_head): New variable. - (add_link_to_lhs): New function. - (relink_to_new_repr): Also relink LHS lists. - (add_access_to_work_queue): Renamed to add_access_to_rhs_work_queue. - (add_access_to_lhs_work_queue): New function. - (pop_access_from_work_queue): Renamed to - pop_access_from_rhs_work_queue. - (pop_access_from_lhs_work_queue): New function. - (build_accesses_from_assign): Also add links to LHS lists and to LHS - work_queue. - (child_would_conflict_in_lacc): Renamed to - child_would_conflict_in_acc. Adjusted parameter names. - (create_artificial_child_access): New parameter set_grp_read, use it. - (subtree_mark_written_and_enqueue): Renamed to - subtree_mark_written_and_rhs_enqueue. - (propagate_subaccesses_across_link): Renamed to - propagate_subaccesses_from_rhs. - (propagate_subaccesses_from_lhs): New function. - (propagate_all_subaccesses): Also propagate subaccesses from LHSs to - RHSs. - -2020-01-29 Martin Jambor - - PR tree-optimization/92706 - * tree-sra.c (struct access): Adjust comment of - grp_total_scalarization. - (find_access_in_subtree): Look for single children spanning an entire - access. - (scalarizable_type_p): Allow register accesses, adjust callers. - (completely_scalarize): Remove function. - (scalarize_elem): Likewise. - (create_total_scalarization_access): Likewise. - (sort_and_splice_var_accesses): Do not track total scalarization - flags. - (analyze_access_subtree): New parameter totally, adjust to new meaning - of grp_total_scalarization. - (analyze_access_trees): Pass new parameter to analyze_access_subtree. - (can_totally_scalarize_forest_p): New function. - (create_total_scalarization_access): Likewise. - (create_total_access_and_reshape): Likewise. - (total_should_skip_creating_access): Likewise. - (totally_scalarize_subtree): Likewise. - (analyze_all_variable_accesses): Perform total scalarization after - subaccess propagation using the new functions above. - (initialize_constant_pool_replacements): Output initializers by - traversing the access tree. - -2020-01-29 Martin Jambor - - * tree-sra.c (verify_sra_access_forest): New function. - (verify_all_sra_access_forests): Likewise. - (create_artificial_child_access): Set parent. - (analyze_all_variable_accesses): Call the verifier. - -2020-01-28 Jan Hubicka - - * cgraph.c (cgraph_edge::resolve_speculation): Only lookup direct edge - if called on indirect edge. - (cgraph_edge::redirect_call_stmt_to_callee): Lookup indirect edge of - speculative call if needed. - -2020-01-29 Richard Biener - - PR tree-optimization/93428 - * tree-vect-slp.c (vect_build_slp_tree_2): Compute the load - permutation when the load node is created. - (vect_analyze_slp_instance): Re-use it here. - -2020-01-28 Jan Hubicka - - * ipa-prop.c (update_indirect_edges_after_inlining): Fix warning. - -2020-01-28 Vladimir Makarov - - PR rtl-optimization/93272 - * ira-lives.c (process_out_of_region_eh_regs): New function. - (process_bb_node_lives): Call it. - -2020-01-28 Jan Hubicka - - * coverage.c (read_counts_file): Make error message lowercase. - -2020-01-28 Jan Hubicka - - * profile-count.c (profile_quality_display_names): Fix ordering. - -2020-01-28 Jan Hubicka - - PR lto/93318 - * cgraph.c (cgraph_add_edge_to_call_site_hash): Update call site - hash only when edge is first within the sequence. - (cgraph_edge::set_call_stmt): Update handling of speculative calls. - (symbol_table::create_edge): Do not set target_prob. - (cgraph_edge::remove_caller): Watch for speculative calls when updating - the call site hash. - (cgraph_edge::make_speculative): Drop target_prob parameter. - (cgraph_edge::speculative_call_info): Remove. - (cgraph_edge::first_speculative_call_target): New member function. - (update_call_stmt_hash_for_removing_direct_edge): New function. - (cgraph_edge::resolve_speculation): Rewrite to new API. - (cgraph_edge::speculative_call_for_target): New member function. - (cgraph_edge::make_direct): Rewrite to new API; fix handling of - multiple speculation targets. - (cgraph_edge::redirect_call_stmt_to_callee): Likewise; fix updating - of profile. - (verify_speculative_call): Verify that targets form an interval. - * cgraph.h (cgraph_edge::speculative_call_info): Remove. - (cgraph_edge::first_speculative_call_target): New member function. - (cgraph_edge::next_speculative_call_target): New member function. - (cgraph_edge::speculative_call_target_ref): New member function. - (cgraph_edge;:speculative_call_indirect_edge): New member funtion. - (cgraph_edge): Remove target_prob. - * cgraphclones.c (cgraph_node::set_call_stmt_including_clones): - Fix handling of speculative calls. - * ipa-devirt.c (ipa_devirt): Fix handling of speculative cals. - * ipa-fnsummary.c (analyze_function_body): Likewise. - * ipa-inline.c (speculation_useful_p): Use new speculative call API. - * ipa-profile.c (dump_histogram): Fix formating. - (ipa_profile_generate_summary): Watch for overflows. - (ipa_profile): Do not require probablity to be 1/2; update to new API. - * ipa-prop.c (ipa_make_edge_direct_to_target): Update to new API. - (update_indirect_edges_after_inlining): Update to new API. - * ipa-utils.c (ipa_merge_profiles): Rewrite merging of speculative call - profiles. - * profile-count.h: (profile_probability::adjusted): New. - * tree-inline.c (copy_bb): Update to new speculative call API; fix - updating of profile. - * value-prof.c (gimple_ic_transform): Rename to ... - (dump_ic_profile): ... this one; update dumping. - (stream_in_histogram_value): Fix formating. - (gimple_value_profile_transformations): Update. - -2020-01-28 H.J. Lu - - PR target/91461 - * config/i386/i386.md (*movoi_internal_avx): Remove - TARGET_SSE_TYPELESS_STORES check. - (*movti_internal): Prefer TARGET_AVX over - TARGET_SSE_TYPELESS_STORES. - (*movtf_internal): Likewise. - * config/i386/sse.md (mov_internal): Prefer TARGET_AVX over - TARGET_SSE_TYPELESS_STORES. Remove " == 16" check - from TARGET_SSE_TYPELESS_STORES. - -2020-01-28 David Malcolm - - * diagnostic-core.h (warning_at): Rename overload to... - (warning_meta): ...this. - (emit_diagnostic_valist): Delete decl of overload taking - diagnostic_metadata. - * diagnostic.c (emit_diagnostic_valist): Likewise for defn. - (warning_at): Rename overload taking diagnostic_metadata to... - (warning_meta): ...this. - -2020-01-28 Richard Biener - - PR tree-optimization/93439 - * tree-parloops.c (create_loop_fn): Move clique bookkeeping... - * tree-cfg.c (move_sese_region_to_fn): ... here. - (verify_types_in_gimple_reference): Verify used cliques are - tracked. - -2020-01-28 H.J. Lu - - PR target/91399 - * config/i386/i386-options.c (set_ix86_tune_features): Add an - argument of a pointer to struct gcc_options and pass it to - parse_mtune_ctrl_str. - (ix86_function_specific_restore): Pass opts to - set_ix86_tune_features. - (ix86_option_override_internal): Likewise. - (parse_mtune_ctrl_str): Add an argument of a pointer to struct - gcc_options and use it for x_ix86_tune_ctrl_string. - -2020-01-28 Richard Sandiford - - PR rtl-optimization/87763 - * simplify-rtx.c (simplify_truncation): Extend sign/zero_extract - simplification to handle subregs as well as bare regs. - * config/i386/i386.md (*testqi_ext_3): Match QI extracts too. - -2020-01-28 Richard Sandiford - - * tree-vect-loop.c (vectorizable_reduction): Fail gracefully - for reduction chains that (now) include a call. - -2020-01-28 Richard Sandiford - - PR tree-optimization/92822 - * tree-ssa-forwprop.c (simplify_vector_constructor): When filling - out the don't-care elements of a vector whose significant elements - are duplicates, make the don't-care elements duplicates too. - -2020-01-28 Richard Sandiford - - PR tree-optimization/93434 - * tree-predcom.c (split_data_refs_to_components): Record which - components have had aliasing loads removed. Prevent store-store - commoning for all such components. - -2020-01-28 Jakub Jelinek - - PR target/93418 - * config/i386/i386.c (ix86_fold_builtin) : If mask is not - -1 or is_vshift is true, use new_vector with number of elts npatterns - rather than new_unary_operation. - - PR tree-optimization/93454 - * gimple-fold.c (fold_array_ctor_reference): Perform - elt_size.to_uhwi () just once, instead of calling it in every - iteration. Punt if that value is above size of the temporary - buffer. Decrease third native_encode_expr argument when - bufoff + elt_sz is above size of buf. - -2020-01-27 Joseph Myers - - * config/mips/mips.c (mips_declare_object_name) - [USE_GNU_UNIQUE_OBJECT]: Support use of gnu_unique_object. - -2020-01-27 Martin Liska - - PR gcov-profile/93403 - * tree-profile.c (gimple_init_gcov_profiler): Generate - both __gcov_indirect_call_profiler_v4 and - __gcov_indirect_call_profiler_v4_atomic. - -2020-01-27 Richard Sandiford - - PR target/92822 - * config/aarch64/aarch64-simd.md (aarch64_get_half): New - expander. - (@aarch64_split_simd_mov): Use it. - (aarch64_simd_mov_from_low): Add a GPR alternative. - Leave the vec_extract patterns to handle 2-element vectors. - (aarch64_simd_mov_from_high): Likewise. - (vec_extract): New expander. - (vec_extractv2dfv1df): Likewise. - -2020-01-27 Richard Sandiford - - * config/aarch64/aarch64.c (aarch64_if_then_else_costs): Match - jump conditions for *compare_condjump. - -2020-01-27 David Malcolm - - PR analyzer/93276 - * digraph.cc (test_edge::test_edge): Specify template for base - class initializer. - -2020-01-27 Claudiu Zissulescu - - * config/arc/arc.c (arc_rtx_costs): Update mul64 cost. - -2020-01-27 Claudiu Zissulescu - - * config/arc/arc-protos.h (gen_mlo): Remove. - (gen_mhi): Likewise. - * config/arc/arc.c (AUX_MULHI): Define. - (arc_must_save_reister): Special handling for r58/59. - (arc_compute_frame_size): Consider mlo/mhi registers. - (arc_save_callee_saves): Emit fp/sp move only when emit_move - paramter is true. - (arc_conditional_register_usage): Remove TARGET_BIG_ENDIAN from - mlo/mhi name selection. - (arc_restore_callee_saves): Don't early restore blink when ISR. - (arc_expand_prologue): Add mlo/mhi saving. - (arc_expand_epilogue): Add mlo/mhi restoring. - (gen_mlo): Remove. - (gen_mhi): Remove. - * config/arc/arc.h (DBX_REGISTER_NUMBER): Correct register - numbering when MUL64 option is used. - (DWARF2_FRAME_REG_OUT): Define. - * config/arc/arc.md (arc600_stall): New pattern. - (VUNSPEC_ARC_ARC600_STALL): Define. - (mulsi64): Use correct mlo/mhi registers. - (mulsi_600): Clean it up. - * config/arc/predicates.md (mlo_operand): Remove any dependency on - TARGET_BIG_ENDIAN. - (mhi_operand): Likewise. - -2020-01-27 Claudiu Zissulescu - Petro Karashchenko - - * config/arc/arc.c (arc_is_uncached_mem_p): Check struct - attributes if needed. - (prepare_move_operands): Generate special unspec instruction for - direct access. - (arc_isuncached_mem_p): Propagate uncached attribute to each - structure member. - * config/arc/arc.md (VUNSPEC_ARC_LDDI): Define. - (VUNSPEC_ARC_STDI): Likewise. - (ALLI): New mode iterator. - (mALLI): New mode attribute. - (lddi): New instruction pattern. - (stdi): Likewise. - (stdidi_split): Split instruction for architectures which are not - supporting ll64 option. - (lddidi_split): Likewise. - -2020-01-27 Richard Sandiford - - PR rtl-optimization/92989 - * lra-lives.c (process_bb_lives): Update the live-in set before - processing additional clobbers. - -2020-01-27 Richard Sandiford - - PR rtl-optimization/93170 - * cselib.c (cselib_invalidate_regno_val): New function, split out - from... - (cselib_invalidate_regno): ...here. - (cselib_invalidated_by_call_p): New function. - (cselib_process_insn): Iterate over all the hard-register entries in - REG_VALUES and invalidate any that cross call-clobbered registers. - -2020-01-27 Richard Sandiford - - * dojump.c (split_comparison): Use HONOR_NANS rather than - HONOR_SNANS when splitting LTGT. - -2020-01-27 Martin Liska - - PR driver/91220 - * opts.c (print_filtered_help): Exclude language-specific - options from --help=common unless enabled in all FEs. - -2020-01-27 Martin Liska - - * opts.c (print_help): Exclude params from - all except --help=param. - -2020-01-27 Martin Liska - - PR target/93274 - * config/i386/i386-features.c (make_resolver_func): - Align the code with ppc64 target implementation. - Do not generate a unique name for resolver function. - -2020-01-27 Richard Biener - - PR tree-optimization/93397 - * tree-vect-slp.c (vect_analyze_slp_instance): Delay - converted reduction chain SLP graph adjustment. - -2020-01-26 Marek Polacek - - PR sanitizer/93436 - * sanopt.c (sanitize_rewrite_addressable_params): Avoid crash on - null DECL_NAME. - -2020-01-26 Jason Merrill - - PR c++/92601 - * tree.c (verify_type_variant): Only verify TYPE_NEEDS_CONSTRUCTING - of complete types. - -2020-01-26 Darius Galis - - * config/rx/rx.md (setmemsi): Added rx_allow_string_insns constraint - (rx_setmem): Likewise. - -2020-01-26 Jakub Jelinek - - PR target/93412 - * config/i386/i386.md (*addv4_doubleword, *subv4_doubleword): - Use nonimmediate_operand instead of x86_64_hilo_general_operand and - drop from constraint of last operand. - - PR target/93430 - * config/i386/sse.md (*avx_vperm_broadcast_): Disallow for - TARGET_AVX2 and V4DFmode not in the split condition, but in the - pattern condition, though allow { 0, 0, 0, 0 } broadcast always. - -2020-01-25 Feng Xue - - PR ipa/93166 - * ipa-cp.c (get_info_about_necessary_edges): Remove value - check assertion. - -2020-01-24 Jeff Law - - PR tree-optimization/92788 - * tree-ssa-threadedge.c (thread_across_edge): Check EDGE_COMPLEX - not EDGE_ABNORMAL. - -2020-01-24 Jakub Jelinek - - PR target/93395 - * config/i386/sse.md (*avx_vperm_broadcast_v4sf, - *avx_vperm_broadcast_, - _vpermil, - *_vpermilp): - Move before avx2_perm/avx512f_perm. - - PR target/93376 - * simplify-rtx.c (simplify_const_unary_operation, - simplify_const_binary_operation): Punt for mode precision above - MAX_BITSIZE_MODE_ANY_INT. - -2020-01-24 Andrew Pinski - - * config/arm/aarch-cost-tables.h (cortexa57_extra_costs): Change - alu.shift_reg to 0. - -2020-01-24 Jeff Law - - PR target/13721 - * config/h8300/h8300.c (h8300_print_operand): Only call byte_reg - for REGs. Call output_operand_lossage to get more reasonable - diagnostics. - -2020-01-24 Andrew Stubbs - - * config/gcn/gcn-valu.md (vec_cmpdi): Use - gcn_fp_compare_operator. - (vec_cmpudi): Use gcn_compare_operator. - (vec_cmpv64qidi): Use gcn_compare_operator. - (vec_cmpdi_exec): Use gcn_fp_compare_operator. - (vec_cmpudi_exec): Use gcn_compare_operator. - (vec_cmpv64qidi_exec): Use gcn_compare_operator. - (vec_cmpdi_dup): Use gcn_fp_compare_operator. - (vec_cmpdi_dup_exec): Use gcn_fp_compare_operator. - (vcond): Use - gcn_fp_compare_operator. - (vcond_exec): Use - gcn_fp_compare_operator. - (vcondu): Use - gcn_fp_compare_operator. - (vcondu_exec): Use - gcn_fp_compare_operator. - -2020-01-24 Maciej W. Rozycki - - * doc/install.texi (Cross-Compiler-Specific Options): Document - `--with-toolexeclibdir' option. - -2020-01-24 Hans-Peter Nilsson - - * target.def (flags_regnum): Also mention effect on delay slot filling. - * doc/tm.texi: Regenerate. - -2020-01-23 Jeff Law - - PR translation/90162 - * config/h8300/h8300.c (h8300_option_override): Fix diagnostic text. - -2020-01-23 Mikael Tillenius - - PR target/92269 - * config/h8300/h8300.h (FUNCTION_PROFILER): Fix emission of - profiling label - -2020-01-23 Jakub Jelinek - - PR rtl-optimization/93402 - * postreload.c (reload_combine_recognize_pattern): Don't try to adjust - USE insns. - -2020-01-23 Dragan Mladjenovic - - * config.in: Regenerated. - * config/mips/linux.h (NEED_INDICATE_EXEC_STACK): Define to 1 - for TARGET_LIBC_GNUSTACK. - * configure: Regenerated. - * configure.ac: Define TARGET_LIBC_GNUSTACK if glibc version is - found to be 2.31 or greater. - -2020-01-23 Dragan Mladjenovic - - * config/mips/linux.h (NEED_INDICATE_EXEC_STACK): Define to - TARGET_SOFT_FLOAT. - * config/mips/mips.c (TARGET_ASM_FILE_END): Define to ... - (mips_asm_file_end): New function. Delegate to - file_end_indicate_exec_stack if NEED_INDICATE_EXEC_STACK is true. - * config/mips/mips.h (NEED_INDICATE_EXEC_STACK): Define to 0. - -2020-01-23 Jakub Jelinek - - PR target/93376 - * config/i386/i386-modes.def (POImode): New mode. - (MAX_BITSIZE_MODE_ANY_INT): Change from 128 to 160. - * config/i386/i386.md (DPWI): New mode attribute. - (addv4, subv4): Use instead of . - (QWI): Rename to... - (QPWI): ... this. Use POI instead of OI for TImode. - (*addv4_doubleword, *addv4_doubleword_1, - *subv4_doubleword, *subv4_doubleword_1): Use - instead of . - -2020-01-23 Richard Sandiford - - PR target/93341 - * config/aarch64/aarch64.md (UNSPEC_SPECULATION_TRACKER_REV): New - unspec. - (speculation_tracker_rev): New pattern. - * config/aarch64/aarch64-speculation.cc (aarch64_do_track_speculation): - Use speculation_tracker_rev to track the inverse condition. - -2020-01-23 Richard Biener - - PR tree-optimization/93381 - * tree-ssa-sccvn.c (vn_walk_cb_data::push_partial_def): Take - alias-set of the def as argument and record the first one. - (vn_walk_cb_data::first_set): New member. - (vn_reference_lookup_3): Pass the alias-set of the current def - to push_partial_def. Fix alias-set used in the aggregate copy - case. - (vn_reference_lookup): Consistently set *last_vuse_ptr. - * real.c (clear_significand_below): Fix out-of-bound access. - -2020-01-23 Jakub Jelinek - - PR target/93346 - * config/i386/i386.md (*bmi2_bzhi_3_2, *bmi2_bzhi_3_3): - New define_insn patterns. - -2020-01-23 Richard Sandiford - - * doc/sourcebuild.texi (check-function-bodies): Add an - optional target/xfail selector. - -2020-01-23 Richard Sandiford - - PR rtl-optimization/93124 - * auto-inc-dec.c (merge_in_block): Don't add auto inc/decs to - bare USE and CLOBBER insns. - -2020-01-22 Andrew Pinski - - * config/arc/arc.c (output_short_suffix): Check insn for nullness. - -2020-01-22 David Malcolm - - PR analyzer/93307 - * gdbinit.in (break-on-saved-diagnostic): Update for move of - diagnostic_manager into "ana" namespace. - * selftest-run-tests.c (selftest::run_tests): Update for move of - selftest::run_analyzer_selftests to - ana::selftest::run_analyzer_selftests. - -2020-01-22 Richard Sandiford - - * cfgexpand.c (union_stack_vars): Update the size. - -2020-01-22 Richard Biener - - PR tree-optimization/93381 - * tree-ssa-structalias.c (find_func_aliases): Assume offsetting - throughout, handle all conversions the same. - -2020-01-22 Jakub Jelinek - - PR target/93335 - * config/aarch64/aarch64.c (aarch64_expand_subvti): Only use - gen_subdi3_compare1_imm if low_in2 satisfies aarch64_plus_immediate - predicate, not whenever it is CONST_INT. Otherwise, force_reg it. - Call force_reg on high_in2 unconditionally. - -2020-01-22 Martin Liska - - PR tree-optimization/92924 - * profile.c (compute_value_histograms): Divide - all counter values. - -2020-01-22 Jakub Jelinek - - PR target/91298 - * output.h (assemble_name_resolve): Declare. - * varasm.c (assemble_name_resolve): New function. - (assemble_name): Use it. - * config/i386/i386.h (ASM_OUTPUT_SYMBOL_REF): Define. - -2020-01-22 Joseph Myers - - * doc/sourcebuild.texi (Texinfo Manuals, Front End): Refer to - update_web_docs_git instead of update_web_docs_svn. - -2020-01-21 Andrew Pinski - - PR target/9311 - * config/aarch64/aarch64.md (tlsgd_small_): Have operand 0 - as PTR mode. Have operand 1 as being modeless, it can be P mode. - (*tlsgd_small_): Likewise. - * config/aarch64/aarch64.c (aarch64_load_symref_appropriately) - : Call gen_tlsgd_small_* with a ptr_mode - register. Convert that register back to dest using convert_mode. - -2020-01-21 Jim Wilson - - * config/riscv/riscv-sr.c (riscv_sr_match_prologue): Use INTVAL - instead of XINT. - -2020-01-21 H.J. Lu - Uros Bizjak - - PR target/93319 - * config/i386/i386.c (ix86_tls_module_base): Replace Pmode - with ptr_mode. - (legitimize_tls_address): Do GNU2 TLS address computation in - ptr_mode and zero-extend result to Pmode. - * config/i386/i386.md (@tls_dynamic_gnu2_64_): Replace - :P with :PTR and Pmode with ptr_mode. - (*tls_dynamic_gnu2_lea_64_): Likewise. - (*tls_dynamic_gnu2_call_64_): Likewise. - (*tls_dynamic_gnu2_combine_64_): Likewise. - -2020-01-21 Jakub Jelinek - - PR target/93333 - * config/riscv/riscv.c (riscv_rtx_costs) : Verify - the last two operands are CONST_INT_P before using them as such. - -2020-01-21 Richard Sandiford - - * config/aarch64/aarch64-sve-builtins.def: Use get_typenode_from_name - to get the integer element types. - -2020-01-21 Richard Sandiford - - * config/aarch64/aarch64-sve-builtins.h - (function_expander::convert_to_pmode): Declare. - * config/aarch64/aarch64-sve-builtins.cc - (function_expander::convert_to_pmode): New function. - (function_expander::get_contiguous_base): Use it. - (function_expander::prepare_gather_address_operands): Likewise. - * config/aarch64/aarch64-sve-builtins-sve2.cc - (svwhilerw_svwhilewr_impl::expand): Likewise. - -2020-01-21 Szabolcs Nagy - - PR target/92424 - * config/aarch64/aarch64.c (aarch64_declare_function_name): Set - cfun->machine->label_is_assembled. - (aarch64_print_patchable_function_entry): New. - (TARGET_ASM_PRINT_PATCHABLE_FUNCTION_ENTRY): Define. - * config/aarch64/aarch64.h (struct machine_function): New field, - label_is_assembled. - -2020-01-21 David Malcolm - - PR ipa/93315 - * ipa-profile.c (ipa_profile): Delete call_sums and set it to - NULL on exit. - -2020-01-18 Jan Hubicka - - PR lto/93318 - * cgraph.c (cgraph_edge::resolve_speculation, - cgraph_edge::redirect_call_stmt_to_callee): Fix update of - call_stmt_site_hash. - -2020-01-21 Martin Liska - - * config/rs6000/rs6000.c (common_mode_defined): Remove - unused variable. - -2020-01-21 Richard Biener - - PR tree-optimization/92328 - * tree-ssa-sccvn.c (vn_reference_lookup_3): Preserve - type when value-numbering same-sized store by inserting a - VIEW_CONVERT_EXPR. - (eliminate_dom_walker::eliminate_stmt): When eliminating - a redundant store handle bit-reinterpretation of the same value. - -2020-01-21 Andrew Pinski - - PR tree-opt/93321 - * tree-into-ssa.c (prepare_block_for_update_1): Split out - from ... - (prepare_block_for_update): This. Use a worklist instead of - recursing. - -2020-01-21 Mihail-Calin Ionescu - - * config/arm/arm.c (clear_operation_p): - Initialise last_regno, skip first iteration - based on the first_set value and use ints instead - of the unnecessary HOST_WIDE_INTs. - -2020-01-21 Jakub Jelinek - - PR target/93073 - * config/rs6000/rs6000.c (rs6000_emit_cmove): If using fsel, punt for - compare_mode other than SFmode or DFmode. - -2020-01-21 Kito Cheng - - PR target/93304 - * config/riscv/riscv-protos.h (riscv_hard_regno_rename_ok): New. - * config/riscv/riscv.c (riscv_hard_regno_rename_ok): New. - * config/riscv/riscv.h (HARD_REGNO_RENAME_OK): Defined. - -2020-01-20 Wilco Dijkstra - - * config/aarch64/aarch64.c (neoversen1_tunings): Set jump_align to 4. - -2020-01-20 Andrew Pinski - - PR middle-end/93242 - * targhooks.c (default_print_patchable_function_entry): Use - output_asm_insn to emit the nop instruction. - -2020-01-20 Fangrui Song - - PR middle-end/93194 - * targhooks.c (default_print_patchable_function_entry): Align to - POINTER_SIZE. - -2020-01-20 H.J. Lu - - PR target/93319 - * config/i386/i386.c (legitimize_tls_address): Pass Pmode to - gen_tls_dynamic_gnu2_64. Compute GNU2 TLS address in ptr_mode. - * config/i386/i386.md (tls_dynamic_gnu2_64): Renamed to ... - (@tls_dynamic_gnu2_64_): This. Replace DI with P. - (*tls_dynamic_gnu2_lea_64): Renamed to ... - (*tls_dynamic_gnu2_lea_64_): This. Replace DI with P. - Remove the {q} suffix from lea. - (*tls_dynamic_gnu2_call_64): Renamed to ... - (*tls_dynamic_gnu2_call_64_): This. Replace DI with P. - (*tls_dynamic_gnu2_combine_64): Renamed to ... - (*tls_dynamic_gnu2_combine_64_): This. Replace DI with P. - Pass Pmode to gen_tls_dynamic_gnu2_64. - -2020-01-20 Wilco Dijkstra - - * config/aarch64/aarch64.h (SLOW_BYTE_ACCESS): Set to 1. - -2020-01-20 Richard Sandiford - - * config/aarch64/aarch64-sve-builtins-base.cc - (svld1ro_impl::memory_vector_mode): Remove parameter name. - -2020-01-20 Richard Biener - - PR debug/92763 - * dwarf2out.c (prune_unused_types): Unconditionally mark - called function DIEs. - -2020-01-20 Martin Liska - - PR tree-optimization/93199 - * tree-eh.c (struct leh_state): Add - new field outer_non_cleanup. - (cleanup_is_dead_in): Pass leh_state instead - of eh_region. Add a checking that state->outer_non_cleanup - points to outer non-clean up region. - (lower_try_finally): Record outer_non_cleanup - for this_state. - (lower_catch): Likewise. - (lower_eh_filter): Likewise. - (lower_eh_must_not_throw): Likewise. - (lower_cleanup): Likewise. - -2020-01-20 Richard Biener - - PR tree-optimization/93094 - * tree-vectorizer.h (vect_loop_versioning): Adjust. - (vect_transform_loop): Likewise. - * tree-vectorizer.c (try_vectorize_loop_1): Pass down - loop_vectorized_call to vect_transform_loop. - * tree-vect-loop.c (vect_transform_loop): Pass down - loop_vectorized_call to vect_loop_versioning. - * tree-vect-loop-manip.c (vect_loop_versioning): Use - the earlier discovered loop_vectorized_call. - -2020-01-19 Eric S. Raymond - - * doc/contribute.texi: Update for SVN -> Git transition. - * doc/install.texi: Likewise. - -2020-01-18 Jan Hubicka - - PR lto/93318 - * cgraph.c (cgraph_edge::make_speculative): Increase number of - speculative targets. - (verify_speculative_call): New function - (cgraph_node::verify_node): Use it. - * ipa-profile.c (ipa_profile): Fix formating; do not set number of - speculations. - -2020-01-18 Jan Hubicka - - PR lto/93318 - * cgraph.c (cgraph_edge::resolve_speculation): Fix foramting. - (cgraph_edge::make_direct): Remove all indirect targets. - (cgraph_edge::redirect_call_stmt_to_callee): Use make_direct.. - (cgraph_node::verify_node): Verify that only one call_stmt or - lto_stmt_uid is set. - * cgraphclones.c (cgraph_edge::clone): Set only one call_stmt or - lto_stmt_uid. - * lto-cgraph.c (lto_output_edge): Simplify streaming of stmt. - (lto_output_ref): Simplify streaming of stmt. - * lto-streamer-in.c (fixup_call_stmt_edges_1): Clear lto_stmt_uid. - -2020-01-18 Tamar Christina - - * config/aarch64/aarch64-sve-builtins-base.cc (memory_vector_mode): - Mark parameter unused. - -2020-01-18 Hans-Peter Nilsson - - * config.gcc : Add crisv32-*-* and cris-*-linux* - -2019-01-18 Gerald Pfeifer - - * varpool.c (ctor_useable_for_folding_p): Fix grammar. - -2020-01-18 Iain Sandoe - - * Makefile.in: Add coroutine-passes.o. - * builtin-types.def (BT_CONST_SIZE): New. - (BT_FN_BOOL_PTR): New. - (BT_FN_PTR_PTR_CONST_SIZE_BOOL): New. - * builtins.def (DEF_COROUTINE_BUILTIN): New. - * coroutine-builtins.def: New file. - * coroutine-passes.cc: New file. - * function.h (struct GTY function): Add a bit to indicate that the - function is a coroutine component. - * internal-fn.c (expand_CO_FRAME): New. - (expand_CO_YIELD): New. - (expand_CO_SUSPN): New. - (expand_CO_ACTOR): New. - * internal-fn.def (CO_ACTOR): New. - (CO_YIELD): New. - (CO_SUSPN): New. - (CO_FRAME): New. - * passes.def: Add pass_coroutine_lower_builtins, - pass_coroutine_early_expand_ifns. - * tree-pass.h (make_pass_coroutine_lower_builtins): New. - (make_pass_coroutine_early_expand_ifns): New. - * doc/invoke.texi: Document the fcoroutines command line - switch. - -2020-01-18 Jakub Jelinek - - * config/arm/vfp.md (*clear_vfp_multiple): Remove unused variable. - - PR target/93312 - * config/arm/arm.c (clear_operation_p): Don't use REGNO until - after checking the argument is a REG. Don't use REGNO (reg) - again to set last_regno, reuse regno variable instead. - -2020-01-17 David Malcolm - - * doc/analyzer.texi (Limitations): Add note about NaN. - -2020-01-17 Mihail-Calin Ionescu - Sudakshina Das - - * config/arm/arm.md (ashldi3): Generate thumb2_lsll for both reg - and valid immediate. - (ashrdi3): Generate thumb2_asrl for both reg and valid immediate. - (lshrdi3): Generate thumb2_lsrl for valid immediates. - * config/arm/constraints.md (Pg): New. - * config/arm/predicates.md (long_shift_imm): New. - (arm_reg_or_long_shift_imm): Likewise. - * config/arm/thumb2.md (thumb2_asrl): New immediate alternative. - (thumb2_lsll): Likewise. - (thumb2_lsrl): New. - -2020-01-17 Mihail-Calin Ionescu - Sudakshina Das - - * config/arm/arm.md (ashldi3): Generate thumb2_lsll for TARGET_HAVE_MVE. - (ashrdi3): Generate thumb2_asrl for TARGET_HAVE_MVE. - * config/arm/arm.c (arm_hard_regno_mode_ok): Allocate even odd - register pairs for doubleword quantities for ARMv8.1M-Mainline. - * config/arm/thumb2.md (thumb2_asrl): New. - (thumb2_lsll): Likewise. - -2020-01-17 Jakub Jelinek - - * config/arm/arm.c (cmse_nonsecure_call_inline_register_clear): Remove - unused variable. - -2020-01-17 Alexander Monakov - - * gdbinit.in (help-gcc-hooks): New command. - (pp, pr, prl, pt, pct, pgg, pgq, pgs, pge, pmz, ptc, pdn, ptn, pdd, prc, - pi, pbm, pel, trt): Take $arg0 instead of $ if supplied. Update - documentation. - -2020-01-17 Matthew Malcomson - - * config/aarch64/aarch64-sve.md (@aarch64_sve_ld1ro): Use the - correct target macro. - -2020-01-17 Matthew Malcomson - - * config/aarch64/aarch64-protos.h - (aarch64_sve_ld1ro_operand_p): New. - * config/aarch64/aarch64-sve-builtins-base.cc - (class load_replicate): New. - (class svld1ro_impl): New. - (class svld1rq_impl): Change to inherit from load_replicate. - (svld1ro): New sve intrinsic function base. - * config/aarch64/aarch64-sve-builtins-base.def (svld1ro): - New DEF_SVE_FUNCTION. - * config/aarch64/aarch64-sve-builtins-base.h - (svld1ro): New decl. - * config/aarch64/aarch64-sve-builtins.cc - (function_expander::add_mem_operand): Modify assert to allow - OImode. - * config/aarch64/aarch64-sve.md (@aarch64_sve_ld1ro): New - pattern. - * config/aarch64/aarch64.c - (aarch64_sve_ld1rq_operand_p): Implement in terms of ... - (aarch64_sve_ld1rq_ld1ro_operand_p): This. - (aarch64_sve_ld1ro_operand_p): New. - * config/aarch64/aarch64.md (UNSPEC_LD1RO): New unspec. - * config/aarch64/constraints.md (UOb,UOh,UOw,UOd): New. - * config/aarch64/predicates.md - (aarch64_sve_ld1ro_operand_{b,h,w,d}): New. - -2020-01-17 Matthew Malcomson - - * config/aarch64/aarch64-c.c (_ARM_FEATURE_MATMUL_FLOAT64): - Introduce this ACLE specified predefined macro. - * config/aarch64/aarch64-option-extensions.def (f64mm): New. - (fp): Disabling this disables f64mm. - (simd): Disabling this disables f64mm. - (fp16): Disabling this disables f64mm. - (sve): Disabling this disables f64mm. - * config/aarch64/aarch64.h (AARCH64_FL_F64MM): New. - (AARCH64_ISA_F64MM): New. - (TARGET_F64MM): New. - * doc/invoke.texi (f64mm): Document new option. - -2020-01-17 Wilco Dijkstra - - * config/aarch64/aarch64.c (generic_tunings): Add branch fusion. - (neoversen1_tunings): Likewise. - -2020-01-17 Wilco Dijkstra - - PR target/92692 - * config/aarch64/aarch64.c (aarch64_split_compare_and_swap) - Add assert to ensure prolog has been emitted. - (aarch64_split_atomic_op): Likewise. - * config/aarch64/atomics.md (aarch64_compare_and_swap) - Use epilogue_completed rather than reload_completed. - (aarch64_atomic_exchange): Likewise. - (aarch64_atomic_): Likewise. - (atomic_nand): Likewise. - (aarch64_atomic_fetch_): Likewise. - (atomic_fetch_nand): Likewise. - (aarch64_atomic__fetch): Likewise. - (atomic_nand_fetch): Likewise. - -2020-01-17 Richard Sandiford - - PR target/93133 - * config/aarch64/aarch64.h (REVERSIBLE_CC_MODE): Return false - for FP modes. - (REVERSE_CONDITION): Delete. - * config/aarch64/iterators.md (CC_ONLY): New mode iterator. - (CCFP_CCFPE): Likewise. - (e): New mode attribute. - * config/aarch64/aarch64.md (ccmp): Rename to... - (@ccmp): ...this, using CC_ONLY instead of CC. - (fccmp, fccmpe): Merge into... - (@ccmp): ...this combined pattern. - (@ccmp_rev): New pattern. - (@ccmp_rev): Likewise. - * config/aarch64/aarch64.c (aarch64_gen_compare_reg): Update - name of generator from gen_ccmpdi to gen_ccmpccdi. - (aarch64_gen_ccmp_next): Use code_for_ccmp. If we want to reverse - the previous comparison but aren't able to, use the new ccmp_rev - patterns instead. - -2020-01-17 Richard Sandiford - - * gimplify.c (gimplify_return_expr): Use poly_int_tree_p rather - than testing directly for INTEGER_CST. - (gimplify_target_expr, gimplify_omp_depend): Likewise. - -2020-01-17 Jakub Jelinek - - PR tree-optimization/93292 - * tree-vect-stmts.c (vectorizable_comparison): Punt also if - get_vectype_for_scalar_type returns NULL. - -2020-01-16 Jan Hubicka - - * params.opt (-param=max-predicted-iterations): Increase range from 0. - * predict.c (estimate_loops): Add 1 to param_max_predicted_iterations. - -2020-01-16 Jan Hubicka - - * ipa-fnsummary.c (estimate_calls_size_and_time): Fix formating of - dump. - * params.opt: (max-predicted-iterations): Set bounds. - * predict.c (real_almost_one, real_br_prob_base, - real_inv_br_prob_base, real_one_half, real_bb_freq_max): Remove. - (propagate_freq): Add max_cyclic_prob parameter; cap cyclic - probabilities; do not truncate to reg_br_prob_bases. - (estimate_loops_at_level): Pass max_cyclic_prob. - (estimate_loops): Compute max_cyclic_prob. - (estimate_bb_frequencies): Do not initialize real_*; update calculation - of back edge prob. - * profile-count.c (profile_probability::to_sreal): New. - * profile-count.h (class sreal): Move up in file. - (profile_probability::to_sreal): Declare. - -2020-01-16 Stam Markianos-Wright - - * config/arm/arm.c - (arm_invalid_conversion): New function for target hook. - (arm_invalid_unary_op): New function for target hook. - (arm_invalid_binary_op): New function for target hook. - -2020-01-16 Stam Markianos-Wright - - * config.gcc: Add arm_bf16.h. - * config/arm/arm-builtins.c (arm_mangle_builtin_type): Fix comment. - (arm_simd_builtin_std_type): Add BFmode. - (arm_init_simd_builtin_types): Define element types for vector types. - (arm_init_bf16_types): New function. - (arm_init_builtins): Add arm_init_bf16_types function call. - * config/arm/arm-modes.def: Add BFmode and V4BF, V8BF vector modes. - * config/arm/arm-simd-builtin-types.def: Add V4BF, V8BF. - * config/arm/arm.c (aapcs_vfp_sub_candidate): Add BFmode. - (arm_hard_regno_mode_ok): Add BFmode and tidy up statements. - (arm_vector_mode_supported_p): Add V4BF, V8BF. - (arm_mangle_type): Add __bf16. - * config/arm/arm.h: Add V4BF, V8BF to VALID_NEON_DREG_MODE, - VALID_NEON_QREG_MODE respectively. Add export arm_bf16_type_node, - arm_bf16_ptr_type_node. - * config/arm/arm.md: Add BFmode to movhf expand, mov pattern and - define_split between ARM registers. - * config/arm/arm_bf16.h: New file. - * config/arm/arm_neon.h: Add arm_bf16.h and Bfloat vector types. - * config/arm/iterators.md: (ANY64_BF, VDXMOV, VHFBF, HFBF, fporbf): New. - (VQXMOV): Add V8BF. - * config/arm/neon.md: Add BF vector types to movhf NEON move patterns. - * config/arm/vfp.md: Add BFmode to movhf patterns. - -2020-01-16 Mihail Ionescu - Andre Vieira - - * config/arm/arm-cpus.in (mve, mve_float): New features. - (dsp, mve, mve.fp): New options. - * config/arm/arm.h (TARGET_HAVE_MVE, TARGET_HAVE_MVE_FLOAT): Define. - * config/arm/t-rmprofile: Map v8.1-M multilibs to v8-M. - * doc/invoke.texi: Document the armv8.1-m mve and dps options. - -2020-01-16 Mihail-Calin Ionescu - Thomas Preud'homme - - * config/arm/arm-cpus.in (ARMv8_1m_main): Redefine as an extension to - Armv8-M Mainline. - * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Remove - error for using -mcmse when targeting Armv8.1-M Mainline. - -2020-01-16 Mihail-Calin Ionescu - Thomas Preud'homme - - * config/arm/arm.md (nonsecure_call_internal): Do not force memory - address in r4 when targeting Armv8.1-M Mainline. - (nonsecure_call_value_internal): Likewise. - * config/arm/thumb2.md (nonsecure_call_reg_thumb2): Make memory address - a register match_operand again. Emit BLXNS when targeting - Armv8.1-M Mainline. - (nonsecure_call_value_reg_thumb2): Likewise. - -2020-01-16 Mihail-Calin Ionescu - Thomas Preud'homme - - * config/arm/arm.c (arm_add_cfa_adjust_cfa_note): Declare early. - (cmse_nonsecure_call_inline_register_clear): Define new lazy_fpclear - variable as true when floating-point ABI is not hard. Replace - check against TARGET_HARD_FLOAT_ABI by checks against lazy_fpclear. - Generate VLSTM and VLLDM instruction respectively before and - after a function call to cmse_nonsecure_call function. - * config/arm/unspecs.md (VUNSPEC_VLSTM): Define unspec. - (VUNSPEC_VLLDM): Likewise. - * config/arm/vfp.md (lazy_store_multiple_insn): New define_insn. - (lazy_load_multiple_insn): Likewise. - -2020-01-16 Mihail-Calin Ionescu - Thomas Preud'homme - - * config/arm/arm.c (vfp_emit_fstmd): Declare early. - (arm_emit_vfp_multi_reg_pop): Likewise. - (cmse_nonsecure_call_inline_register_clear): Abstract number of VFP - registers to clear in max_fp_regno. Emit VPUSH and VPOP to save and - restore callee-saved VFP registers. - -2020-01-16 Mihail-Calin Ionescu - Thomas Preud'homme - - * config/arm/arm.c (arm_emit_multi_reg_pop): Declare early. - (cmse_nonsecure_call_clear_caller_saved): Rename into ... - (cmse_nonsecure_call_inline_register_clear): This. Save and clear - callee-saved GPRs as well as clear ip register before doing a nonsecure - call then restore callee-saved GPRs after it when targeting - Armv8.1-M Mainline. - (arm_reorg): Adapt to function rename. - -2020-01-16 Mihail-Calin Ionescu - Thomas Preud'homme - - * config/arm/arm-protos.h (clear_operation_p): Adapt prototype. - * config/arm/arm.c (clear_operation_p): Extend to be able to check a - clear_vfp_multiple pattern based on a new vfp parameter. - (cmse_clear_registers): Generate VSCCLRM to clear VFP registers when - targeting Armv8.1-M Mainline. - (cmse_nonsecure_entry_clear_before_return): Clear VFP registers - unconditionally when targeting Armv8.1-M Mainline architecture. Check - whether VFP registers are available before looking call_used_regs for a - VFP register. - * config/arm/predicates.md (clear_multiple_operation): Adapt to change - of prototype of clear_operation_p. - (clear_vfp_multiple_operation): New predicate. - * config/arm/unspecs.md (VUNSPEC_VSCCLRM_VPR): New volatile unspec. - * config/arm/vfp.md (clear_vfp_multiple): New define_insn. - -2020-01-16 Mihail-Calin Ionescu - Thomas Preud'homme - - * config/arm/arm-protos.h (clear_operation_p): Declare. - * config/arm/arm.c (clear_operation_p): New function. - (cmse_clear_registers): Generate clear_multiple instruction pattern if - targeting Armv8.1-M Mainline or successor. - (output_return_instruction): Only output APSR register clearing if - Armv8.1-M Mainline instructions not available. - (thumb_exit): Likewise. - * config/arm/predicates.md (clear_multiple_operation): New predicate. - * config/arm/thumb2.md (clear_apsr): New define_insn. - (clear_multiple): Likewise. - * config/arm/unspecs.md (VUNSPEC_CLRM_APSR): New volatile unspec. - -2020-01-16 Mihail-Calin Ionescu - Thomas Preud'homme - - * config/arm/arm.c (fp_sysreg_names): Declare and define. - (use_return_insn): Also return false for Armv8.1-M Mainline. - (output_return_instruction): Skip FPSCR clearing if Armv8.1-M - Mainline instructions are available. - (arm_compute_frame_layout): Allocate space in frame for FPCXTNS - when targeting Armv8.1-M Mainline Security Extensions. - (arm_expand_prologue): Save FPCXTNS if this is an Armv8.1-M - Mainline entry function. - (cmse_nonsecure_entry_clear_before_return): Clear IP and r4 if - targeting Armv8.1-M Mainline or successor. - (arm_expand_epilogue): Fix indentation of caller-saved register - clearing. Restore FPCXTNS if this is an Armv8.1-M Mainline - entry function. - * config/arm/arm.h (TARGET_HAVE_FP_CMSE): New macro. - (FP_SYSREGS): Likewise. - (enum vfp_sysregs_encoding): Define enum. - (fp_sysreg_names): Declare. - * config/arm/unspecs.md (VUNSPEC_VSTR_VLDR): New volatile unspec. - * config/arm/vfp.md (push_fpsysreg_insn): New define_insn. - (pop_fpsysreg_insn): Likewise. - -2020-01-16 Mihail-Calin Ionescu - Thomas Preud'homme - - * config/arm/arm-cpus.in (armv8_1m_main): New feature. - (ARMv4, ARMv4t, ARMv5t, ARMv5te, ARMv5tej, ARMv6, ARMv6j, ARMv6k, - ARMv6z, ARMv6kz, ARMv6zk, ARMv6t2, ARMv6m, ARMv7, ARMv7a, ARMv7ve, - ARMv7r, ARMv7m, ARMv7em, ARMv8a, ARMv8_1a, ARMv8_2a, ARMv8_3a, - ARMv8_4a, ARMv8_5a, ARMv8m_base, ARMv8m_main, ARMv8r): Reindent. - (ARMv8_1m_main): New feature group. - (armv8.1-m.main): New architecture. - * config/arm/arm-tables.opt: Regenerate. - * config/arm/arm.c (arm_arch8_1m_main): Define and default initialize. - (arm_option_reconfigure_globals): Initialize arm_arch8_1m_main. - (arm_options_perform_arch_sanity_checks): Error out when targeting - Armv8.1-M Mainline Security Extensions. - * config/arm/arm.h (arm_arch8_1m_main): Declare. - -2020-01-16 Stam Markianos-Wright - - * config/aarch64/aarch64-simd-builtins.def (aarch64_bfdot, - aarch64_bfdot_lane, aarch64_bfdot_laneq): New. - * config/aarch64/aarch64-simd.md (aarch64_bfdot, aarch64_bfdot_lane, - aarch64_bfdot_laneq): New. - * config/aarch64/arm_bf16.h (vbfdot_f32, vbfdotq_f32, - vbfdot_lane_f32, vbfdotq_lane_f32, vbfdot_laneq_f32, - vbfdotq_laneq_f32): New. - * config/aarch64/iterators.md (UNSPEC_BFDOT, Vbfdottype, - VBFMLA_W, VBF): New. - (isquadop): Add V4BF, V8BF. - -2020-01-16 Stam Markianos-Wright - - * config/aarch64/aarch64-builtins.c: (enum aarch64_type_qualifiers): - New qualifier_lane_quadtup_index, TYPES_TERNOP_SSUS, - TYPES_QUADOPSSUS_LANE_QUADTUP, TYPES_QUADOPSSSU_LANE_QUADTUP. - (aarch64_simd_expand_args): Add case SIMD_ARG_LANE_QUADTUP_INDEX. - (aarch64_simd_expand_builtin): Add qualifier_lane_quadtup_index. - * config/aarch64/aarch64-simd-builtins.def (usdot, usdot_lane, - usdot_laneq, sudot_lane,sudot_laneq): New. - * config/aarch64/aarch64-simd.md (aarch64_usdot): New. - (aarch64_dot_lane): New. - * config/aarch64/arm_neon.h (vusdot_s32): New. - (vusdotq_s32): New. - (vusdot_lane_s32): New. - (vsudot_lane_s32): New. - * config/aarch64/iterators.md (DOTPROD_I8MM): New iterator. - (UNSPEC_USDOT, UNSPEC_SUDOT): New unspecs. - -2020-01-16 Martin Liska - - * value-prof.c (dump_histogram_value): Fix - obvious spacing issue. - -2020-01-16 Andrew Pinski - - * tree-ssa-sccvn.c(vn_reference_lookup_3): Check lhs for - !storage_order_barrier_p. - -2020-01-16 Andrew Pinski - - * sched-int.h (_dep): Add unused bit-field field for the padding. - * sched-deps.c (init_dep_1): Init unused field. - -2020-01-16 Andrew Pinski - - * optabs.h (create_expand_operand): Initialize target field also. - -2020-01-16 Andre Vieira - - PR tree-optimization/92429 - * tree-ssa-loop-niter.h (simplify_replace_tree): Add parameter. - * tree-ssa-loop-niter.c (simplify_replace_tree): Add parameter to - control folding. - * tree-vect-loop.c (update_epilogue_vinfo): Do not fold when replacing - tree. - -2020-01-16 Richard Sandiford - - * config/aarch64/aarch64.c (aarch64_split_sve_subreg_move): Apply - aarch64_sve_int_mode to each mode. - -2020-01-15 David Malcolm - - * doc/analyzer.texi (Overview): Add note about - -fdump-ipa-analyzer. - -2020-01-15 Wilco Dijkstra - - PR tree-optimization/93231 - * tree-ssa-forwprop.c (optimize_count_trailing_zeroes): Check - input_type is unsigned. Use tree_to_shwi for shift constant. - Check CST_STRING element size is CHAR_TYPE_SIZE bits. - (simplify_count_trailing_zeroes): Add test to handle known non-zero - inputs more efficiently. - -2020-01-15 Uroš Bizjak - - * config/i386/i386.md (*movsf_internal): Do not require - SSE2 ISA for alternatives 14 and 15. - -2020-01-15 Richard Biener - - PR middle-end/93273 - * tree-eh.c (sink_clobbers): If we already visited the destination - block do not defer insertion. - (pass_lower_eh_dispatch::execute): Maintain BB_VISITED for - the purpose of defered insertion. - -2020-01-15 Jakub Jelinek - - * BASE-VER: Bump to 10.0.1. - -2020-01-15 Richard Sandiford - - PR tree-optimization/93247 - * tree-vect-loop.c (update_epilogue_loop_vinfo): Check the access - type of the stmt that we're going to vectorize. - -2020-01-15 Richard Sandiford - - * tree-vect-slp.c (vectorize_slp_instance_root_stmt): Use a - VIEW_CONVERT_EXPR if the vectorized constructor has a diffeent - type from the lhs. - -2020-01-15 Martin Liska - - * ipa-profile.c (ipa_profile_read_edge_summary): Do not allow - 2 calls of streamer_read_hwi in a function call. - -2020-01-15 Richard Biener - - * alias.c (record_alias_subset): Avoid redundant work when - subset is already recorded. - -2020-01-14 David Malcolm - - * doc/invoke.texi (-fdiagnostics-show-cwe): Add note that some of - the analyzer options provide CWE identifiers. - -2020-01-14 David Malcolm - - * tree-diagnostic-path.cc (path_summary::event_range::print): - When testing for UNKNOWN_LOCATION, look through ad-hoc wrappers - using get_pure_location. - -2020-01-15 Jakub Jelinek - - PR tree-optimization/93262 - * tree-ssa-dse.c (maybe_trim_memstar_call): For *_chk builtins, - perform head trimming only if the last argument is constant, - either all ones, or larger or equal to head trim, in the latter - case decrease the last argument by head_trim. - - PR tree-optimization/93249 - * tree-ssa-dse.c: Include builtins.h and gimple-fold.h. - (maybe_trim_memstar_call): Move head_trim and tail_trim vars to - function body scope, reindent. For BUILTIN_IN_STRNCPY*, don't - perform head trim unless we can prove there are no '\0' chars - from the source among the first head_trim chars. - -2020-01-14 David Malcolm - - * Makefile.in (ANALYZER_OBJS): Add analyzer/function-set.o. - -2020-01-15 Jakub Jelinek - - PR target/93009 - * config/i386/sse.md - (*fma_fmadd__bcst_1, - *fma_fmsub__bcst_1, - *fma_fnmadd__bcst_1, - *fma_fnmsub__bcst_1): Use - just a single alternative instead of two, make operands 1 and 2 - commutative. - -2020-01-14 Jan Hubicka - - PR lto/91576 - * ipa-devirt.c (odr_types_equivalent_p): Compare TREE_ADDRESSABLE and - TYPE_MODE. - -2020-01-14 David Malcolm - - * Makefile.in (lang_opt_files): Add analyzer.opt. - (ANALYZER_OBJS): New. - (OBJS): Add digraph.o, graphviz.o, ordered-hash-map-tests.o, - tristate.o and ANALYZER_OBJS. - (TEXI_GCCINT_FILES): Add analyzer.texi. - * common.opt (-fanalyzer): New driver option. - * config.in: Regenerate. - * configure: Regenerate. - * configure.ac (--disable-analyzer, ENABLE_ANALYZER): New option. - (gccdepdir): Also create depdir for "analyzer" subdir. - * digraph.cc: New file. - * digraph.h: New file. - * doc/analyzer.texi: New file. - * doc/gccint.texi ("Static Analyzer") New menu item. - (analyzer.texi): Include it. - * doc/invoke.texi ("Static Analyzer Options"): New list and new section. - ("Warning Options"): Add static analysis warnings to the list. - (-Wno-analyzer-double-fclose): New option. - (-Wno-analyzer-double-free): New option. - (-Wno-analyzer-exposure-through-output-file): New option. - (-Wno-analyzer-file-leak): New option. - (-Wno-analyzer-free-of-non-heap): New option. - (-Wno-analyzer-malloc-leak): New option. - (-Wno-analyzer-possible-null-argument): New option. - (-Wno-analyzer-possible-null-dereference): New option. - (-Wno-analyzer-null-argument): New option. - (-Wno-analyzer-null-dereference): New option. - (-Wno-analyzer-stale-setjmp-buffer): New option. - (-Wno-analyzer-tainted-array-index): New option. - (-Wno-analyzer-use-after-free): New option. - (-Wno-analyzer-use-of-pointer-in-stale-stack-frame): New option. - (-Wno-analyzer-use-of-uninitialized-value): New option. - (-Wanalyzer-too-complex): New option. - (-fanalyzer-call-summaries): New warning. - (-fanalyzer-checker=): New warning. - (-fanalyzer-fine-grained): New warning. - (-fno-analyzer-state-merge): New warning. - (-fno-analyzer-state-purge): New warning. - (-fanalyzer-transitivity): New warning. - (-fanalyzer-verbose-edges): New warning. - (-fanalyzer-verbose-state-changes): New warning. - (-fanalyzer-verbosity=): New warning. - (-fdump-analyzer): New warning. - (-fdump-analyzer-callgraph): New warning. - (-fdump-analyzer-exploded-graph): New warning. - (-fdump-analyzer-exploded-nodes): New warning. - (-fdump-analyzer-exploded-nodes-2): New warning. - (-fdump-analyzer-exploded-nodes-3): New warning. - (-fdump-analyzer-supergraph): New warning. - * doc/sourcebuild.texi (dg-require-dot): New. - (dg-check-dot): New. - * gdbinit.in (break-on-saved-diagnostic): New command. - * graphviz.cc: New file. - * graphviz.h: New file. - * ordered-hash-map-tests.cc: New file. - * ordered-hash-map.h: New file. - * passes.def (pass_analyzer): Add before - pass_ipa_whole_program_visibility. - * selftest-run-tests.c (selftest::run_tests): Call - selftest::ordered_hash_map_tests_cc_tests. - * selftest.h (selftest::ordered_hash_map_tests_cc_tests): New - decl. - * shortest-paths.h: New file. - * timevar.def (TV_ANALYZER): New timevar. - (TV_ANALYZER_SUPERGRAPH): Likewise. - (TV_ANALYZER_STATE_PURGE): Likewise. - (TV_ANALYZER_PLAN): Likewise. - (TV_ANALYZER_SCC): Likewise. - (TV_ANALYZER_WORKLIST): Likewise. - (TV_ANALYZER_DUMP): Likewise. - (TV_ANALYZER_DIAGNOSTICS): Likewise. - (TV_ANALYZER_SHORTEST_PATHS): Likewise. - * tree-pass.h (make_pass_analyzer): New decl. - * tristate.cc: New file. - * tristate.h: New file. - -2020-01-14 Uroš Bizjak - - PR target/93254 - * config/i386/i386.md (*movsf_internal): Require SSE2 ISA for - alternatives 9 and 10. - -2020-01-14 David Malcolm - - * attribs.c (excl_hash_traits::empty_zero_p): New static constant. - * gcov.c (function_start_pair_hash::empty_zero_p): Likewise. - * graphite.c (struct sese_scev_hash::empty_zero_p): Likewise. - * hash-map-tests.c (selftest::test_nonzero_empty_key): New selftest. - (selftest::hash_map_tests_c_tests): Call it. - * hash-map-traits.h (simple_hashmap_traits::empty_zero_p): - New static constant, using the value of = H::empty_zero_p. - (unbounded_hashmap_traits::empty_zero_p): Likewise, using the value - from default_hash_traits . - * hash-map.h (hash_map::empty_zero_p): Likewise, using the value - from Traits. - * hash-set-tests.c (value_hash_traits::empty_zero_p): Likewise. - * hash-table.h (hash_table::alloc_entries): Guard the loop of - calls to mark_empty with !Descriptor::empty_zero_p. - (hash_table::empty_slow): Conditionalize the memset call with a - check that Descriptor::empty_zero_p; otherwise, loop through the - entries calling mark_empty on them. - * hash-traits.h (int_hash::empty_zero_p): New static constant. - (pointer_hash::empty_zero_p): Likewise. - (pair_hash::empty_zero_p): Likewise. - * ipa-devirt.c (default_hash_traits ::empty_zero_p): - Likewise. - * ipa-prop.c (ipa_bit_ggc_hash_traits::empty_zero_p): Likewise. - (ipa_vr_ggc_hash_traits::empty_zero_p): Likewise. - * profile.c (location_triplet_hash::empty_zero_p): Likewise. - * sanopt.c (sanopt_tree_triplet_hash::empty_zero_p): Likewise. - (sanopt_tree_couple_hash::empty_zero_p): Likewise. - * tree-hasher.h (int_tree_hasher::empty_zero_p): Likewise. - * tree-ssa-sccvn.c (vn_ssa_aux_hasher::empty_zero_p): Likewise. - * tree-vect-slp.c (bst_traits::empty_zero_p): Likewise. - * tree-vectorizer.h - (default_hash_traits::empty_zero_p): - Likewise. - -2020-01-14 Kewen Lin - - * cfgloopanal.c (average_num_loop_insns): Free bbs when early return, - fix typo on return value. - -2020-01-14 Xiong Hu Luo - - PR ipa/69678 - * cgraph.c (symbol_table::create_edge): Init speculative_id and - target_prob. - (cgraph_edge::make_speculative): Add param for setting speculative_id - and target_prob. - (cgraph_edge::speculative_call_info): Update comments and find reference - by speculative_id for multiple indirect targets. - (cgraph_edge::resolve_speculation): Decrease the speculations - for indirect edge, drop it's speculative if not direct target - left. Update comments. - (cgraph_edge::redirect_call_stmt_to_callee): Likewise. - (cgraph_node::dump): Print num_speculative_call_targets. - (cgraph_node::verify_node): Don't report error if speculative - edge not include statement. - (cgraph_edge::num_speculative_call_targets_p): New function. - * cgraph.h (int common_target_id): Remove. - (int common_target_probability): Remove. - (num_speculative_call_targets): New variable. - (make_speculative): Add param for setting speculative_id. - (cgraph_edge::num_speculative_call_targets_p): New declare. - (target_prob): New variable. - (speculative_id): New variable. - * ipa-fnsummary.c (analyze_function_body): Create and duplicate - call summaries for multiple speculative call targets. - * cgraphclones.c (cgraph_node::create_clone): Clone speculative_id. - * ipa-profile.c (struct speculative_call_target): New struct. - (class speculative_call_summary): New class. - (class speculative_call_summaries): New class. - (call_sums): New variable. - (ipa_profile_generate_summary): Generate indirect multiple targets summaries. - (ipa_profile_write_edge_summary): New function. - (ipa_profile_write_summary): Stream out indirect multiple targets summaries. - (ipa_profile_dump_all_summaries): New function. - (ipa_profile_read_edge_summary): New function. - (ipa_profile_read_summary_section): New function. - (ipa_profile_read_summary): Stream in indirect multiple targets summaries. - (ipa_profile): Generate num_speculative_call_targets from - profile summaries. - * ipa-ref.h (speculative_id): New variable. - * ipa-utils.c (ipa_merge_profiles): Update with target_prob. - * lto-cgraph.c (lto_output_edge): Remove indirect common_target_id and - common_target_probability. Stream out speculative_id and - num_speculative_call_targets. - (input_edge): Likewise. - * predict.c (dump_prediction): Remove edges count assert to be - precise. - * symtab.c (symtab_node::create_reference): Init speculative_id. - (symtab_node::clone_references): Clone speculative_id. - (symtab_node::clone_referring): Clone speculative_id. - (symtab_node::clone_reference): Clone speculative_id. - (symtab_node::clear_stmts_in_references): Clear speculative_id. - * tree-inline.c (copy_bb): Duplicate all the speculative edges - if indirect call contains multiple speculative targets. - * value-prof.h (check_ic_target): Remove. - * value-prof.c (gimple_value_profile_transformations): - Use void function gimple_ic_transform. - * value-prof.c (gimple_ic_transform): Handle topn case. - Fix comment typos. Change it to a void function. - -2020-01-13 Andrew Pinski - - * config/aarch64/aarch64-cores.def (octeontx2): New define. - (octeontx2t98): New define. - (octeontx2t96): New define. - (octeontx2t93): New define. - (octeontx2f95): New define. - (octeontx2f95n): New define. - (octeontx2f95mm): New define. - * config/aarch64/aarch64-tune.md: Regenerate. - * doc/invoke.texi (-mcpu=): Document the new cpu types. - -2020-01-13 Jason Merrill - - PR c++/33799 - destroy return value if local cleanup throws. - * gimplify.c (gimplify_return_expr): Handle COMPOUND_EXPR. - -2020-01-13 Martin Liska - - * ipa-cp.c (get_max_overall_size): Use newly - renamed param param_ipa_cp_unit_growth. - * params.opt: Remove legacy param name. - -2020-01-13 Martin Sebor - - PR tree-optimization/93213 - * tree-ssa-strlen.c (handle_store): Only allow single-byte nul-over-nul - stores to be eliminated. - -2020-01-13 Martin Liska - - * opts.c (print_help): Do not print CL_PARAM - and CL_WARNING for CL_OPTIMIZATION. - -2020-01-13 Jonathan Wakely - - PR driver/92757 - * doc/invoke.texi (Warning Options): Add caveat about some warnings - depending on optimization settings. - -2020-01-13 Jakub Jelinek - - PR tree-optimization/90838 - * tree-ssa-forwprop.c (simplify_count_trailing_zeroes): Use - SCALAR_INT_TYPE_MODE directly in CTZ_DEFINED_VALUE_AT_ZERO macro - argument rather than to initialize temporary for targets that - don't use the mode argument at all. Initialize ctzval to avoid - warning at -O0. - -2020-01-10 Thomas Schwinge - - * tree.h (OMP_CLAUSE_USE_DEVICE_PTR_IF_PRESENT): New definition. - * tree-core.h: Document it. - * gimplify.c (gimplify_omp_workshare): Set it. - * omp-low.c (lower_omp_target): Use it. - * tree-pretty-print.c (dump_omp_clause): Print it. - - * omp-low.c (lower_omp_target) : - Assert that for OpenACC we always have 'GOMP_MAP_USE_DEVICE_PTR'. - -2020-01-10 David Malcolm - - * Makefile.in (OBJS): Add tree-diagnostic-path.o. - * common.opt (fdiagnostics-path-format=): New option. - (diagnostic_path_format): New enum. - (fdiagnostics-show-path-depths): New option. - * coretypes.h (diagnostic_event_id_t): New forward decl. - * diagnostic-color.c (color_dict): Add "path". - * diagnostic-event-id.h: New file. - * diagnostic-format-json.cc (json_from_expanded_location): Make - non-static. - (json_end_diagnostic): Call context->make_json_for_path if it - exists and the diagnostic has a path. - (diagnostic_output_format_init): Clear context->print_path. - * diagnostic-path.h: New file. - * diagnostic-show-locus.c (colorizer::set_range): Special-case - when printing a run of events in a diagnostic_path so that they - all get the same color. - (layout::m_diagnostic_path_p): New field. - (layout::layout): Initialize it. - (layout::print_any_labels): Don't colorize the label text for an - event in a diagnostic_path. - (gcc_rich_location::add_location_if_nearby): Add - "restrict_to_current_line_spans" and "label" params. Pass the - former to layout.maybe_add_location_range; pass the latter - when calling add_range. - * diagnostic.c: Include "diagnostic-path.h". - (diagnostic_initialize): Initialize context->path_format and - context->show_path_depths. - (diagnostic_show_any_path): New function. - (diagnostic_path::interprocedural_p): New function. - (diagnostic_report_diagnostic): Call diagnostic_show_any_path. - (simple_diagnostic_path::num_events): New function. - (simple_diagnostic_path::get_event): New function. - (simple_diagnostic_path::add_event): New function. - (simple_diagnostic_event::simple_diagnostic_event): New ctor. - (simple_diagnostic_event::~simple_diagnostic_event): New dtor. - (debug): New overload taking a diagnostic_path *. - * diagnostic.def (DK_DIAGNOSTIC_PATH): New. - * diagnostic.h (enum diagnostic_path_format): New enum. - (json::value): New forward decl. - (diagnostic_context::path_format): New field. - (diagnostic_context::show_path_depths): New field. - (diagnostic_context::print_path): New callback field. - (diagnostic_context::make_json_for_path): New callback field. - (diagnostic_show_any_path): New decl. - (json_from_expanded_location): New decl. - * doc/invoke.texi (-fdiagnostics-path-format=): New option. - (-fdiagnostics-show-path-depths): New option. - (-fdiagnostics-color): Add "path" to description of default - GCC_COLORS; describe it. - (-fdiagnostics-format=json): Document how diagnostic paths are - represented in the JSON output format. - * gcc-rich-location.h (gcc_rich_location::add_location_if_nearby): - Add optional params "restrict_to_current_line_spans" and "label". - * opts.c (common_handle_option): Handle - OPT_fdiagnostics_path_format_ and - OPT_fdiagnostics_show_path_depths. - * pretty-print.c: Include "diagnostic-event-id.h". - (pp_format): Implement "%@" format code for printing - diagnostic_event_id_t *. - (selftest::test_pp_format): Add tests for "%@". - * selftest-run-tests.c (selftest::run_tests): Call - selftest::tree_diagnostic_path_cc_tests. - * selftest.h (selftest::tree_diagnostic_path_cc_tests): New decl. - * toplev.c (general_init): Initialize global_dc->path_format and - global_dc->show_path_depths. - * tree-diagnostic-path.cc: New file. - * tree-diagnostic.c (maybe_unwind_expanded_macro_loc): Make - non-static. Drop "diagnostic" param in favor of storing the - original value of "where" and re-using it. - (virt_loc_aware_diagnostic_finalizer): Update for dropped param of - maybe_unwind_expanded_macro_loc. - (tree_diagnostics_defaults): Initialize context->print_path and - context->make_json_for_path. - * tree-diagnostic.h (default_tree_diagnostic_path_printer): New - decl. - (default_tree_make_json_for_path): New decl. - (maybe_unwind_expanded_macro_loc): New decl. - -2020-01-10 Jakub Jelinek - - PR tree-optimization/93210 - * fold-const.h (native_encode_initializer, - can_native_interpret_type_p): Declare. - * fold-const.c (native_encode_string): Fix up handling with off != -1, - simplify. - (native_encode_initializer): New function, moved from dwarf2out.c. - Adjust to native_encode_expr compatible arguments, including dry-run - and partial extraction modes. Don't handle STRING_CST. - (can_native_interpret_type_p): No longer static. - * gimple-fold.c (fold_ctor_reference): For native_encode_expr, verify - offset / BITS_PER_UNIT fits into int and don't call it if - can_native_interpret_type_p fails. If suboff is NULL and for - CONSTRUCTOR fold_{,non}array_ctor_reference returns NULL, retry with - native_encode_initializer. - (fold_const_aggregate_ref_1): Formatting fix. - * dwarf2out.c (native_encode_initializer): Moved to fold-const.c. - (tree_add_const_value_attribute): Adjust caller. - - PR tree-optimization/90838 - * tree-ssa-forwprop.c (simplify_count_trailing_zeroes): Use - SCALAR_INT_TYPE_MODE instead of TYPE_MODE as operand of - CTZ_DEFINED_VALUE_AT_ZERO. - -2020-01-10 Vladimir Makarov - - PR inline-asm/93027 - * lra-constraints.c (match_reload): Permit input operands have the - same mode as output while other input operands have a different - mode. - -2020-01-10 Wilco Dijkstra - - PR tree-optimization/90838 - * tree-ssa-forwprop.c (check_ctz_array): Add new function. - (check_ctz_string): Likewise. - (optimize_count_trailing_zeroes): Likewise. - (simplify_count_trailing_zeroes): Likewise. - (pass_forwprop::execute): Try ctz simplification. - * match.pd: Add matching for ctz idioms. - -2020-01-10 Stam Markianos-Wright - - * config/aarch64/aarch64.c (aarch64_invalid_conversion): New function - for target hook. - (aarch64_invalid_unary_op): New function for target hook. - (aarch64_invalid_binary_op): New function for target hook. - -2020-01-10 Stam Markianos-Wright - - * config.gcc: Add arm_bf16.h. - * config/aarch64/aarch64-builtins.c - (aarch64_simd_builtin_std_type): Add BFmode. - (aarch64_init_simd_builtin_types): Define element types for vector - types. - (aarch64_init_bf16_types): New function. - (aarch64_general_init_builtins): Add arm_init_bf16_types function call. - * config/aarch64/aarch64-modes.def: Add BFmode and V4BF, V8BF vector - modes. - * config/aarch64/aarch64-simd-builtin-types.def: Add BF SIMD types. - * config/aarch64/aarch64-simd.md: Add BF vector types to NEON move - patterns. - * config/aarch64/aarch64.h (AARCH64_VALID_SIMD_DREG_MODE): Add V4BF. - (AARCH64_VALID_SIMD_QREG_MODE): Add V8BF. - * config/aarch64/aarch64.c - (aarch64_classify_vector_mode): Add support for BF types. - (aarch64_gimplify_va_arg_expr): Add support for BF types. - (aarch64_vq_mode): Add support for BF types. - (aarch64_simd_container_mode): Add support for BF types. - (aarch64_mangle_type): Add support for BF scalar type. - * config/aarch64/aarch64.md: Add BFmode to movhf pattern. - * config/aarch64/arm_bf16.h: New file. - * config/aarch64/arm_neon.h: Add arm_bf16.h and Bfloat vector types. - * config/aarch64/iterators.md: Add BF types to mode attributes. - (HFBF, GPF_TF_F16_MOV, VDMOV, VQMOV, VQMOV_NO2Em VALL_F16MOV): New. - -2020-01-10 Jason Merrill - - PR c++/93173 - incorrect tree sharing. - * gimplify.c (copy_if_shared): No longer static. - * gimplify.h: Declare it. - -2020-01-10 Richard Sandiford - - * doc/invoke.texi (-msve-vector-bits=): Document that - -msve-vector-bits=128 now generates VL-specific code for - little-endian targets. - * config/aarch64/aarch64-sve-builtins.cc (register_builtin_types): Use - build_vector_type_for_mode to construct the data vector types. - * config/aarch64/aarch64.c (aarch64_convert_sve_vector_bits): Generate - VL-specific code for -msve-vector-bits=128 on little-endian targets. - (aarch64_simd_container_mode): Always prefer Advanced SIMD modes - for 128-bit vectors. - -2020-01-10 Richard Sandiford - - * config/aarch64/aarch64.c (aarch64_evpc_sel): Fix gen_vcond_mask - invocation. - -2020-01-10 Richard Sandiford - - * config/aarch64/aarch64-builtins.c - (aarch64_builtin_vectorized_function): Check for specific vector modes, - rather than checking the number of elements and the element mode. - -2020-01-10 Richard Sandiford - - * tree-vect-loop.c (vect_create_epilog_for_reduction): Use - get_related_vectype_for_scalar_type rather than build_vector_type - to create the index type for a conditional reduction. - -2020-01-10 Richard Sandiford - - * tree-vect-loop.c (update_epilogue_loop_vinfo): Update DR_REF - for any type of gather or scatter, including strided accesses. - -2020-01-10 Andre Vieira - - * tree-vectorizer.h (get_dr_vinfo_offset): Add missing function - comment. - -2020-01-10 Andre Vieira - - * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Use - get_dr_vinfo_offset - * tree-vect-loop.c (update_epilogue_loop_vinfo): Remove orig_drs_init - parameter and its use to reset DR_OFFSET's. - (vect_transform_loop): Remove orig_drs_init argument. - * tree-vect-loop-manip.c (vect_update_init_of_dr): Update the offset - member of dr_vec_info rather than the offset of the associated - data_reference's innermost_loop_behavior. - (vect_update_init_of_dr): Pass dr_vec_info instead of data_reference. - (vect_do_peeling): Remove orig_drs_init parameter and its construction. - * tree-vect-stmts.c (check_scan_store): Replace use of DR_OFFSET with - get_dr_vinfo_offset. - (vectorizable_store): Likewise. - (vectorizable_load): Likewise. - -2020-01-10 Richard Biener - - * gimple-ssa-store-merging - (pass_store_merging::terminate_all_aliasing_chains): Cache alias info. - -2020-01-10 Martin Liska - - PR ipa/93217 - * ipa-inline-analysis.c (offline_size): Make proper parenthesis - encapsulation that was there before r280040. - -2020-01-10 Richard Biener - - PR middle-end/93199 - * tree-eh.c (sink_clobbers): Move clobbers to out-of-IL - sequences to avoid walking them again for secondary opportunities. - (pass_lower_eh_dispatch::execute): Instead actually insert - them here. - -2020-01-10 Richard Biener - - PR middle-end/93199 - * tree-eh.c (redirect_eh_edge_1): Avoid some work if possible. - (cleanup_all_empty_eh): Walk landing pads in reverse order to - avoid quadraticness. - -2020-01-10 Martin Jambor - - * params.opt (param_ipa_sra_max_replacements): Mark as Optimization. - * ipa-sra.c (pull_accesses_from_callee): New parameter caller, use it - to get param_ipa_sra_max_replacements. - (param_splitting_across_edge): Pass the caller to - pull_accesses_from_callee. - -2020-01-10 Martin Jambor - - * params.opt (param_ipcp_unit_growth): Mark as Optimization. - * ipa-cp.c (max_new_size): Removed. - (orig_overall_size): New variable. - (get_max_overall_size): New function. - (estimate_local_effects): Use it. Adjust dump. - (decide_about_value): Likewise. - (ipcp_propagate_stage): Do not calculate max_new_size, just store - orig_overall_size. Adjust dump. - (ipa_cp_c_finalize): Clear orig_overall_size instead of max_new_size. - -2020-01-10 Martin Jambor - - * params.opt (param_ipa_max_agg_items): Mark as Optimization - * ipa-cp.c (merge_agg_lats_step): New parameter max_agg_items, use - instead of param_ipa_max_agg_items. - (merge_aggregate_lattices): Extract param_ipa_max_agg_items from - optimization info for the callee. - -2020-01-09 Kwok Cheung Yeung - - * lto-streamer-in.c (input_function): Remove streamed-in inline debug - markers if debug_inline_points is false. - -2020-01-09 Richard Sandiford - - * config.gcc (aarch64*-*-*): Add aarch64-sve-builtins-sve2.o to - extra_objs. - * config/aarch64/t-aarch64 (aarch64-sve-builtins.o): Depend on - aarch64-sve-builtins-base.def, aarch64-sve-builtins-sve2.def and - aarch64-sve-builtins-sve2.h. - (aarch64-sve-builtins-sve2.o): New rule. - * config/aarch64/aarch64.h (AARCH64_ISA_SVE2_AES): New macro. - (AARCH64_ISA_SVE2_BITPERM, AARCH64_ISA_SVE2_SHA3): Likewise. - (AARCH64_ISA_SVE2_SM4, TARGET_SVE2_AES, TARGET_SVE2_BITPERM): Likewise. - (TARGET_SVE2_SHA, TARGET_SVE2_SM4): Likewise. - * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Handle - TARGET_SVE2_AES, TARGET_SVE2_BITPERM, TARGET_SVE2_SHA3 and - TARGET_SVE2_SM4. - * config/aarch64/aarch64-sve.md: Update comments with SVE2 - instructions that are handled here. - (@cond_asrd): Generalize to... - (@cond_): ...this. - (*cond_asrd_2): Generalize to... - (*cond__2): ...this. - (*cond_asrd_z): Generalize to... - (*cond__z): ...this. - * config/aarch64/aarch64.md (UNSPEC_LDNT1_GATHER): New unspec. - (UNSPEC_STNT1_SCATTER, UNSPEC_WHILEGE, UNSPEC_WHILEGT): Likewise. - (UNSPEC_WHILEHI, UNSPEC_WHILEHS): Likewise. - * config/aarch64/aarch64-sve2.md (@aarch64_gather_ldnt): New - pattern. - (@aarch64_gather_ldnt_) - (@aarch64_scatter_stnt): Likewise. - (@aarch64_scatter_stnt_) - (@aarch64_mul_lane_): Likewise. - (@aarch64_sve_suqadd_const): Likewise. - (*h): Generalize to... - (@aarch64_pred_): ...this - new pattern. - (@cond_): New expander. - (*cond__2): New pattern. - (*cond__3): Likewise. - (*cond__any): Likewise. - (*cond__z): Likewise. - (@aarch64_sve_):: Likewise. - (@aarch64_sve__lane_): Likewise. - (@aarch64_pred_): Likewise. - (@cond_): New expander. - (*cond__2): New pattern. - (*cond__3): Likewise. - (*cond__any): Likewise. - (@aarch64_sve_): Likewise. - (@aarch64_sve__lane_) - (@aarch64_sve_add_mul_lane_): Likewise. - (@aarch64_sve_sub_mul_lane_): Likewise. - (@aarch64_sve2_xar): Likewise. - (@aarch64_sve2_bcax): Likewise. - (*aarch64_sve2_eor3): Rename to... - (@aarch64_sve2_eor3): ...this. - (@aarch64_sve2_bsl): New expander. - (@aarch64_sve2_nbsl): Likewise. - (@aarch64_sve2_bsl1n): Likewise. - (@aarch64_sve2_bsl2n): Likewise. - (@aarch64_sve_add_): Likewise. - (*aarch64_sve2_sra): Add MOVPRFX support. - (@aarch64_sve_add_): New pattern. - (@aarch64_sve_): Likewise. - (@aarch64_sve2_aba): New expander. - (*aarch64_sve2_aba): New pattern. - (@aarch64_sve_): Likewise. - (mull): Generalize to... - (@aarch64_sve_): ...this new - pattern. - (@aarch64_sve__lane_) - (@aarch64_sve_) - (@aarch64_sve_add_) - (@aarch64_sve_add__lane_) - (@aarch64_sve_qadd_) - (@aarch64_sve_qadd__lane_) - (@aarch64_sve_sub_) - (@aarch64_sve_sub__lane_) - (@aarch64_sve_qsub_) - (@aarch64_sve_qsub__lane_) - (@aarch64_sve_): New patterns. - (@aarch64__lane_) - (@aarch64_sve_): Likewise. - (@aarch64_sve_): Likewise. - (@aarch64_sve_): Likewise. - (@aarch64_sve_): Likewise. - (shrnb): Generalize to... - (@aarch64_sve_): ...this - new pattern. - (shrnt): Generalize to... - (@aarch64_sve_): ...this - new pattern. - (@aarch64_pred_): New pattern. - (@aarch64_pred_): Likewise. - (@cond_): New expander. - (*cond__2): New pattern. - (*cond__z): Likewise. - (@aarch64_sve_): Likewise. - (@aarch64_sve_): Likewise. - (@aarch64__lane_): Likewise. - (@aarch64_sve_): Likewise. - (@aarch64__lane_): Likewise. - (@aarch64_pred_): Likewise. - (@cond_): New expander. - (*cond_): New pattern. - (@aarch64_sve2_cvtnt): Likewise. - (@aarch64_pred_): Likewise. - (@cond_): New expander. - (*cond__any): New pattern. - (@aarch64_sve2_cvtxnt): Likewise. - (@aarch64_pred_): Likewise. - (@cond_): New expander. - (*cond_): New pattern. - (@aarch64_pred_): Likewise. - (@cond_): New expander. - (*cond_): New pattern. - (@aarch64_sve2_pmul): Likewise. - (@aarch64_sve_): Likewise. - (@aarch64_sve_): Likewise. - (@aarch64_sve2_tbl2): Likewise. - (@aarch64_sve2_tbx): Likewise. - (@aarch64_sve_): Likewise. - (@aarch64_sve2_histcnt): Likewise. - (@aarch64_sve2_histseg): Likewise. - (@aarch64_pred_): Likewise. - (*aarch64_pred__cc): Likewise. - (*aarch64_pred__ptest): Likewise. - (aarch64_sve2_aes): Likewise. - (aarch64_sve2_aes): Likewise. - (*aarch64_sve2_aese_fused, *aarch64_sve2_aesd_fused): Likewise. - (aarch64_sve2_rax1, aarch64_sve2_sm4e, aarch64_sve2_sm4ekey): Likewise. - (mulhs3): Update after above pattern name changes. - * config/aarch64/iterators.md (VNx16QI_ONLY, VNx4SF_ONLY) - (SVE_STRUCT2, SVE_FULL_BHI, SVE_FULL_HSI, SVE_FULL_HDI) - (SVE2_PMULL_PAIR_I): New mode iterators. - (UNSPEC_ADCLB, UNSPEC_ADCLT, UNSPEC_ADDHNB, UNSPEC_ADDHNT, UNSPEC_BDEP) - (UNSPEC_BEXT, UNSPEC_BGRP, UNSPEC_CADD90, UNSPEC_CADD270, UNSPEC_CDOT) - (UNSPEC_CDOT90, UNSPEC_CDOT180, UNSPEC_CDOT270, UNSPEC_CMLA) - (UNSPEC_CMLA90, UNSPEC_CMLA180, UNSPEC_CMLA270, UNSPEC_COND_FCVTLT) - (UNSPEC_COND_FCVTNT, UNSPEC_COND_FCVTX, UNSPEC_COND_FCVTXNT) - (UNSPEC_COND_FLOGB, UNSPEC_EORBT, UNSPEC_EORTB, UNSPEC_FADDP) - (UNSPEC_FMAXP, UNSPEC_FMAXNMP, UNSPEC_FMLALB, UNSPEC_FMLALT) - (UNSPEC_FMLSLB, UNSPEC_FMLSLT, UNSPEC_FMINP, UNSPEC_FMINNMP) - (UNSPEC_HISTCNT, UNSPEC_HISTSEG, UNSPEC_MATCH, UNSPEC_NMATCH) - (UNSPEC_PMULLB, UNSPEC_PMULLB_PAIR, UNSPEC_PMULLT, UNSPEC_PMULLT_PAIR) - (UNSPEC_RADDHNB, UNSPEC_RADDHNT, UNSPEC_RSUBHNB, UNSPEC_RSUBHNT) - (UNSPEC_SLI, UNSPEC_SRI, UNSPEC_SABDLB, UNSPEC_SABDLT, UNSPEC_SADDLB) - (UNSPEC_SADDLBT, UNSPEC_SADDLT, UNSPEC_SADDWB, UNSPEC_SADDWT) - (UNSPEC_SBCLB, UNSPEC_SBCLT, UNSPEC_SMAXP, UNSPEC_SMINP) - (UNSPEC_SQCADD90, UNSPEC_SQCADD270, UNSPEC_SQDMULLB, UNSPEC_SQDMULLBT) - (UNSPEC_SQDMULLT, UNSPEC_SQRDCMLAH, UNSPEC_SQRDCMLAH90) - (UNSPEC_SQRDCMLAH180, UNSPEC_SQRDCMLAH270, UNSPEC_SQRSHRNB) - (UNSPEC_SQRSHRNT, UNSPEC_SQRSHRUNB, UNSPEC_SQRSHRUNT, UNSPEC_SQSHRNB) - (UNSPEC_SQSHRNT, UNSPEC_SQSHRUNB, UNSPEC_SQSHRUNT, UNSPEC_SQXTNB) - (UNSPEC_SQXTNT, UNSPEC_SQXTUNB, UNSPEC_SQXTUNT, UNSPEC_SSHLLB) - (UNSPEC_SSHLLT, UNSPEC_SSUBLB, UNSPEC_SSUBLBT, UNSPEC_SSUBLT) - (UNSPEC_SSUBLTB, UNSPEC_SSUBWB, UNSPEC_SSUBWT, UNSPEC_SUBHNB) - (UNSPEC_SUBHNT, UNSPEC_TBL2, UNSPEC_UABDLB, UNSPEC_UABDLT) - (UNSPEC_UADDLB, UNSPEC_UADDLT, UNSPEC_UADDWB, UNSPEC_UADDWT) - (UNSPEC_UMAXP, UNSPEC_UMINP, UNSPEC_UQRSHRNB, UNSPEC_UQRSHRNT) - (UNSPEC_UQSHRNB, UNSPEC_UQSHRNT, UNSPEC_UQXTNB, UNSPEC_UQXTNT) - (UNSPEC_USHLLB, UNSPEC_USHLLT, UNSPEC_USUBLB, UNSPEC_USUBLT) - (UNSPEC_USUBWB, UNSPEC_USUBWT): New unspecs. - (UNSPEC_SMULLB, UNSPEC_SMULLT, UNSPEC_UMULLB, UNSPEC_UMULLT) - (UNSPEC_SMULHS, UNSPEC_SMULHRS, UNSPEC_UMULHS, UNSPEC_UMULHRS) - (UNSPEC_RSHRNB, UNSPEC_RSHRNT, UNSPEC_SHRNB, UNSPEC_SHRNT): Move - further down file. - (VNARROW, Ventype): New mode attributes. - (Vewtype): Handle VNx2DI. Fix typo in comment. - (VDOUBLE): New mode attribute. - (sve_lane_con): Handle VNx8HI. - (SVE_INT_UNARY): Include ss_abs and ss_neg for TARGET_SVE2. - (SVE_INT_BINARY): Likewise ss_plus, us_plus, ss_minus and us_minus. - (sve_int_op, sve_int_op_rev): Handle the above codes. - (sve_pred_int_rhs2_operand): Likewise. - (MULLBT, SHRNB, SHRNT): Delete. - (SVE_INT_SHIFT_IMM): New int iterator. - (SVE_WHILE): Add UNSPEC_WHILEGE, UNSPEC_WHILEGT, UNSPEC_WHILEHI - and UNSPEC_WHILEHS for TARGET_SVE2. - (SVE2_U32_UNARY, SVE2_INT_UNARY_NARROWB, SVE2_INT_UNARY_NARROWT) - (SVE2_INT_BINARY, SVE2_INT_BINARY_LANE, SVE2_INT_BINARY_LONG) - (SVE2_INT_BINARY_LONG_LANE, SVE2_INT_BINARY_NARROWB) - (SVE2_INT_BINARY_NARROWT, SVE2_INT_BINARY_PAIR, SVE2_FP_BINARY_PAIR) - (SVE2_INT_BINARY_PAIR_LONG, SVE2_INT_BINARY_WIDE): New int iterators. - (SVE2_INT_SHIFT_IMM_LONG, SVE2_INT_SHIFT_IMM_NARROWB): Likewise. - (SVE2_INT_SHIFT_IMM_NARROWT, SVE2_INT_SHIFT_INSERT, SVE2_INT_CADD) - (SVE2_INT_BITPERM, SVE2_INT_TERNARY, SVE2_INT_TERNARY_LANE): Likewise. - (SVE2_FP_TERNARY_LONG, SVE2_FP_TERNARY_LONG_LANE, SVE2_INT_CMLA) - (SVE2_INT_CDOT, SVE2_INT_ADD_BINARY_LONG, SVE2_INT_QADD_BINARY_LONG) - (SVE2_INT_SUB_BINARY_LONG, SVE2_INT_QSUB_BINARY_LONG): Likewise. - (SVE2_INT_ADD_BINARY_LONG_LANE, SVE2_INT_QADD_BINARY_LONG_LANE) - (SVE2_INT_SUB_BINARY_LONG_LANE, SVE2_INT_QSUB_BINARY_LONG_LANE) - (SVE2_COND_INT_UNARY_FP, SVE2_COND_FP_UNARY_LONG): Likewise. - (SVE2_COND_FP_UNARY_NARROWB, SVE2_COND_INT_BINARY): Likewise. - (SVE2_COND_INT_BINARY_NOREV, SVE2_COND_INT_BINARY_REV): Likewise. - (SVE2_COND_INT_SHIFT, SVE2_MATCH, SVE2_PMULL): Likewise. - (optab): Handle the new unspecs. - (su, r): Remove entries for UNSPEC_SHRNB, UNSPEC_SHRNT, UNSPEC_RSHRNB - and UNSPEC_RSHRNT. - (lr): Handle the new unspecs. - (bt): Delete. - (cmp_op, while_optab_cmp, sve_int_op): Handle the new unspecs. - (sve_int_op_rev, sve_int_add_op, sve_int_qadd_op, sve_int_sub_op) - (sve_int_qsub_op): New int attributes. - (sve_fp_op, rot): Handle the new unspecs. - * config/aarch64/aarch64-sve-builtins.h - (function_resolver::require_matching_pointer_type): Declare. - (function_resolver::resolve_unary): Add an optional boolean argument. - (function_resolver::finish_opt_n_resolution): Add an optional - type_suffix_index argument. - (gimple_folder::redirect_call): Declare. - (gimple_expander::prepare_gather_address_operands): Add an optional - bool parameter. - * config/aarch64/aarch64-sve-builtins.cc: Include - aarch64-sve-builtins-sve2.h. - (TYPES_b_unsigned, TYPES_b_integer, TYPES_bh_integer): New macros. - (TYPES_bs_unsigned, TYPES_hs_signed, TYPES_hs_integer): Likewise. - (TYPES_hd_unsigned, TYPES_hsd_signed): Likewise. - (TYPES_hsd_integer): Use TYPES_hsd_signed. - (TYPES_s_float_hsd_integer, TYPES_s_float_sd_integer): New macros. - (TYPES_s_unsigned): Likewise. - (TYPES_s_integer): Use TYPES_s_unsigned. - (TYPES_sd_signed, TYPES_sd_unsigned): New macros. - (TYPES_sd_integer): Use them. - (TYPES_d_unsigned): New macro. - (TYPES_d_integer): Use it. - (TYPES_d_data, TYPES_cvt_long, TYPES_cvt_narrow_s): New macros. - (TYPES_cvt_narrow): Likewise. - (DEF_SVE_TYPES_ARRAY): Include the new types macros above. - (preds_mx): New variable. - (function_builder::add_overloaded_function): Allow the new feature - set to be more restrictive than the original one. - (function_resolver::infer_pointer_type): Remove qualifiers from - the pointer type before printing it. - (function_resolver::require_matching_pointer_type): New function. - (function_resolver::resolve_sv_displacement): Handle functions - that don't support 32-bit vector indices or svint32_t vector offsets. - (function_resolver::finish_opt_n_resolution): Take the inferred type - as a separate argument. - (function_resolver::resolve_unary): Optionally treat all forms in - the same way as normal merging functions. - (gimple_folder::redirect_call): New function. - (function_expander::prepare_gather_address_operands): Add an argument - that says whether scaled forms are available. If they aren't, - handle scaling of vector indices and don't add the extension and - scaling operands. - (function_expander::map_to_unspecs): If aarch64_sve isn't available, - fall back to using cond_* instead. - * config/aarch64/aarch64-sve-builtins-functions.h (rtx_code_function): - Split out the member variables into... - (rtx_code_function_base): ...this new base class. - (rtx_code_function_rotated): Inherit rtx_code_function_base. - (unspec_based_function): Split out the member variables into... - (unspec_based_function_base): ...this new base class. - (unspec_based_function_rotated): Inherit unspec_based_function_base. - (unspec_based_function_exact_insn): New class. - (unspec_based_add_function, unspec_based_add_lane_function) - (unspec_based_lane_function, unspec_based_pred_function) - (unspec_based_qadd_function, unspec_based_qadd_lane_function) - (unspec_based_qsub_function, unspec_based_qsub_lane_function) - (unspec_based_sub_function, unspec_based_sub_lane_function): New - typedefs. - (unspec_based_fused_function): New class. - (unspec_based_mla_function, unspec_based_mls_function): New typedefs. - (unspec_based_fused_lane_function): New class. - (unspec_based_mla_lane_function, unspec_based_mls_lane_function): New - typedefs. - (CODE_FOR_MODE1): New macro. - (fixed_insn_function): New class. - (while_comparison): Likewise. - * config/aarch64/aarch64-sve-builtins-shapes.h (binary_long_lane) - (binary_long_opt_n, binary_narrowb_opt_n, binary_narrowt_opt_n) - (binary_to_uint, binary_wide, binary_wide_opt_n, compare, compare_ptr) - (load_ext_gather_index_restricted, load_ext_gather_offset_restricted) - (load_gather_sv_restricted, shift_left_imm_long): Declare. - (shift_left_imm_to_uint, shift_right_imm_narrowb): Likewise. - (shift_right_imm_narrowt, shift_right_imm_narrowb_to_uint): Likewise. - (shift_right_imm_narrowt_to_uint, store_scatter_index_restricted) - (store_scatter_offset_restricted, tbl_tuple, ternary_long_lane) - (ternary_long_opt_n, ternary_qq_lane_rotate, ternary_qq_rotate) - (ternary_shift_left_imm, ternary_shift_right_imm, ternary_uint) - (unary_convert_narrowt, unary_long, unary_narrowb, unary_narrowt) - (unary_narrowb_to_uint, unary_narrowt_to_uint, unary_to_int): Likewise. - * config/aarch64/aarch64-sve-builtins-shapes.cc (apply_predication): - Also add an initial argument for unary_convert_narrowt, regardless - of the predication type. - (build_32_64): Allow loads and stores to specify MODE_none. - (build_sv_index64, build_sv_uint_offset): New functions. - (long_type_suffix): New function. - (binary_imm_narrowb_base, binary_imm_narrowt_base): New classes. - (binary_imm_long_base, load_gather_sv_base): Likewise. - (shift_right_imm_narrow_wrapper, ternary_shift_imm_base): Likewise. - (ternary_resize2_opt_n_base, ternary_resize2_lane_base): Likewise. - (unary_narrowb_base, unary_narrowt_base): Likewise. - (binary_long_lane_def, binary_long_lane): New shape. - (binary_long_opt_n_def, binary_long_opt_n): Likewise. - (binary_narrowb_opt_n_def, binary_narrowb_opt_n): Likewise. - (binary_narrowt_opt_n_def, binary_narrowt_opt_n): Likewise. - (binary_to_uint_def, binary_to_uint): Likewise. - (binary_wide_def, binary_wide): Likewise. - (binary_wide_opt_n_def, binary_wide_opt_n): Likewise. - (compare_def, compare): Likewise. - (compare_ptr_def, compare_ptr): Likewise. - (load_ext_gather_index_restricted_def, - load_ext_gather_index_restricted): Likewise. - (load_ext_gather_offset_restricted_def, - load_ext_gather_offset_restricted): Likewise. - (load_gather_sv_def): Inherit from load_gather_sv_base. - (load_gather_sv_restricted_def, load_gather_sv_restricted): New shape. - (shift_left_imm_def, shift_left_imm): Likewise. - (shift_left_imm_long_def, shift_left_imm_long): Likewise. - (shift_left_imm_to_uint_def, shift_left_imm_to_uint): Likewise. - (store_scatter_index_restricted_def, - store_scatter_index_restricted): Likewise. - (store_scatter_offset_restricted_def, - store_scatter_offset_restricted): Likewise. - (tbl_tuple_def, tbl_tuple): Likewise. - (ternary_long_lane_def, ternary_long_lane): Likewise. - (ternary_long_opt_n_def, ternary_long_opt_n): Likewise. - (ternary_qq_lane_def): Inherit from ternary_resize2_lane_base. - (ternary_qq_lane_rotate_def, ternary_qq_lane_rotate): New shape - (ternary_qq_opt_n_def): Inherit from ternary_resize2_opt_n_base. - (ternary_qq_rotate_def, ternary_qq_rotate): New shape. - (ternary_shift_left_imm_def, ternary_shift_left_imm): Likewise. - (ternary_shift_right_imm_def, ternary_shift_right_imm): Likewise. - (ternary_uint_def, ternary_uint): Likewise. - (unary_convert): Fix typo in comment. - (unary_convert_narrowt_def, unary_convert_narrowt): New shape. - (unary_long_def, unary_long): Likewise. - (unary_narrowb_def, unary_narrowb): Likewise. - (unary_narrowt_def, unary_narrowt): Likewise. - (unary_narrowb_to_uint_def, unary_narrowb_to_uint): Likewise. - (unary_narrowt_to_uint_def, unary_narrowt_to_uint): Likewise. - (unary_to_int_def, unary_to_int): Likewise. - * config/aarch64/aarch64-sve-builtins-base.cc (unspec_cmla) - (unspec_fcmla, unspec_cond_fcmla, expand_mla_mls_lane): New functions. - (svasrd_impl): Delete. - (svcadd_impl::expand): Handle integer operations too. - (svcmla_impl::expand, svcmla_lane::expand): Likewise, using the - new functions to derive the unspec numbers. - (svmla_svmls_lane_impl): Replace with... - (svmla_lane_impl, svmls_lane_impl): ...these new classes. Handle - integer operations too. - (svwhile_impl): Rename to... - (svwhilelx_impl): ...this and inherit from while_comparison. - (svasrd): Use unspec_based_function. - (svmla_lane): Use svmla_lane_impl. - (svmls_lane): Use svmls_lane_impl. - (svrecpe, svrsqrte): Handle unsigned integer operations too. - (svwhilele, svwhilelt): Use svwhilelx_impl. - * config/aarch64/aarch64-sve-builtins-sve2.h: New file. - * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise. - * config/aarch64/aarch64-sve-builtins-sve2.def: Likewise. - * config/aarch64/aarch64-sve-builtins.def: Include - aarch64-sve-builtins-sve2.def. - -2020-01-09 Richard Sandiford - - * config/aarch64/aarch64-protos.h (aarch64_sve_arith_immediate_p) - (aarch64_sve_sqadd_sqsub_immediate_p): Add a machine_mode argument. - * config/aarch64/aarch64.c (aarch64_sve_arith_immediate_p) - (aarch64_sve_sqadd_sqsub_immediate_p): Likewise. Handle scalar - immediates as well as vector ones. - * config/aarch64/predicates.md (aarch64_sve_arith_immediate) - (aarch64_sve_sub_arith_immediate, aarch64_sve_qadd_immediate) - (aarch64_sve_qsub_immediate): Update calls accordingly. - -2020-01-09 Richard Sandiford - - * config/aarch64/aarch64-sve2.md: Add banner comments. - (mulhs3): Move further up file. - (mull, shrnb, shrnt) - (*aarch64_sve2_sra): Move further down file. - * config/aarch64/t-aarch64 (s-check-sve-md): Check aarch64-sve2.md too. - -2020-01-09 Richard Sandiford - - * config/aarch64/iterators.md (SVE_WHILE): Add UNSPEC_WHILERW - and UNSPEC_WHILEWR. - (while_optab_cmp): Handle them. - * config/aarch64/aarch64-sve.md - (*while__ptest): Make public - and add a "@" marker. - * config/aarch64/aarch64-sve2.md (check__ptrs): Use it - instead of gen_aarch64_sve2_while_ptest. - (@aarch64_sve2_while_ptest): Delete. - -2020-01-09 Richard Sandiford - - * config/aarch64/aarch64.md (UNSPEC_WHILE_LE): Rename to... - (UNSPEC_WHILELE): ...this. - (UNSPEC_WHILE_LO): Rename to... - (UNSPEC_WHILELO): ...this. - (UNSPEC_WHILE_LS): Rename to... - (UNSPEC_WHILELS): ...this. - (UNSPEC_WHILE_LT): Rename to... - (UNSPEC_WHILELT): ...this. - * config/aarch64/iterators.md (SVE_WHILE): Update accordingly. - (cmp_op, while_optab_cmp): Likewise. - * config/aarch64/aarch64.c (aarch64_sve_move_pred_via_while): Likewise. - * config/aarch64/aarch64-sve-builtins-base.cc (svwhilele): Likewise. - (svwhilelt): Likewise. - -2020-01-09 Richard Sandiford - - * config/aarch64/aarch64-sve-builtins-shapes.h (unary_count): Delete. - (unary_to_uint): Define. - * config/aarch64/aarch64-sve-builtins-shapes.cc (unary_count_def) - (unary_count): Rename to... - (unary_to_uint_def, unary_to_uint): ...this. - * config/aarch64/aarch64-sve-builtins-base.def: Update accordingly. - -2020-01-09 Richard Sandiford - - * config/aarch64/aarch64-sve-builtins-functions.h - (code_for_mode_function): New class. - (CODE_FOR_MODE0, QUIET_CODE_FOR_MODE0): New macros. - * config/aarch64/aarch64-sve-builtins-base.cc (svcompact_impl) - (svext_impl, svmul_lane_impl, svsplice_impl, svtmad_impl): Delete. - (svcompact, svext, svsplice): Use QUIET_CODE_FOR_MODE0. - (svmul_lane, svtmad): Use CODE_FOR_MODE0. - -2020-01-09 Richard Sandiford - - * config/aarch64/iterators.md (addsub): New code attribute. - * config/aarch64/aarch64-simd.md (aarch64_): - Re-express as... - (aarch64_q): ...this, making the same change - in the asm string and attributes. Fix indentation. - * config/aarch64/aarch64-sve.md (@aarch64_): - Re-express as... - (@aarch64_sve_): ...this. - * config/aarch64/aarch64-sve-builtins.h - (function_expander::expand_signed_unpred_op): Delete. - * config/aarch64/aarch64-sve-builtins.cc - (function_expander::expand_signed_unpred_op): Likewise. - (function_expander::map_to_rtx_codes): If the optab isn't defined, - try using code_for_aarch64_sve instead. - * config/aarch64/aarch64-sve-builtins-base.cc (svqadd_impl): Delete. - (svqsub_impl): Likewise. - (svqadd, svqsub): Use rtx_code_function instead. - -2020-01-09 Richard Sandiford - - * config/aarch64/iterators.md (SRHSUB, URHSUB): Delete. - (HADDSUB, sur, addsub): Remove them. - -2020-01-09 Richard Sandiford - - * tree-nrv.c (pass_return_slot::execute): Handle all internal - functions the same way, rather than singling out those that - aren't mapped directly to optabs. - -2020-01-09 Richard Sandiford - - * target.def (compatible_vector_types_p): New target hook. - * hooks.h (hook_bool_const_tree_const_tree_true): Declare. - * hooks.c (hook_bool_const_tree_const_tree_true): New function. - * doc/tm.texi.in (TARGET_COMPATIBLE_VECTOR_TYPES_P): New hook. - * doc/tm.texi: Regenerate. - * gimple-expr.c: Include target.h. - (useless_type_conversion_p): Use targetm.compatible_vector_types_p. - * config/aarch64/aarch64.c (aarch64_compatible_vector_types_p): New - function. - (TARGET_COMPATIBLE_VECTOR_TYPES_P): Define. - * config/aarch64/aarch64-sve-builtins.cc (gimple_folder::convert_pred): - Use the original predicate if it already has a suitable type. - -2020-01-09 Martin Jambor - - * cgraph.h (cgraph_edge): Make remove, set_call_stmt, make_direct, - resolve_speculation and redirect_call_stmt_to_callee static. Change - return type of set_call_stmt to cgraph_edge *. - * auto-profile.c (afdo_indirect_call): Adjust call to - redirect_call_stmt_to_callee. - * cgraph.c (cgraph_edge::set_call_stmt): Make return cgraph-edge *, - make the this pointer explicit, adjust self-recursive calls and the - call top make_direct. Return the resulting edge. - (cgraph_edge::remove): Make this pointer explicit. - (cgraph_edge::resolve_speculation): Likewise, adjust call to remove. - (cgraph_edge::make_direct): Likewise, adjust call to - resolve_speculation. - (cgraph_edge::redirect_call_stmt_to_callee): Likewise, also adjust - call to set_call_stmt. - (cgraph_update_edges_for_call_stmt_node): Update call to - set_call_stmt and remove. - * cgraphclones.c (cgraph_node::set_call_stmt_including_clones): - Renamed edge to master_edge. Adjusted calls to set_call_stmt. - (cgraph_node::create_edge_including_clones): Moved "first" definition - of edge to the block where it was used. Adjusted calls to - set_call_stmt. - (cgraph_node::remove_symbol_and_inline_clones): Adjust call to - cgraph_edge::remove. - * cgraphunit.c (walk_polymorphic_call_targets): Adjusted calls to - make_direct and redirect_call_stmt_to_callee. - * ipa-fnsummary.c (redirect_to_unreachable): Adjust calls to - resolve_speculation and make_direct. - * ipa-inline-transform.c (inline_transform): Adjust call to - redirect_call_stmt_to_callee. - (check_speculations_1):: Adjust call to resolve_speculation. - * ipa-inline.c (resolve_noninline_speculation): Adjust call to - resolve-speculation. - (inline_small_functions): Adjust call to resolve_speculation. - (ipa_inline): Likewise. - * ipa-prop.c (ipa_make_edge_direct_to_target): Adjust call to - make_direct. - * ipa-visibility.c (function_and_variable_visibility): Make iteration - safe with regards to edge removal, adjust calls to - redirect_call_stmt_to_callee. - * ipa.c (walk_polymorphic_call_targets): Adjust calls to make_direct - and redirect_call_stmt_to_callee. - * multiple_target.c (create_dispatcher_calls): Adjust call to - redirect_call_stmt_to_callee - (redirect_to_specific_clone): Likewise. - * tree-cfgcleanup.c (delete_unreachable_blocks_update_callgraph): - Adjust calls to cgraph_edge::remove. - * tree-inline.c (copy_bb): Adjust call to set_call_stmt. - (redirect_all_calls): Adjust call to redirect_call_stmt_to_callee. - (expand_call_inline): Adjust call to cgraph_edge::remove. - -2020-01-09 Martin Liska - - * params.opt: Set Optimization for - param_max_speculative_devirt_maydefs. - -2020-01-09 Martin Sebor - - PR middle-end/93200 - PR fortran/92956 - * builtins.c (compute_objsize): Avoid handling MEM_REFs of vector type. - -2020-01-09 Martin Liska - - * auto-profile.c (auto_profile): Use opt_for_fn - for a parameter. - * ipa-cp.c (ipcp_lattice::add_value): Likewise. - (propagate_vals_across_arith_jfunc): Likewise. - (hint_time_bonus): Likewise. - (incorporate_penalties): Likewise. - (good_cloning_opportunity_p): Likewise. - (perform_estimation_of_a_value): Likewise. - (estimate_local_effects): Likewise. - (ipcp_propagate_stage): Likewise. - * ipa-fnsummary.c (decompose_param_expr): Likewise. - (set_switch_stmt_execution_predicate): Likewise. - (analyze_function_body): Likewise. - * ipa-inline-analysis.c (offline_size): Likewise. - * ipa-inline.c (early_inliner): Likewise. - * ipa-prop.c (ipa_analyze_node): Likewise. - (ipcp_transform_function): Likewise. - * ipa-sra.c (process_scan_results): Likewise. - (ipa_sra_summarize_function): Likewise. - * params.opt: Rename ipcp-unit-growth to - ipa-cp-unit-growth. Add Optimization for various - IPA-related parameters. - -2020-01-09 Richard Biener - - PR middle-end/93054 - * gimplify.c (gimplify_expr): Deal with NOP definitions. - -2020-01-09 Richard Biener - - PR tree-optimization/93040 - * gimple-ssa-store-merging.c (find_bswap_or_nop): Raise search limit. - -2020-01-09 Georg-Johann Lay - - * common/config/avr/avr-common.c (avr_option_optimization_table) - [OPT_LEVELS_1_PLUS]: Set -fsplit-wide-types-early. - -2020-01-09 Martin Liska - - * cgraphclones.c (symbol_table::materialize_all_clones): - Use cgraph_node::dump_name. - -2020-01-09 Jakub Jelinek - - PR inline-asm/93202 - * config/riscv/riscv.c (riscv_print_operand_reloc): Use - output_operand_lossage instead of gcc_unreachable. - * doc/md.texi (riscv f constraint): Fix typo. - - PR target/93141 - * config/i386/i386.md (subv4): Use SWIDWI iterator instead of - SWI. Use instead of . Use - CONST_SCALAR_INT_P instead of CONST_INT_P. - (*subv4_1): Rename to ... - (subv4_1): ... this. - (*subv4_doubleword, *addv4_doubleword_1): New - define_insn_and_split patterns. - (*subv4_overflow_1, *addv4_overflow_2): New define_insn - patterns. - -2020-01-08 David Malcolm - - * vec.c (class selftest::count_dtor): New class. - (selftest::test_auto_delete_vec): New test. - (selftest::vec_c_tests): Call it. - * vec.h (class auto_delete_vec): New class template. - (auto_delete_vec::~auto_delete_vec): New dtor. - -2020-01-08 David Malcolm - - * sbitmap.h (auto_sbitmap): Add operator const_sbitmap. - -2020-01-08 Jim Wilson - - * config/riscv/riscv.c (riscv_legitimize_tls_address): Ifdef out - use of TLS_MODEL_LOCAL_EXEC when not pic. - -2020-01-08 David Malcolm - - * hash-map-tests.c (selftest::test_map_of_strings_to_int): Fix - memory leak. - -2020-01-08 Jakub Jelinek - - PR target/93187 - * config/i386/i386.md (*stack_protect_set_2_ peephole2, - *stack_protect_set_3 peephole2): Also check that the second - insns source is general_operand. - - PR target/93174 - * config/i386/i386.md (addcarry_0): Use nonimmediate_operand - predicate for output operand instead of register_operand. - (addcarry, addcarry_1): Likewise. Add alternative with - memory destination and non-memory operands[2]. - -2020-01-08 Martin Liska - - * cgraph.c (cgraph_node::dump): Use ::dump_name or - ::dump_asm_name instead of (::name or ::asm_name). - * cgraphclones.c (symbol_table::materialize_all_clones): Likewise. - * cgraphunit.c (walk_polymorphic_call_targets): Likewise. - (analyze_functions): Likewise. - (expand_all_functions): Likewise. - * ipa-cp.c (ipcp_cloning_candidate_p): Likewise. - (propagate_bits_across_jump_function): Likewise. - (dump_profile_updates): Likewise. - (ipcp_store_bits_results): Likewise. - (ipcp_store_vr_results): Likewise. - * ipa-devirt.c (dump_targets): Likewise. - * ipa-fnsummary.c (analyze_function_body): Likewise. - * ipa-hsa.c (check_warn_node_versionable): Likewise. - (process_hsa_functions): Likewise. - * ipa-icf.c (sem_item_optimizer::merge_classes): Likewise. - (set_alias_uids): Likewise. - * ipa-inline-transform.c (save_inline_function_body): Likewise. - * ipa-inline.c (recursive_inlining): Likewise. - (inline_to_all_callers_1): Likewise. - (ipa_inline): Likewise. - * ipa-profile.c (ipa_propagate_frequency_1): Likewise. - (ipa_propagate_frequency): Likewise. - * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise. - (remove_described_reference): Likewise. - * ipa-pure-const.c (worse_state): Likewise. - (check_retval_uses): Likewise. - (analyze_function): Likewise. - (propagate_pure_const): Likewise. - (propagate_nothrow): Likewise. - (dump_malloc_lattice): Likewise. - (propagate_malloc): Likewise. - (pass_local_pure_const::execute): Likewise. - * ipa-visibility.c (optimize_weakref): Likewise. - (function_and_variable_visibility): Likewise. - * ipa.c (symbol_table::remove_unreachable_nodes): Likewise. - (ipa_discover_variable_flags): Likewise. - * lto-streamer-out.c (output_function): Likewise. - (output_constructor): Likewise. - * tree-inline.c (copy_bb): Likewise. - * tree-ssa-structalias.c (ipa_pta_execute): Likewise. - * varpool.c (symbol_table::remove_unreferenced_decls): Likewise. - -2020-01-08 Richard Biener - - PR middle-end/93199 - * tree-eh.c (sink_clobbers): Update virtual operands for - the first and last stmt only. Add a dry-run capability. - (pass_lower_eh_dispatch::execute): Perform clobber sinking - after CFG manipulations and in RPO order to catch all - secondary opportunities reliably. - -2020-01-08 Georg-Johann Lay - - PR target/93182 - * doc/invoke.texi (AVR Options) <-nodevicespecs>: Document. - -2019-01-08 Richard Biener - - PR middle-end/93199 - * gimple-fold.c (rewrite_to_defined_overflow): Mark stmt modified. - * tree-ssa-loop-im.c (move_computations_worker): Properly adjust - virtual operand, also updating SSA use. - * gimple-loop-interchange.cc (loop_cand::undo_simple_reduction): - Update stmt after resetting virtual operand. - (tree_loop_interchange::move_code_to_inner_loop): Likewise. - * gimple-iterator.c (gsi_remove): When not removing the stmt - permanently do not delink immediate uses or mark the stmt modified. - -2020-01-08 Martin Liska - - * ipa-fnsummary.c (dump_ipa_call_summary): Use symtab_node::dump_name. - (ipa_call_context::estimate_size_and_time): Likewise. - (inline_analyze_function): Likewise. - -2020-01-08 Martin Liska - - * cgraph.c (cgraph_node::dump): Use systematically - dump_asm_name. - -2020-01-08 Georg-Johann Lay - - Add -nodevicespecs option for avr. - - PR target/93182 - * config/avr/avr.opt (-nodevicespecs): New driver option. - * config/avr/driver-avr.c (avr_devicespecs_file): Only issue - "-specs=device-specs/..." if that option is not set. - * doc/invoke.texi (AVR Options) <-nodevicespecs>: Document. - -2020-01-08 Georg-Johann Lay - - Implement 64-bit double functions for avr. - - PR target/92055 - * config.gcc (tm_defines) [target=avr]: Support --with-libf7, - --with-double-comparison. - * doc/install.texi: Document them. - * config/avr/avr-c.c (avr_cpu_cpp_builtins) - - : New built-in defines. - * doc/invoke.texi (AVR Built-in Macros): Document them. - * config/avr/avr-protos.h (avr_float_lib_compare_returns_bool): New. - * config/avr/avr.c (avr_float_lib_compare_returns_bool): New function. - * config/avr/avr.h (FLOAT_LIB_COMPARE_RETURNS_BOOL): New macro. - -2020-01-08 Richard Earnshaw - - PR target/93188 - * config/arm/t-multilib (MULTILIB_MATCHES): Add rules to match - armv7-a{+mp,+sec,+mp+sec} to appropriate armv7 multilib variants - when only building rm-profile multilibs. - -2020-01-08 Feng Xue - - PR ipa/93084 - * ipa-cp.c (self_recursively_generated_p): Find matched aggregate - lattice for a value to check. - (propagate_vals_across_arith_jfunc): Add an assertion to ensure - finite propagation in self-recursive scc. - -2020-01-08 Luo Xiong Hu - - * ipa-inline.c (caller_growth_limits): Restore the AND. - -2020-01-07 Andrew Stubbs - - * config/gcn/gcn-valu.md (VEC_1REG_INT_ALT): Delete iterator. - (VEC_ALLREG_ALT): New iterator. - (VEC_ALLREG_INT_MODE): New iterator. - (VCMP_MODE): New iterator. - (VCMP_MODE_INT): New iterator. - (vec_cmpudi): Use VCMP_MODE_INT. - (vec_cmpv64qidi): New define_expand. - (vec_cmpdi_exec): Use VCMP_MODE. - (vec_cmpudi_exec): New define_expand. - (vec_cmpv64qidi_exec): New define_expand. - (vec_cmpdi_dup): Use VCMP_MODE. - (vec_cmpdi_dup_exec): Use VCMP_MODE. - (vcond): Rename ... - (vcond): ... to this. - (vcond_exec): Rename ... - (vcond_exec): ... to this. - (vcondu): Rename ... - (vcondu): ... to this. - (vcondu_exec): Rename ... - (vcondu_exec): ... to - this. - * config/gcn/gcn.c (print_operand): Fix 8 and 16 bit suffixes. - * config/gcn/gcn.md (expander): Add sign_extend and zero_extend. - -2020-01-07 Andrew Stubbs - - * config/gcn/constraints.md (DA): Update description and match. - (DB): Likewise. - (Db): New constraint. - * config/gcn/gcn-protos.h (gcn_inline_constant64_p): Add second - parameter. - * config/gcn/gcn.c (gcn_inline_constant64_p): Add 'mixed' parameter. - Implement 'Db' mixed immediate type. - * config/gcn/gcn-valu.md (addcv64si3): Rework constraints. - (addcv64si3_dup): Delete. - (subcv64si3): Rework constraints. - (addv64di3): Rework constraints. - (addv64di3_exec): Rework constraints. - (subv64di3): Rework constraints. - (addv64di3_dup): Delete. - (addv64di3_dup_exec): Delete. - (addv64di3_zext): Rework constraints. - (addv64di3_zext_exec): Rework constraints. - (addv64di3_zext_dup): Rework constraints. - (addv64di3_zext_dup_exec): Rework constraints. - (addv64di3_zext_dup2): Rework constraints. - (addv64di3_zext_dup2_exec): Rework constraints. - (addv64di3_sext_dup2): Rework constraints. - (addv64di3_sext_dup2_exec): Rework constraints. - -2020-01-07 Andre Vieira - - * doc/sourcebuild.texi (arm_little_endian, arm_nothumb): Documented - existing target checks. - -2020-01-07 Richard Biener - - * doc/install.texi: Bump minimal supported MPC version. - -2020-01-07 Richard Sandiford - - * langhooks-def.h (lhd_simulate_enum_decl): Declare. - (LANG_HOOKS_SIMULATE_ENUM_DECL): Use it. - * langhooks.c: Include stor-layout.h. - (lhd_simulate_enum_decl): New function. - * config/aarch64/aarch64-sve-builtins.cc (init_builtins): Call - handle_arm_sve_h for the LTO frontend. - (register_vector_type): Cope with null returns from pushdecl. - -2020-01-07 Richard Sandiford - - * config/aarch64/aarch64-protos.h (aarch64_sve::svbool_type_p) - (aarch64_sve::nvectors_if_data_type): Replace with... - (aarch64_sve::builtin_type_p): ...this. - * config/aarch64/aarch64-sve-builtins.cc: Include attribs.h. - (find_vector_type): Delete. - (add_sve_type_attribute): New function. - (lookup_sve_type_attribute): Likewise. - (register_builtin_types): Add an "SVE type" attribute to each type. - (register_tuple_type): Likewise. - (svbool_type_p, nvectors_if_data_type): Delete. - (mangle_builtin_type): Use lookup_sve_type_attribute. - (builtin_type_p): Likewise. Add an overload that returns the - number of constituent vector and predicate registers. - * config/aarch64/aarch64.c (aarch64_sve_argument_p): Delete. - (aarch64_returns_value_in_sve_regs_p): Use aarch64_sve::builtin_type_p - instead of aarch64_sve_argument_p. - (aarch64_takes_arguments_in_sve_regs_p): Likewise. - (aarch64_pass_by_reference): Likewise. - (aarch64_function_value_1): Likewise. - (aarch64_return_in_memory): Likewise. - (aarch64_layout_arg): Likewise. - -2020-01-07 Jakub Jelinek - - PR tree-optimization/93156 - * tree-ssa-ccp.c (bit_value_binop): For x * x note that the second - least significant bit is always clear. - - PR tree-optimization/93118 - * match.pd ((x >> c) << c -> x & (-1< - - * params.opt: Add Optimization for various parameters. - -2020-01-07 Martin Liska - - PR ipa/83411 - * doc/extend.texi: Explain cloning for target_clone - attribute. - -2020-01-07 Martin Liska - - PR tree-optimization/92860 - * common.opt: Make in Optimization option - as it is affected by -O0, which is an Optimization - option. - * tree-inline.c (tree_inlinable_function_p): - Use opt_for_fn for warn_inline. - (expand_call_inline): Likewise. - -2020-01-07 Martin Liska - - PR tree-optimization/92860 - * common.opt: Make flag_ree as optimization - attribute. - -2020-01-07 Martin Liska - - PR optimization/92860 - * params.opt: Mark param_min_crossjump_insns with Optimization - keyword. - -2020-01-07 Luo Xiong Hu - - * ipa-inline-analysis.c (estimate_growth): Fix typo. - * ipa-inline.c (caller_growth_limits): Use OR instead of AND. - -2020-01-06 Michael Meissner - - * config/rs6000/rs6000.c (hard_reg_and_mode_to_addr_mask): New - helper function to return the valid addressing formats for a given - hard register and mode. - (rs6000_adjust_vec_address): Call hard_reg_and_mode_to_addr_mask. - - * config/rs6000/constraints.md (Q constraint): Update - documentation. - * doc/md.texi (RS/6000 constraints): Update 'Q' cosntraint - documentation. - - * config/rs6000/vsx.md (vsx_extract__var, VSX_D iterator): - Use 'Q' for doing vector extract from memory. - (vsx_extract_v4sf_var): Use 'Q' for doing vector extract from - memory. - (vsx_extract__var, VSX_EXTRACT_I iterator): Use 'Q' for - doing vector extract from memory. - (vsx_extract__mode_var): Use 'Q' for doing vector - extract from memory. - - * config/rs6000/rs6000.c (rs6000_adjust_vec_address): Add support - for the offset being 34-bits when -mcpu=future is used. - -2020-01-06 John David Anglin - - * config/pa/pa.md: Revert change to use ordered_comparison_operator - instead of cmpib_comparison_operator in cmpib patterns. - * config/pa/predicates.md (cmpib_comparison_operator): Revert removal - of cmpib_comparison_operator. Revise comment. - -2020-01-06 Richard Sandiford - - * tree-vect-slp.c (vect_build_slp_tree_1): Require all shifts - in an IFN_DIV_POW2 node to be equal. - -2020-01-06 Richard Sandiford - - * tree-vect-stmts.c (vect_check_load_store_mask): Rename to... - (vect_check_scalar_mask): ...this. - (vectorizable_store, vectorizable_load): Update call accordingly. - (vectorizable_call): Use vect_check_scalar_mask to check the mask - argument in calls to conditional internal functions. - -2020-01-06 Andrew Stubbs - - * config/gcn/gcn-valu.md (subv64di3): Use separate alternatives for - '0' matching inputs. - (subv64di3_exec): Likewise. - -2020-01-06 Bryan Stenson - - * config/mips/mips.c (vr4130_align_insns): Fix typo. - * doc/md.texi (movstr): Likewise. - -2020-01-06 Andrew Stubbs - - * config/gcn/gcn-valu.md (vec_extract): Add early - clobber. - -2020-01-06 Richard Sandiford - - * config/aarch64/t-aarch64 ($(srcdir)/config/aarch64/aarch64-tune.md): - Depend on... - (s-aarch64-tune-md): ...this new stamp file. Pipe the new contents - to a temporary file and use move-if-change to update the real - file where necessary. - -2020-01-06 Richard Sandiford - - * config/aarch64/aarch64-sve.md (@aarch64_sel_dup): Use Upl - rather than Upa for CPY /M. - -2020-01-06 Andrew Stubbs - - * config/gcn/gcn.c (gcn_inline_constant_p): Allow 64 as an inline - immediate. - -2020-01-06 Martin Liska - - PR tree-optimization/92860 - * params.opt: Mark param_max_combine_insns with Optimization - keyword. - -2020-01-05 Jakub Jelinek - - PR target/93141 - * config/i386/i386.md (SWIDWI): New mode iterator. - (DWI, dwi): Add TImode variants. - (addv4): Use SWIDWI iterator instead of SWI. Use - instead of . Use - CONST_SCALAR_INT_P instead of CONST_INT_P. - (*addv4_1): Rename to ... - (addv4_1): ... this. - (QWI): New mode attribute. - (*addv4_doubleword, *addv4_doubleword_1): New - define_insn_and_split patterns. - (*addv4_overflow_1, *addv4_overflow_2): New define_insn - patterns. - (uaddv4): Use SWIDWI iterator instead of SWI. Use - instead of . - (*addcarry_1): New define_insn. - (*add3_doubleword_cc_overflow_1): New define_insn_and_split. - -2020-01-03 Konstantin Kharlamov - - * gdbinit.in (pr, prl, pt, pct, pgg, pgq, pgs, pge, pmz, pdd, pbs, pbm): - Use "call" instead of "set". - -2020-01-03 Martin Jambor - - PR ipa/92917 - * ipa-cp.c (print_all_lattices): Skip functions without info. - -2020-01-03 Jakub Jelinek - - PR target/93089 - * config/i386/i386-options.c (ix86_simd_clone_adjust): If - TARGET_PREFER_AVX128, use prefer-vector-width=256 for 'c' and 'd' - simd clones. If TARGET_PREFER_AVX256, use prefer-vector-width=512 - for 'e' simd clones. - - PR target/93089 - * config/i386/i386.opt (x_prefer_vector_width_type): Remove TargetSave - entry. - (mprefer-vector-width=): Add Save. - * config/i386/i386-options.c (ix86_target_string): Add PVW argument, print - -mprefer-vector-width= if non-zero. Fix up -mfpmath= comment. - (ix86_debug_options, ix86_function_specific_print): Adjust - ix86_target_string callers. - (ix86_valid_target_attribute_inner_p): Handle prefer-vector-width=. - (ix86_valid_target_attribute_tree): Likewise. - * config/i386/i386-options.h (ix86_target_string): Add PVW argument. - * config/i386/i386-expand.c (ix86_expand_builtin): Adjust - ix86_target_string caller. - - PR target/93110 - * config/i386/i386.md (abs2): Use expand_simple_binop instead of - emitting ASHIFTRT, XOR and MINUS by hand. Use gen_int_mode with QImode - instead of gen_int_shift_amount + convert_modes. - - PR rtl-optimization/93088 - * loop-iv.c (find_single_def_src): Punt after looking through - 128 reg copies for regs with single definitions. Move definitions - to first uses. - -2020-01-02 Dennis Zhang - - * config/arm/arm-c.c (arm_cpu_builtins): Define - __ARM_FEATURE_MATMUL_INT8, __ARM_FEATURE_BF16_VECTOR_ARITHMETIC, - __ARM_FEATURE_BF16_SCALAR_ARITHMETIC, and - __ARM_BF16_FORMAT_ALTERNATIVE when enabled. - * config/arm/arm-cpus.in (armv8_6, i8mm, bf16): New features. - * config/arm/arm-tables.opt: Regenerated. - * config/arm/arm.c (arm_option_reconfigure_globals): Initialize - arm_arch_i8mm and arm_arch_bf16 when enabled. - * config/arm/arm.h (TARGET_I8MM): New macro. - (TARGET_BF16_FP, TARGET_BF16_SIMD): Likewise. - * config/arm/t-aprofile: Add matching rules for -march=armv8.6-a. - * config/arm/t-arm-elf (all_v8_archs): Add armv8.6-a. - * config/arm/t-multilib: Add matching rules for -march=armv8.6-a. - (v8_6_a_simd_variants): New. - (v8_*_a_simd_variants): Add i8mm and bf16. - * doc/invoke.texi (armv8.6-a, i8mm, bf16): Document new options. - -2020-01-02 Jakub Jelinek - - PR ipa/93087 - * predict.c (compute_function_frequency): Don't call - warn_function_cold on functions that already have cold attribute. - -2020-01-01 John David Anglin - - PR target/67834 - * config/pa/pa.c (pa_elf_select_rtx_section): New. Put references to - COMDAT group function labels in .data.rel.ro.local section. - * config/pa/pa32-linux.h (TARGET_ASM_SELECT_RTX_SECTION): Define. - - PR target/93111 - * config/pa/pa.md (scc): Use ordered_comparison_operator instead of - comparison_operator in B and S integer comparisons. Likewise, use - ordered_comparison_operator instead of cmpib_comparison_operator in - cmpib patterns. - * config/pa/predicates.md (cmpib_comparison_operator): Remove. - -2020-01-01 Jakub Jelinek - - Update copyright years. - - * 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. - -2020-01-01 Jan Hubicka - - * ipa.c (walk_polymorphic_call_targets): Fix updating of overall - summary. - -2020-01-01 Jakub Jelinek - - PR tree-optimization/93098 - * match.pd (popcount): For shift amounts, use integer_onep - or wi::to_widest () == cst instead of tree_to_uhwi () == cst - tests. Make sure that precision is power of two larger than or equal - to 16. Ensure shift is never negative. Use HOST_WIDE_INT_UC macro - instead of ULL suffixed constants. Formatting fixes. -Copyright (C) 2020 Free Software Foundation, Inc. +Copyright (C) 2021 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 5ce188d14fa..21e8799b653 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,13977 +1,5 @@ -2020-12-17 Arnaud Charlet - - * libgnat/a-tags.ads, libgnat/a-tags.adb (CW_Membership): Move - to spec to allow inlining. - -2020-12-17 Arnaud Charlet - - * checks.adb: Remove, not used. - * checks.ads: Likewise. - * exp_ch6.adb: Likewise. - * exp_ch7.adb: Likewise. - * exp_ch7.ads: Likewise. - * exp_fixd.adb: Likewise. - * exp_tss.adb: Likewise. - * exp_tss.ads: Likewise. - * exp_util.adb: Likewise. - * exp_util.ads: Likewise. - * gnat1drv.adb: Likewise. - * libgnat/s-finmas.adb: Likewise. - * libgnat/s-finmas.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. - * repinfo.adb: Likewise. - * repinfo.ads: Likewise. - * rtsfind.ads: Likewise. - * sem_aux.adb: Likewise. - * sem_aux.ads: Likewise. - * sem_ch13.adb: Likewise. - * sem_ch13.ads: Likewise. - * sem_util.adb (Validity_Checks_Suppressed, TSS, - Is_All_Null_Statements, Known_Non_Negative, - Non_Limited_Designated_Type, Get_Binary_Nkind, Get_Unary_Nkind, - Is_Protected_Operation, Number_Components, Package_Body, - Validate_Independence, Independence_Checks): Likewise; update - comments. - * targparm.adb: Likewise. - * targparm.ads (AAM, AAM_Str, Fractional_Fixed_Ops, - Frontend_Layout, Make_Detach_Call, Target_Has_Fixed_Ops, Detach, - Back_End_Layout, Create_Dynamic_SO_Ref, Get_Dynamic_SO_Entity, - Is_Dynamic_SO_Ref, Is_Static_SO_Ref, - Fractional_Fixed_Ops_On_Target): Likewise. - * validsw.adb (Save_Validity_Check_Options, - Set_Default_Validity_Check_Options): Likewise. - * validsw.ads: Likewise. - -2020-12-17 Arnaud Charlet - - * symbols.ads, symbols.adb: Removed no longer used. - -2020-12-17 Arnaud Charlet - - * sem_util.adb (New_Requires_Transient_Scope): Renamed - Requires_Transient_Scope. - (Requires_Transient_Scope, Old_Requires_Transient_Scope, - Results_Differ): Removed. - * debug.adb: Remove -gnatdQ. - -2020-12-17 Eric Botcazou - - * libgnat/s-valrea.adb (Need_Extra): Fix comment. - -2020-12-17 Piotr Trojanek - - * sem_ch5.adb (Analyze_Case_Statement): Move modification of - Unblocked_Exit_Count after early return statements; fix typo in - comment. - -2020-12-17 Piotr Trojanek - - * sem_ch5.adb (Analyze_Case_Statement): Change local variable - Exp to constant; remove unreferenced Last_Choice variable; - reduce scope of other variables. - (Analyze_If_Statement): Reduce scope of a local variable; add - comment. - -2020-12-17 Piotr Trojanek - - * opt.ads (Multiple_Unit_Index): Refine type from Int to Nat. - -2020-12-17 Piotr Trojanek - - * sem_util.adb (In_Check_Node): Add guard and rename Node to - Par, just like it is done in surrounding routines, e.g. - In_Assertion_Expression_Pragma and In_Generic_Formal_Package. - -2020-12-17 Bob Duff - - * libgnat/a-cbdlli.adb, libgnat/a-cbdlli.ads, - libgnat/a-cdlili.adb, libgnat/a-cdlili.ads, - libgnat/a-cidlli.adb, libgnat/a-cidlli.ads, - libgnat/a-cobove.adb, libgnat/a-cobove.ads, - libgnat/a-coinve.adb, libgnat/a-coinve.ads, - libgnat/a-convec.adb, libgnat/a-convec.ads: Add *_Vector - operations, remove default for Count, rename Append_One to be - Append. - -2020-12-17 Arnaud Charlet - - * sem_res.adb (Resolve_Declare_Expression): Need to establish a - transient scope in case Expression (N) requires actions to be - wrapped. Code cleanup. - * exp_ch7.adb, exp_ch11.adb: Code cleanup. - -2020-12-17 Piotr Trojanek - - * par-ch3.adb (P_Identifier_Declarations): Reuse - Error_Msg_Ada_2020_Feature for object renaming without subtype. - * par-ch4.adb (P_Primary): Likewise for target name. - (P_Iterated_Component_Association): Likewise for iterated - component. - (P_Declare_Expression): Likewise for declare expression. - * par-ch6.adb (P_Formal_Part): Likewise for aspect on formal - parameter. - * sem_aggr.adb (Resolve_Delta_Aggregate): Ditto. - * sem_ch8.adb (Analyze_Object_Renaming): Reuse - Error_Msg_Ada_2020_Feature. - * sem_ch13.adb (Validate_Aspect_Aggregate): Reuse - Error_Msg_Ada_2020_Feature; use lower case for "aspect" and - don't use underscore for "Ada_2020"; don't give up on analysis - in Ada 2012 mode. - (Validate_Aspect_Stable_Properties): Reuse - Error_Msg_Ada_2020_Feature; use lower case for "aspect"; minor - style fixes. - -2020-12-17 Arnaud Charlet - - * sem_ch4.adb (Analyze_Selected_Component): Request a compile - time error replacement in Apply_Compile_Time_Constraint_Error - in case of an invalid field. - * sem_ch3.adb (Create_Constrained_Components): Take advantage of - Gather_Components also in the case of a record extension and - also constrain records in the case of compile time known discriminant - values, as already done in gigi. - * sem_util.ads, sem_util.adb (Gather_Components): New parameter - Allow_Compile_Time to allow compile time known (but non static) - discriminant values, needed by Create_Constrained_Components, - and new parameter Include_Interface_Tag. - (Is_Dependent_Component_Of_Mutable_Object): Use Original_Node to - perform check on the original tree. - (Is_Object_Reference): Likewise. Only call Original_Node when - relevant via a new function Safe_Prefix. - (Is_Static_Discriminant_Component, In_Check_Node): New. - (Is_Actual_Out_Or_In_Out_Parameter): New. - * exp_ch4.adb (Expand_N_Selected_Component): Remove no longer needed - code preventing evaluating statically discriminants in more cases. - * exp_ch5.adb (Expand_N_Loop_Statement): Simplify expansion of loops - with an N_Raise_xxx_Error node to avoid confusing the code generator. - (Make_Component_List_Assign): Try to find a constrained type to - extract discriminant values from, so that the case statement - built gets an opportunity to be folded by - Expand_N_Case_Statement. - (Expand_Assign_Record): Update comments, code cleanups. - * sem_attr.adb (Analyze_Attribute): Perform most of the analysis - on the original prefix node to deal properly with a prefix rewritten - as a N_Raise_xxx_Error. - * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Handle properly - a discrete subtype definition being rewritten as N_Raise_xxx_Error. - * sem_ch8.adb (Analyze_Object_Renaming): Handle N_Raise_xxx_Error - nodes as part of the expression being renamed. - * sem_eval.ads, sem_eval.adb (Fold, Eval_Selected_Component): New. - (Compile_Time_Known_Value, Expr_Value, Expr_Rep_Value): Evaluate - static discriminant component values. - * sem_res.adb (Resolve_Selected_Component): Call - Eval_Selected_Component. - -2020-12-17 Piotr Trojanek - - * exp_ch4.adb (Expand_N_Unchecked_Type_Conversion): Remove - folding of discrete values. - * exp_intr.adb (Expand_Unc_Conversion): Analyze, resolve and - evaluate (if possible) calls to instances of - Ada.Unchecked_Conversion after they have been expanded into - N_Unchecked_Type_Conversion. - * sem_eval.adb (Eval_Unchecked_Conversion): Add folding of - discrete values. - -2020-12-17 Eric Botcazou - - * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Likewise. - * exp_imgv.adb (Expand_Value_Attribute): Use RE_Value_Long_Float in - lieu of RE_Value_Long_Long_Float as fallback for fixed-point types. - Also use it for Long_Long_Float if it has same size as Long_Float. - * libgnat/s-imgrea.adb: Replace Powten_Table with Powen_LLF. - * libgnat/s-powflt.ads: New file. - * libgnat/s-powlfl.ads: Likewise. - * libgnat/s-powtab.ads: Rename to... - * libgnat/s-powllf.ads: ...this. - * libgnat/s-valflt.ads: Add with clause for System.Powten_Flt and - pass its table as actual parameter to System.Val_Real. - * libgnat/s-vallfl.ads: Likewise for System.Powten_LFlt. - * libgnat/s-valllf.ads: Likewise for System.Powten_LLF. - * libgnat/s-valrea.ads: Add Maxpow and Powten_Address parameters. - * libgnat/s-valrea.adb: Add pragma Warnings (Off). - (Need_Extra): New boolean constant. - (Precision_Limit): Set it according to Need_Extra. - (Impl): Adjust actual parameter. - (Integer_to_Rea): Add assertion on the machine radix. Take into - account the extra digit only if Need_Extra is true. Reimplement - the computation of the final value for bases 2, 4, 8, 10 and 16. - * libgnat/s-valued.adb (Impl): Adjust actual parameter. - (Scan_Decimal): Add pragma Unreferenced. - (Value_Decimal): Likewise. - * libgnat/s-valuef.adb (Impl): Adjust actual parameter. - * libgnat/s-valuer.ads (Floating): Remove. - (Round): New formal parameter. - * libgnat/s-valuer.adb (Round_Extra): New procedure. - (Scan_Decimal_Digits): Use it to round the extra digit if Round - is set to True in the instantiation. - (Scan_Integral_Digits): Likewise. - -2020-12-17 Erwan Le Guillou - - * libgnat/system-lynxos178-ppc.ads, - libgnat/system-lynxos178-x86.ads: Fix small typo in comments. - -2020-12-17 Eric Botcazou - - * exp_dbug.adb (Get_Encoded_Name): Generate encodings for fixed - point types only if -fgnat-encodings=all is specified. - -2020-12-17 Justin Squirek - - * checks.adb (Build_Discriminant_Checks): Add condition to - replace references to the current instance of the type when we - are within an Init_Proc. - (Replace_Current_Instance): Examine a given node and replace the - current instance of the type with the corresponding _init - formal. - (Search_And_Replace_Current_Instance): Traverse proc which calls - Replace_Current_Instance in order to replace all references - within a given expression. - -2020-12-17 Piotr Trojanek - - * par-ch12.adb (P_Formal_Derived_Type_Definition): Complain - about formal type with aspect specification, which only become - legal in Ada 2020. - * par-ch9.adb (P_Protected_Operation_Declaration_Opt): Reuse - Error_Msg_Ada_2005_Extension. - (P_Entry_Declaration): Likewise. - * scng.adb (Scan): Improve diagnostics for target_name; emit - error, but otherwise continue in earlier than Ada 2020 modes. - -2020-12-17 Ed Schonberg - - * libgnat/a-cbsyqu.ads (Implementation): Provide a box - initialization for the element array used internally to - represent the queue, so that its components are properly - initialized if the given element type has default - initialization. Suppress warnings on the rest of the package in - case the element type has no default or discriminant, because it - is bound to be confusing to the user. - -2020-12-17 Arnaud Charlet - - * sem_util.adb (Inherit_Predicate_Flags): No-op before Ada 2012. - -2020-12-17 Arnaud Charlet - - * exp_ch7.adb (Make_Final_Call, Make_Init_Call): Take protected - types into account. - * sem_util.ads: Fix typo. - -2020-12-17 Yannick Moy - - * checks.adb: Rework error messages. - * exp_ch3.adb: Likewise. - * freeze.adb: Likewise. - * lib-load.adb: Likewise. - * par-ch12.adb: Likewise. - * par-ch3.adb: Likewise. - * par-ch4.adb: Likewise. - * par-ch9.adb: Likewise. - * sem_aggr.adb: Likewise. - * sem_attr.adb: Likewise. - * sem_cat.adb: Likewise. - * sem_ch10.adb: Likewise. - * sem_ch12.adb: Likewise. - (Instantiate_Type): Fix CODEFIX comment, applicable only on - continuation message, and identify the second message as a - continuation. - * sem_ch13.adb: Rework error messages. - * sem_ch3.adb: Likewise. - * sem_ch4.adb: Likewise. - * sem_ch5.adb: Likewise. - * sem_ch6.adb: Likewise. - * sem_ch8.adb: Likewise. - * sem_ch9.adb: Likewise. - * sem_prag.adb: Likewise. - * sem_res.adb: Likewise. - * sem_util.adb: Likewise. - (Wrong_Type): Fix CODEFIX comment, applicable only on - continuation message, and identify the second message as a - continuation. - * symbols.adb: Rework error messages. - -2020-12-17 Arnaud Charlet - - * sem_attr.adb (OK_Self_Reference): Return True if node does not - come from source (e.g. a rewritten aggregate). - -2020-12-17 Piotr Trojanek - - * sem_ch13.adb (Parse_Aspect_Stable_Properties): Fix style; - limit the scope of local variables; remove extra assignment in - Extract_Entity. - (Validate_Aspect_Stable_Properties): Simplify with procedural - Next. - -2020-12-16 Arnaud Charlet - - * ali.ads, ali.adb, bindo-writers.adb, lib-writ.adb (Scope): - Renamed to IS_Scope. - -2020-12-16 Joffrey Huguet - - * libgnat/a-strfix.ads: Add postconditions and contract cases to - subprograms. - -2020-12-16 Ed Schonberg - - * sem_ch5.adb (Analyze_Iterator_Specification): If iterator - filter is present, preanalyze filter without expansion. - (Analyze_Loop_Parameter_Specification): When - loop_Parameter_Specification is rewritten as - Iterator_Specification, transfer Iterator_Filter if present. - -2020-12-16 Doug Rupp - - * libgnat/s-objrea.ads (Object_Arch): Add ARM enum - * libgnat/s-objrea.adb (Initialize): Add EM_ARM case. - (Read_Address): Add ARM case to 32bit read. - * Makefile.rtl: Add trasym units to the runtime for armhf-linux. - -2020-12-16 Dmitriy Anisimkov - - * libgnat/g-expect.adb (Non_Blocking_Spawn): Deallocate elements - on Arg_List after calling Set_Up_Child_Communications. - -2020-12-16 Piotr Trojanek - - * par-ch3.adb (P_Modular_Type_Definition): Remove colon from - error message. - * sem_ch11.adb (Check_Duplication): Likewise. - * sem_ch3.adb (Derived_Type_Declaration): Likewise. - -2020-12-16 Piotr Trojanek - - * par-ch12.adb (P_Formal_Object_Declarations): Refine types to - Pos. - -2020-12-16 Piotr Trojanek - - * impunit.adb (Not_Impl_Defined_Unit): Fix typo in iteration - over Non_Imp_File_Names_12 array. - -2020-12-16 Piotr Trojanek - - * exp_ch9.adb, sem_warn.adb: Simplify membership test. - -2020-12-16 Piotr Trojanek - - * exp_ch6.adb, exp_util.adb, sem_ch4.adb, sem_disp.adb, - sem_elab.adb: Simplify membership test. - -2020-12-16 Eric Botcazou - - * libgnat/s-powtab.ads (Maxpow): Use explicit formula in comment. - -2020-12-16 Philippe Gil - - * libgnarl/s-tporft.adb (Register_Foreign_Thread): Set - Global_Task_Lock_Nesting before using allocator. - -2020-12-16 Eric Botcazou - - * libgnat/s-valrea.adb (Maxexp32): New constant array. - (Maxexp64): Likewise. - (Maxexp80): Likewise. - (Integer_to_Real): New local constants Maxexp and B. - When the exponent is too negative, do the divison in two steps. - -2020-12-16 Piotr Trojanek - - * doc/gnat_rm/implementation_defined_pragmas.rst - (Test_Case): Change integer to float literals. - * gnat_rm.texi: Regenerate. - -2020-12-16 Piotr Trojanek - - * sem_ch13.adb (Analyze_Aspect_Specifications): Add a codefix - for extra parentheses around aspect Annotate expression; reject - "(null record)" aggregate and extra parentheses around aspect - Test_Case expression. - * sem_prag.adb (Analyze_Pragma): Reject "null", "(null record)" - and extra parentheses around pragma Contract_Cases; likewise for - pragma Subprogram_Variant. - -2020-12-16 Dmitriy Anisimkov - - * adaint.h (__gnat_in_child_after_fork): New flag to express - child process side after fork call. - * adaint.c (__gnat_portable_spawn): Set flag - __gnat_in_child_after_fork. - * expect.c (__gnat_expect_fork): Set __gnat_in_child_after_fork - to one on child side. - * libgnat/memtrack.adb - (In_Child_After_Fork): Flag to disable memory tracking. - (Allow_Trace): New routine defining if memory should be tracked. - (Alloc, Realloc, Free): Use Allow_Trace in "if" condition - instead of First_Call. - -2020-12-16 Yannick Moy - - * libgnat/a-tifiio.adb: Mark body not in SPARK. - * libgnat/a-tifiio.ads: Mark spec in SPARK. - * libgnat/a-tifiio__128.adb: Mark body not in SPARK. - -2020-12-16 Eric Botcazou - - * libgnat/s-valuer.adb (Scan_Decimal_Digits): Tweak overflow test. - (Scan_Integral_Digits): Likewise. - -2020-12-16 Pascal Obry - - * s-oscons-tmplt.c: Add some OS constants. - -2020-12-15 Pascal Obry - - * libgnat/g-sercom__linux.adb (Set): Use cfsetospeed and - cfsetispeed to set the baud rate. Clear non-blocking serial port - status when blocking is requested. - -2020-12-15 Eric Botcazou - - * libgnat/s-valrea.adb (Integer_to_Real): Always use Extra. - -2020-12-15 Piotr Trojanek - - * par-ch5.adb (P_Condition): Simplify condition for warning - about extra parens and make it easier to understand. - -2020-12-15 Piotr Trojanek - - * errout.ads (Error_Msg_Ada_2005_Extension): New routine (spec). - * errout.adb (Error_Msg_Ada_2005_Extension): New routine (body). - * par-ch10.adb: Reuse new routine; correct casing for "LIMITED - WITH". - * par-ch11.adb: Likewise. - * par-ch12.adb: Likewise. - * par-ch3.adb: Likewise. - * par-ch4.adb: Likewise; replace "box" with "<>". - * par-ch6.adb: Likewise. - * par-ch9.adb: Likewise; correct casing for "THEN ABORT". - -2020-12-15 Eric Botcazou - - * doc/gnat_ugn/gnat_and_program_execution.rst: Minor fix. - * gnat_ugn.texi: Regenerate. - * libgnat/s-valuer.ads (Precision_Limit): New formal parameter. - * libgnat/s-valuer.adb (Precision_Limit): Remove. - (Scan_Decimal_Digits): Robustify overflow check. - (Scan_Integral_Digits): Likewise. - * libgnat/s-valrea.adb: Add assertion on the size of the unsigned - type and instantiate System.Value_R with the mantissa limit. - (Integer_to_Real): Add Extra parameter and take it into account. - (Scan_Real): Pass Extra to Integer_to_Real. - (Value_Real): Likewise. - * libgnat/s-valued.adb: Add assertion on the size of the unsigned - type and instantiate System.Value_R with the mantissa limit. - * libgnat/s-valuef.adb: Likewise. - -2020-12-15 Justin Squirek - - * contracts.adb, contracts.ads (Build_Postconditions_Procedure): - Add declarations for Postcond_Enabled, - Result_Object_For_Postcondition, and - Return_Success_For_Postcond, and place all postconditions within - an if statement to control their execution for interactions when - cleanup actions get generated. - (Get_Postcond_Enabled): Created to fetch object declared to - handle new expansion of postconditions. - (Get_Result_Object_For_Postcond): Created to fetch object - declared to handle new expansion of postconditions. - (Get_Return_Success_For_Postcond): Created to fetch object - declared to handle new expansion of postconditions. - * einfo.adb, einfo.ads: Modify flag Stores_Attribute_Old_Prefix - to apply to constants, variables, and types. - * exp_ch6.adb (Add_Return): Add assignment to - Return_Success_For_Postcond. - (Expand_Non_Function_Return): Add assignment to - Return_Success_For_Postcond - (Expand_Simple_Function_Return): Add assignment to - Result_Object_For_Postcond and Return_Success_For_Postcond. - * exp_ch7.adb (Build_Finalization_Master): Mark finalization - masters which finalize types created store 'Old objects as - storing 'Old objects. - (Build_Finalizer): Created to generated a unified and special - expansion for finalization when postconditions are present. - (Build_Finalizer_Helper): Renamed Build_Finalizer and added - parameter to facilitate the creation of separate finalization - routines for 'Old objects and general objects. - (Create_Finalizer): Add condition for the insertion of the - finalizer spec to avoid malformed trees. - (Expand_Cleanup_Actions): Move _postconditions and related - declarations to the new declarative section. Fix the loop to - properly stop at the subprogram declaration for the - postconditions procedure and exclude its body from being moved - to the new list of declarations to avoid freezing issues. - * exp_prag.adb (Expand_Attributes): Mark temporary created to - store 'Old objects as storing a 'Old attribute. - * sem_ch6.adb (Find_What_Applies_To): Remove strange exception - to postconditions when traversing the scope stack. - * sem_prag.adb (Find_Related_Declaration_Or_Body): Use the newly - created Enclosing_HSS function to find the HSS for a potentially - nested statement. - * sem_util.adb, sem_util.ads (Declare_Indirect_Temp): Mark types - created to store 'Old objects as storing 'Old attributes. - (Enclosing_HSS): Created to find the enclosing handled sequence - of statements for a given statement. - * snames.ads-tmpl: Add multiple names to aid in the expansion of - finalization and to control the evaluation of postconditions. - Including _finalization_controller, a new routine to centralize - finalization actions and postcondition evaluation. - -2020-12-15 Piotr Trojanek - - * par-ch5.adb (P_Loop_Parameter_Specification): Complain about - missing -gnat2020 switch. - (P_Iterator_Specification): Likewise. - -2020-12-15 Piotr Trojanek - - * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Simplify with - Append_New. - -2020-12-15 Eric Botcazou - - * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Remove s-fatsfl$(objext) - and add s-valflt$(objext), s-vallfl$(objext), s-valllf$(objext). - * exp_attr.adb (Find_Fat_Info): Merge Short_Float and Float cases. - * exp_imgv.adb (Expand_Value_Attribute): Replace RE_Value_Real with - RE_Value_Long_Long_Float for fixed-point types and use appropriate - base type for floating-point types. - * rtsfind.ads (RTU_Id): Remove System_Fat_IEEE_Long_Float, - System_Fat_IEEE_Short_Float and System_Val_Real, add System_Val_Flt, - System_Val_LFlt and System_Val_LLF. - (RE_Id): Remove RE_Attr_IEEE_Long, RE_Fat_IEEE_Long, - RE_Attr_IEEE_Short, RE_Fat_IEEE_Short, RE_Attr_Short_Float, add - RE_Value_Float, RE_Value_Long_Float, RE_Value_Long_Long_Float, - (RE_Unit_Table): Likewise. - * libgnat/a-ticoau.ads: Add with clause for Float_Aux and make the - package generic. - (Get): Change parameter types to Num. - (Put): Likewise. - (Gets): Likewise. - (Puts): Likewise. - * libgnat/a-ticoau.adb: Remove clause and renaming for Float_Aux. - (Get): Change parameter types to Num. - (Gets): Likewise. - (Put): Likewise. - (Puts): Likewise. Add conversion to Long_Long_Float. - * libgnat/a-ticoio.adb: Remove with clause for Ada.Text_IO, add with - clause for Float_Aux, add with and use clauses for System.Val_Flt, - System.Val_LFlt and System.Val_LLF. Instantiate Float_Aux and - Complex_Aux on Float, Long_Float, and Long_Long_Float. - (OK_Float): New boolean constant. - (OK_Long_Float): Likewise. - (Get): Call appropriate Get routine from auxiliary package. - (Get): Call appropriate Gets routine from auxiliary package. - (Put): Call appropriate Put routine from auxiliary package. - (Put): Call appropriate Puts routine from auxiliary package. - * libgnat/a-tideau.adb: Remove with and use clause for Float_Aux. - * libgnat/a-tifiau.adb: Likewise. - * libgnat/a-tifiio.adb: Add with and use clause for System.Val_LLF. - Instantiate Float_Aux on Long_Long_Float. - (Get): Adjust call to Get routine from auxiliary package. - (Get): Adjust call to Gets routine from auxiliary package. - (Put): Adjust call to Put routine from auxiliary package. - (Put): Adjust call to Puts routine from auxiliary package. - * libgnat/a-tifiio__128.adb: Likewise. - (Get): Likewise. - (Get): Likewise. - (Put): Likewise. - (Put): Likewise. - * libgnat/a-tiflau.ads: Make the package generic. - (Get): Change parameter type to Num. - (Put): Likewise. - (Gets): Likewise. - (Puts): Likewise. - * libgnat/a-tiflau.adb: Remove clauses for System.Val_Real. - (Get): Change parameter type to Num and call Scan routine. - (Gets): Likewise. - (Load_Real): Move to... - (Put): Change parameter type and add conversion to Long_Long_Float. - (Puts): Likewise. - * libgnat/a-tiflio.adb: Add with and use clauses for System.Val_Flt, - System.Val_LFlt and System.Val_LLF. Instantiate Float_Aux on Float, - Long_Float and Long_Long_Float. - (OK_Float): New boolean constant. - (OK_Long_Float): Likewise. - (Get): Call appropriate Get routine from auxiliary package. - (Get): Call previous variant. - (Get): Call appropriate Gets routine from auxiliary package. - (Put): Call appropriate Put routine from auxiliary package. - (Put): Call previous variant. - (Put): Call appropriate Puts routine from auxiliary package. - * libgnat/a-tigeau.ads (Load_Real): New procedure. - * libgnat/a-tigeau.adb (Load_Real): ...here. - * libgnat/a-wtcoau.ads: Add with clause for Float_Aux and make the - package generic. - (Get): Change parameter types to Num. - (Put): Likewise. - (Gets): Likewise. - (Puts): Likewise. - * libgnat/a-wtcoau.adb: Remove clause and renaming for Float_Aux. - (Get): Change parameter types to Num. - (Gets): Likewise. - (Put): Likewise. - (Puts): Likewise. Add conversion to Long_Long_Float. - * libgnat/a-wtcoio.ads: Remove use clause for Complex_Types and use - qualified names throughout accordingly. - * libgnat/a-wtcoio.adb: Remove clause for Ada.Unchecked_Conversion, - add with clause for Float_Aux, add clauses for System.Val_Flt, - System.Val_LFlt and System.Val_LLF. Add clause for Complex_Types. - Instantiate Float_Aux and Complex_Aux on Float, Long_Float, and - Long_Long_Float. Remove LLF subtype and TFT instantiation. - (OK_Float): New boolean constant. - (OK_Long_Float): Likewise. - (Get): Call appropriate Get routine from auxiliary package. - (Get): Call appropriate Gets routine from auxiliary package. - (Put): Call appropriate Put routine from auxiliary package. - (Put): Call appropriate Puts routine from auxiliary package. - * libgnat/a-wtdeau.adb: Remove with and use clause for Float_Aux. - * libgnat/a-wtfiau.adb: Likewise. - * libgnat/a-wtfiio.adb: Add with and use clause for System.Val_LLF. - Instantiate Float_Aux on Long_Long_Float. - (Get): Adjust call to Get routine from auxiliary package. - (Get): Adjust call to Gets routine from auxiliary package. - (Put): Adjust call to Put routine from auxiliary package. - (Put): Adjust call to Puts routine from auxiliary package. - * libgnat/a-wtfiio__128.adb: Likewise. - (Get): Likewise. - (Get): Likewise. - (Put): Likewise. - (Put): Likewise. - * libgnat/a-wtflau.ads: Make the package generic. - (Get): Change parameter type to Num. - (Put): Likewise. - (Gets): Likewise. - (Puts): Likewise. - * libgnat/a-wtflau.adb: Remove clauses for System.Val_Real. - (Get): Change parameter type to Num and call Scan routine. Set - Ptr parameter lazily. - (Gets): Likewise. - (Load_Real): Move to... - (Put): Change parameter type and add conversion to Long_Long_Float. - Bump buffer length to Max_Real_Image_Length. - (Puts): Likewise. - * libgnat/a-wtflio.adb: Add with and use clauses for System.Val_Flt, - System.Val_LFlt and System.Val_LLF. Instantiate Float_Aux on Float, - Long_Float and Long_Long_Float. - (OK_Float): New boolean constant. - (OK_Long_Float): Likewise. - (Get): Call appropriate Get routine from auxiliary package. Add - pragma Unsuppress (Range_Check) and manual validity check. - (Get): Call appropriate Gets routine from auxiliary package. Add - pragma Unsuppress (Range_Check) and manual validity check. - (Put): Call appropriate Put routine from auxiliary package. - (Put): Call appropriate Puts routine from auxiliary package. - * libgnat/a-wtgeau.ads (Load_Real): New procedure. - * libgnat/a-wtgeau.adb (Load_Real): ...here. - * libgnat/a-ztcoau.ads: Add with clause for Float_Aux and make the - package generic. - (Get): Change parameter types to Num. - (Put): Likewise. - (Gets): Likewise. - (Puts): Likewise. - * libgnat/a-ztcoau.adb: Remove clause and renaming for Float_Aux. - (Get): Change parameter types to Num. - (Gets): Likewise. - (Put): Likewise. - (Puts): Likewise. Add conversion to Long_Long_Float. - * libgnat/a-ztcoio.ads: Remove use clause for Complex_Types and use - qualified names throughout accordingly. - * libgnat/a-ztcoio.adb: Remove clause for Ada.Unchecked_Conversion, - add with clause for Float_Aux, add clauses for System.Val_Flt, - System.Val_LFlt and System.Val_LLF. Add clause for Complex_Types. - Instantiate Float_Aux and Complex_Aux on Float, Long_Float, and - Long_Long_Float. Remove LLF subtype and TFT instantiation. - (OK_Float): New boolean constant. - (OK_Long_Float): Likewise. - (Get): Call appropriate Get routine from auxiliary package. - (Get): Call appropriate Gets routine from auxiliary package. - (Put): Call appropriate Put routine from auxiliary package. - (Put): Call appropriate Puts routine from auxiliary package. - * libgnat/a-ztdeau.adb: Remove with and use clause for Float_Aux. - * libgnat/a-ztfiau.adb: Likewise. - * libgnat/a-ztfiio.adb: Add with and use clause for System.Val_LLF. - Instantiate Float_Aux on Long_Long_Float. - (Get): Adjust call to Get routine from auxiliary package. - (Get): Adjust call to Gets routine from auxiliary package. - (Put): Adjust call to Put routine from auxiliary package. - (Put): Adjust call to Puts routine from auxiliary package. - * libgnat/a-ztfiio__128.adb: Likewise. - (Get): Likewise. - (Get): Likewise. - (Put): Likewise. - (Put): Likewise. - * libgnat/a-ztflau.ads: Make the package generic. - (Get): Change parameter type to Num. - (Put): Likewise. - (Gets): Likewise. - (Puts): Likewise. - * libgnat/a-ztflau.adb: Remove clauses for System.Val_Real. - (Get): Change parameter type to Num and call Scan routine. Set - Ptr parameter lazily. - (Gets): Likewise. - (Load_Real): Move to... - (Put): Change parameter type and add conversion to Long_Long_Float. - Bump buffer length to Max_Real_Image_Length. - (Puts): Likewise. - * libgnat/a-ztflio.adb: Add with and use clauses for System.Val_Flt, - System.Val_LFlt and System.Val_LLF. Instantiate Float_Aux on Float, - Long_Float and Long_Long_Float. - (OK_Float): New boolean constant. - (OK_Long_Float): Likewise. - (Get): Call appropriate Get routine from auxiliary package. Add - pragma Unsuppress (Range_Check) and manual validity check. - (Get): Call appropriate Gets routine from auxiliary package. Add - pragma Unsuppress (Range_Check) and manual validity check. - (Put): Call appropriate Put routine from auxiliary package. - (Put): Call appropriate Puts routine from auxiliary package. - * libgnat/a-ztgeau.ads (Load_Real): New procedure. - * libgnat/a-ztgeau.adb (Load_Real): ...here. - * libgnat/s-fatsfl.ads: Delete. - * libgnat/s-valflt.ads: New package. - * libgnat/s-vallfl.ads: Likewise. - * libgnat/s-valllf.ads: Likewise. - * libgnat/s-valrea.ads: Make generic. Add assertions, defensive - code and clarify intent. - (Scan_Real): Change parameter type to Num. - (Value_Real): Likewise. - * libgnat/s-valrea.adb: Instantiate Value_R on Uns. - (Integer_to_Real): Change parameter and result to Num. - Call Float_Control.Reset only if the mantissa is 64 bits. Use - a divide to compute the final value if the scale is negative. - (Scan_Real): Change result to Num. - (Value_Real): Likewise. - * libgnat/s-valuer.adb: Add assertions, defensive code and - clarify intent. - (F_Limit): Delete. - (I_Limit): Likewise. - (Precision_Limit): Always use the integer limit. - * libgnat/s-fatgen.adb: Add pragma Annotate. - -2020-12-15 Yannick Moy - - * libgnat/a-tiflio.adb: Mark body not in SPARK. - * libgnat/a-tiflio.ads: Mark spec in SPARK. - -2020-12-15 Arnaud Charlet - - * exp_ch6.adb (Build_Procedure_Body_Form): Adjust, the - declaration of the procedure form is now insert before the - original function body rather than after. - (Expand_N_Subprogram_Declaration): Deal with private types whose - full views are arrays. - * exp_unst.adb (Unnest_Subprogram): Deal with private types. - (Needs_Fat_Pointer): Code cleanup. - * freeze.adb (Freeze_Subprogram): Ditto. - * exp_util.adb (Build_Procedure_Form): Insert the procedure form - decl before and not after. - * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Build missing - spec when needed for Transform_Function_Array. - * sem_util.adb (Get_Fullest_View): Deal with null entity. - -2020-12-15 Piotr Trojanek - - * sem_ch13.adb (Analyze_Aspect_Specifications): Simplify code - for aspect Priority. - * sem_prag.adb (Analyze_Pragma): Simplify code for pragma - Priority. - -2020-12-15 Arnaud Charlet - - * exp_ch7.adb (Reset_Scopes_To_Block_Elab_Proc): Do not crash on - a block with no Identifier. Code cleanups. - -2020-12-15 Piotr Trojanek - - * sem_attr.adb (Analyze_Attribute): Reuse existing code for - attribute Value when analyzing attributes Wide_Value and - Wide_Wide_Value. - -2020-12-15 Pascal Obry - - * libgnat/g-diopit.adb (Find): Fix possible infinite recursion - in Find iterator. - * libgnat/g-diopit.ads (Find): Update comments accordingly. - -2020-12-15 Piotr Trojanek - - * sem_attr.adb (Analyze_Attribute): Merge identical code for - Callable and Terminated attributes; refactor calls to Set_Etype - occurring in both THEN and ELSE branches of an IF statement for - attribute Storage_Size. - -2020-12-15 Piotr Trojanek - - * sem_attr.adb (Analyze_Attribute): Merge identical code for - Wide_Wide_Width, Wide_Width and Width attributes. - -2020-12-15 Piotr Trojanek - - * sem_attr.adb (Analyze_Attribute): Merge identical code for - Pred and Succ attributes. - -2020-12-15 Piotr Trojanek - - * sem_attr.adb (Analyze_Attribute): Merge identical code for - Size, Object_Size and Value_Size attributes. - -2020-12-15 Piotr Trojanek - - * sem_attr.adb (Analyze_Attribute): Consistently call - Check_Fixed_Point_Type before checking the number of attribute - expressions (like it is done for floating point types); reuse - Check_Fixed_Point_Type_0. - -2020-12-15 Piotr Trojanek - - * exp_disp.adb (Make_Tags): Remove call to UI_To_Int. - * sem_attr.adb (Check_Array_Type): Likewise; also, refine type - of a local variable. - (Analyze_Attribute): Likewise. - (Get_Enclosing_Object): Likewise. - * sem_util.adb (Get_Enum_Lit_From_Pos): Likewise. - -2020-12-15 Piotr Trojanek - - * sem_attr.adb (Analyze_Attribute): Merge identical code for - First_Bit/Last_Bit and Position attributes. - -2020-12-15 Piotr Trojanek - - * sem_attr.adb (Analyze_Attribute): Merge identical code for - Machine_Radix and Mantissa attributes. - -2020-12-15 Piotr Trojanek - - * sem_attr.adb (Analyze_Attribute): Merge identical code for - Machine_Overflows and Machine_Rounds attributes. - -2020-12-15 Piotr Trojanek - - * sem_attr.adb (Analyze_Attribute): Merge identical code for - Large, Small, Safe_Large and Safe_Small attributes. - -2020-12-15 Piotr Trojanek - - * sem_attr.adb (Analyze_Attribute): Merge identical code for - Epsilon, Model_Epsilon, Model_Small, Safe_First and Safe_Las - attributes. - -2020-12-15 Piotr Trojanek - - * sem_attr.adb (Analyze_Attribute): Merge identical code for - Emax, Machine_Emax, Machine_Emin, Machine_Mantissa, Model_Emin, - Model_Mantissa and Safe_Emax attributes. - -2020-12-15 Piotr Trojanek - - * sem_attr.adb (Analyze_Attribute): Merge identical code for - Denorm and Signed_Zeros attributes. - -2020-12-15 Piotr Trojanek - - * sem_attr.adb (Analyze_Attribute): Merge identical code for - Adjacent, Copy_Sign and Remainder attributes. - (Check_Floating_Point_Type_2): Fix style in comment. - -2020-12-15 Piotr Trojanek - - * sem_attr.adb (Analyze_Attribute): Merge identical code for - Compose, Leading_Part and Scaling attributes. - -2020-12-14 Piotr Trojanek - - * sem_attr.adb (Analyze_Attribute): Resolve second parameter of - attribute Scaling just like it is resolved for a similar - attribute Compose. - -2020-12-14 Piotr Trojanek - - * sem_attr.adb (Analyze_Attribute): Merge identical code for - First/Last, First_Bit/Last_Bit and First_Valid/Last_Valid - attributes. - -2020-12-14 Piotr Trojanek - - * sem_attr.adb (Analyze_Attribute): Merge similar code for - Truncation and other floating point attributes. - -2020-12-14 Piotr Trojanek - - * sem_attr.adb (Analyze_Attribute): Merge identical code for - Ceiling, Floor, Fraction, Machine, Machine_Rounding, Model, - Rounding and Unbiased_Rounding. - -2020-12-14 Eric Botcazou - - * libgnat/a-tifiio.adb: Adjust documentation. - (OK_Get_32): Compare the object size of the base type. - (OK_Put_32): Likewise. - (OK_Get_64): Likewise. - (OK_Put_64): Likewise. - * libgnat/a-tifiio__128.adb: Adjust documentation. - (OK_Get_32): Compare the object size of the base type. - (OK_Put_32): Likewise. - (OK_Get_64): Likewise. - (OK_Put_64): Likewise. - (OK_Get_128): Likewise. - (OK_Put_128): Likewise. - * libgnat/a-wtfiio.adb (OK_Get_32): Likewise. - (OK_Put_32): Likewise. - (OK_Get_64): Likewise. - (OK_Put_64): Likewise - * libgnat/a-wtfiio__128.adb (OK_Get_32): Likewise. - (OK_Put_32): Likewise. - (OK_Get_64): Likewise. - (OK_Put_64): Likewise. - (OK_Get_128): Likewise. - (OK_Put_128): Likewise. - * libgnat/a-ztfiio.adb (OK_Get_32): Likewise. - (OK_Put_32): Likewise. - (OK_Get_64): Likewise. - (OK_Put_64): Likewise - * libgnat/a-ztfiio__128.adb (OK_Get_32): Likewise. - (OK_Put_32): Likewise. - (OK_Get_64): Likewise. - (OK_Put_64): Likewise. - (OK_Get_128): Likewise. - (OK_Put_128): Likewise. - -2020-12-14 Eric Botcazou - - * libgnat/a-tifiio.adb (Get): Replace Current_Input with Current_In. - * libgnat/a-tifiio__128.adb: (Get): Likewise. - * libgnat/a-wtcoio.adb (Get): Likewise. - (Put): Replace Current_Output with Current_Out. - * libgnat/a-wtdeio.adb (Get): Likewise. - (Put): Likewise. - * libgnat/a-wtdeio__128.adb (Get): Likewise. - (Put): Likewise. - * libgnat/a-wtenio.adb (Get): Likewise. - (Put): Likewise. - * libgnat/a-wtfiio.adb (Get): Likewise. - (Put): Likewise. - * libgnat/a-wtfiio__128.adb (Get): Likewise. - (Put): Likewise. - * libgnat/a-wtflio.adb (Get): Likewise. - (Put): Likewise. - * libgnat/a-wtinio.adb (Get): Likewise. - (Put): Likewise. - * libgnat/a-wtinio__128.adb (Get): Likewise. - (Put): Likewise. - * libgnat/a-wtmoio.adb (Get): Likewise. - (Put): Likewise. - * libgnat/a-wtmoio__128.adb (Get): Likewise. - (Put): Likewise. - * libgnat/a-ztcoio.adb (Get): Likewise. - (Put): Likewise. - * libgnat/a-ztdeio.adb (Get): Likewise. - (Put): Likewise. - * libgnat/a-ztdeio__128.adb (Get): Likewise. - (Put): Likewise. - * libgnat/a-ztenio.adb (Get): Likewise. - (Put): Likewise. - * libgnat/a-ztfiio.adb (Get): Likewise. - (Put): Likewise. - * libgnat/a-ztfiio__128.adb (Get): Likewise. - (Put): Likewise. - * libgnat/a-ztflio.adb (Get): Likewise. - (Put): Likewise. - * libgnat/a-ztinio.adb (Get): Likewise. - (Put): Likewise. - * libgnat/a-ztinio__128.adb (Get): Likewise. - (Put): Likewise. - * libgnat/a-ztmoio.adb (Get): Likewise. - (Put): Likewise. - * libgnat/a-ztmoio__128.adb (Get): Likewise. - (Put): Likewise. - -2020-12-14 Justin Squirek - - * sem_util.adb, sem_util.ads (In_Generic_Formal_Package): - Created to identify type declarations occurring within generic - formal packages. - * sem_res.adb (Resolve_Allocator): Add condition to avoid - emitting an error for allocators when the type being allocated - is class-wide and from a generic formal package. - -2020-12-14 Eric Botcazou - - * libgnat/s-fatgen.adb (Tiny80): Add alignment clause. - -2020-12-14 Arnaud Charlet - - * exp_util.adb (Process_Current_Value_Condition): Add assertion. - * libgnat/s-fatgen.adb (Scaling): Add annotation. - -2020-12-14 Arnaud Charlet - - * sem_eval.adb (Fold_Shift): Compute values using the base type. - -2020-12-14 Eric Botcazou - - * libgnat/s-fatgen.adb: Add with clause for Interfaces and use - type clause for Interfaces.Unsigned_64. - (Small): Comment out. - (Tiny): Likewise. - (Tiny16): New integer constant. - (Tiny32): Likewise. - (Tiny64): Likewise. - (Tiny80): New integer array constant. - (Pred): Declare a local overlay for Tiny. - (Succ): Likewise. - -2020-12-14 Eric Botcazou - - * exp_pakd.adb (Expand_Bit_Packed_Element_Set): Fix again packed - array type in complex cases where array is Volatile. - * exp_util.adb (Remove_Side_Effects): Do not force a renaming to - be handled by the back-end. - -2020-12-14 Eric Botcazou - - * libgnat/s-fatgen.adb: Remove use clause for - System.Unsigned_Types. - (Scaling): Add renaming of System.Unsigned_Types and use type - clause for Long_Long_Unsigned. - -2020-12-14 Eric Botcazou - - * libgnat/s-fatgen.ads (Compose): Add pragma Inline. - (Copy_Sign): Likewise. - (Exponent): Likewise. - (Fraction): Likewise. - * libgnat/s-fatgen.adb: Remove with clause for System, add - with and use clauses for System.Unsigned_Types. - Add pragma Warnings (Off) for non-static constants. - Remove precomputed tables of powers of radix and add a few - constants describing the floating-point format. - (Gradual_Scaling): Delete. - (Copy_Sign): Reimplement directly. - (Decompose): Likewise. - (Scaling): Likewise. - (Pred): Speed up. - (Succ): Likewise. - (Truncation): Tidy up. - (Valid): Move constants to library level. - -2020-12-14 Piotr Trojanek - - * sem_eval.adb (CV_Cache): Remove initialization at elaboration. - -2020-12-14 Gary Dismukes - - * doc/gnat_ugn/building_executable_programs_with_gnat.rst: - Correct documentation of the -gnatw.K switch to say that it - disables rather than activates the warning. - * gnat_ugn.texi: Regenerate. - -2020-12-14 Doug Rupp - - * tracebak.c: Add a section for ARM Linux. - -2020-12-14 Ghjuvan Lacambre - - * par-ch3.adb (P_Discriminant_Part_Opt): Parse aspects, update - documentation. - * par-ch6.adb (P_Return_Statement): Likewise. - * par-ch9.adb (P_Entry_Index_Specification): Likewise. - -2020-12-14 Gary Dismukes - - * exp_aggr.adb (Build_Array_Aggr_Code.Gen_Assign): Move - generation of the call for DIC check past the optional - generation of calls to controlled Initialize procedures. - * exp_ch3.adb - (Build_Array_Init_Proc.Init_One_Dimension.Possible_DIC_Call): - Suppress generation of a DIC call when the array component type - is controlled. The call will now be generated later inside the - array's DI (Deep_Initialize) procedure. - * exp_ch7.adb - (Make_Deep_Array_Body.Build_Initialize_Statements): Generate a - DIC call (when needed by the array component type) after any - call to the component type's controlled Initialize procedure, or - generate the DIC call by itself if there's no Initialize to - call. - * sem_aggr.adb (Resolve_Record_Aggregate.Add_Association): - Simplify condition to only test Is_Box_Init_By_Default (previous - condition was overkill, as well as incorrect in some cases). - * sem_elab.adb (Active_Scenarios.Output_Call): For - Default_Initial_Condition, suppress call to - Output_Verification_Call when the subprogram is a partial DIC - procedure. - -2020-12-14 Eric Botcazou - - * exp_attr.adb (Expand_N_Attribute_Reference) : - Adjust commentary and set the Rounded_Result flag on the type - conversion node when the node is needed. - * exp_ch4.adb (Expand_N_Type_Conversion): Minor tweak. - (Fixup_Universal_Fixed_Operation): Look through the type conversion - only when it is to Universal_Real. - * exp_fixd.adb: Remove with and use clauses for Snames. - (Build_Divide): Remove redundant test. - (Expand_Convert_Float_To_Fixed): Use Rounded_Result flag on the - node to set the truncation parameter. - -2020-12-14 Piotr Trojanek - - * sem_prag.adb (Analyze_Refinement_Clause): Simplify recently - added code for preventing cascaded errors. - -2020-12-14 Bob Duff - - * exp_ch6.adb (Is_Build_In_Place_Result_Type): Further narrow - the conditions under which we enable build-in-place for - controlled types. - -2020-12-14 Yannick Moy - - * sem_warn.adb (Output_Non_Modified_In_Out_Warnings): Use right - warning control character 'k' in both comment and call to - Errout_Msg_N. - -2020-12-14 Yannick Moy - - * sem_prag.adb (Analyze_Refined_State_In_Decl_Part): Refine the - error message for missing Part_Of on constituent. Avoid - cascading error. - -2020-12-14 Piotr Trojanek - - * sem_prag.adb (Analyze_Depends_In_Decl_Part): Replace early - returns with goto Leave. - (Collect_Subprogram_Inputs_Outputs): Fix style in comment. - -2020-12-14 Eric Botcazou - - * libgnat/s-fatgen.ads (Valid): Add again pragma Inline. - * libgnat/s-fatgen.adb (Valid): Improve commentary, tidy up left - and right, and remove superfluous trick for denormalized numbers. - -2020-12-14 Piotr Trojanek - - * sem_prag.adb (Find_Role): Constant object of - access-to-constant and access-to-subprogram types are not - writable. - (Collect_Subprogram_Inputs_Outputs): In-parameters of - access-to-variable type can act as outputs of the Depends - contracts. - -2020-12-14 Piotr Trojanek - - * sa_messages.ads: Reference Subprogram_Variant in the comment - for Assertion_Check. - * sem_prag.adb (Analyze_Pragma): Add Subprogram_Variant as an - ID_ASSERTION_KIND; move Default_Initial_Condition as an - RM_ASSERTION_KIND. - -2020-12-14 Yannick Moy - - * inline.adb (Cannot_Inline): Add No_Info parameter to disable - info message. - * inline.ads (Cannot_Inline): When No_Info is set to True, do - not issue info message in GNATprove mode, but still mark the - subprogram as not always inlined. - * sem_res.adb (Resolve_Call): Always call Cannot_Inline inside - an assertion expression. - -2020-12-14 Eric Botcazou - - * libgnat/s-imguti.ads (Set_Decimal_Digits): Adjust documentation. - -2020-12-10 Ed Schonberg - - PR ada/98230 - * exp_attr.adb (Expand_N_Attribute_Reference, case Mod): Use base - type of argument to obtain static bound and required size. - -2020-12-07 Eric Botcazou - - * gcc-interface/Make-lang.in: Remove ^L characters. - * gcc-interface/decl.c (create_concat_name): Add cast. - -2020-12-07 Eric Botcazou - - * gcc-interface/trans.c (maybe_make_gnu_thunk): Return false if the - target is local and thunk and target do not have the same context. - -2020-12-07 Eric Botcazou - - * gcc-interface/trans.c (lvalue_for_aggregate_p): Also return true - for return statements. - * gcc-interface/utils.c (gnat_write_global_declarations): Use the - maximum index for the dummy object to avoid a name collision. - -2020-12-07 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_entity) : Put - back the "else" unduly removed. - -2020-12-07 Eric Botcazou - - * gcc-interface/trans.c (Call_to_gnu): Also create a temporary for - the return value if the LHS is a bit-field and the return type is - a type padding a self-referential type. - (gnat_to_gnu): Do not remove the padding on the result if it is too - small with regard to the natural padding size. - -2020-12-07 Eric Botcazou - - * gcc-interface/utils.c (convert) : Call fold_convert - in the cases where convert_to_integer is not called. - : Call fold_convert instead of convert_to_integer. - -2020-12-07 Matthias Klose - - PR ada/97504 - * Makefile.rtl (LIBGNAT_TARGET_PAIRS) : Use wraplf - version of Aux_Long_Long_Float. - -2020-11-30 Pierre-Marie de Rodat - - * libgnat/s-trasym.ads: Update the list of supported platforms. - -2020-11-30 Arnaud Charlet - - * gcc-interface/Makefile.in, gcc-interface/trans.c: Remove ^L - characters. - -2020-11-30 Arnaud Charlet - - * gcc-interface/Makefile.in (GNATLIBFLAGS): Enable checks by - default. - * libgnat/s-bitfie.ads: Suppress alignment checks. - * libgnat/s-bituti.adb: Minor reformatting. - * libgnat/s-secsta.adb (SS_Allocate): Support Size = 0. - -2020-11-30 Arnaud Charlet - - * exp_ch3.adb (Replace_Discr_Ref): Removed, no longer needed. - -2020-11-30 Piotr Trojanek - - * sem_ch5.adb (Process_Statements): Replace low-level membership - test with a high-level wrapper. - -2020-11-30 Piotr Trojanek - - * sem_ch5.adb (Set_Assignment_Type): Combine calls to Ekind - using membership test. - (Should_Transform_BIP_Assignment): Replace assignment to a - "Result" variable with simple return statements; avoid repeated - calls to Unqual_Conv by declaring a local constant. - -2020-11-30 Piotr Trojanek - - * lib-xref.adb (Generate_Reference): Fix reference to - Analyze_Assignment. - * sem_ch5.adb (Diagnose_Non_Variable_Lhs): Reuse existing - utility function. - -2020-11-30 Eric Botcazou - - * contracts.adb (Check_Type_Or_Object_External_Properties): Make - sure to exclude all return objects from the SPARK legality rule - on effectively volatile variables. - * exp_ch6.adb (Expand_N_Extended_Return_Statement): Use the fast - track only when the declaration of the return object can be - dropped. - -2020-11-30 Gary Dismukes - - * einfo.ads (Is_Partial_DIC_Procedure): New function. - (Partial_DIC_Procedure): New procedure. - * einfo.adb (Is_Partial_DIC_Procedure): New function to return - whether a subprogram is a partial Default_Initial_Condition - procedure by checking the name (to avoid adding a new field). - (DIC_Procedure): Add a test that excludes partial DIC procedures - from being returned. - (Partial_DIC_Procedure): New procedure to return the partial DIC - procedure of a type, if it has one (otherwise returns Empty). - (Set_DIC_Procedure): Remove check for duplicate DIC procedures. - * exp_aggr.adb (Gen_Assign): Generate a call to the type's DIC - procedure in the case where an array component is default - initialized (due to an association with a box). - (Build_Record_Aggr_Code): For an extension aggregate, generate a - call to the ancestor type's DIC procedure (if any) when the - ancestor part is a subtype mark. For a record component - association that was specified with a box (tested for by - checking the new flag Was_Default_Init_Box_Association), - generate a call to the component type's DIC procedure (if it has - one). - * exp_ch4.adb (Expand_N_Allocator): When the allocated object is - default initialized and the designated type has a DIC aspect, - generate a call to the DIC procedure. - * exp_util.ads (Build_DIC_Call): Change the formal Obj_Id to - name Obj_Name, and change its type from Entity_Id to Node_Id - (and update comment). - (Build_DIC_Procedure_Body): Add formal Partial_DIC, remove - formal For_Freeze, and update comment accordingly. - (Build_DIC_Procedure_Declaration): Add formal Partial_DIC and - update comment. - * exp_util.adb - (Build_DIC_Call): Revised to use its Obj_Name (formerly Obj_Id) - formal directly rather than calling New_Occurrence_Of on it, to - allow arbitrary names to be passed rather than being limited to - Entity_Ids. - (Build_DIC_Procedure_Body): Call Add_Parent_DICs to generate - checks for DICs associated with any parent types, implementing - the required "additive" semantics for DICs. When building a DIC - procedure body for a partial view (when Partial_DIC is True), - call Add_Own_DIC when the type has its own DIC. In the case of - "full" DIC procedures, a call is generated to any partial DIC - procedure of the type (unless the procedure has a null body), - along with checks for any DICs inherited by the full view. - (Build_DIC_Procedure_Declaration): Add handling for partial DIC - procedures. For the suffix of a regular DIC procedure's name, - use "DIC" (instead of "Default_Initial_Condition"), and for the - suffix of a partial DIC procedure's name, use "Partial_DIC". - (Add_DIC_Check): Add the DIC pragma to the list of seen pragmas - (Pragmas_Seen). - (Add_Inherited_Tagged_DIC): Remove the formals Par_Typ, - Deriv_Typ, and Obj_Id, and add formal Expr, which denotes DIC's - expression. Remove the call to Replace_References (which is now - done in Add_Inherited_DICs). - (Add_Inherited_DICs): New procedure to locate a DIC pragma - associated with a parent type, replace its references - appropriately (such as any current instance references), and add - a check for the DIC. - (Add_Own_DIC): Add an Obj_Id formal to allow caller to pass the - _init formal of the generated DIC procedure. - (Add_Parent_DICs): New procedure to traverse a type's parents, - looking for DICs associated with those and calling - Add_Inherited_DICs to apply the appropriate DIC checks. - (Is_Verifiable_DIC_Pragma): Treat pragmas that have an Empty - first argument the same as a pragma without any arguments - (returning False for that case). - * exp_ch3.adb (Init_One_Dimension): Generate calls to the - component's DIC procedure when needed. - (Possible_DIC_Call): New function nested in Init_One_Dimension - to build a call to the array component type's DIC-checking - function when appropriate. - (Build_Array_Init_Proc): The presence of a DIC on the component - type is an additional condition for generating an init proc for - an array type. - (Build_Init_Statements): When the record component's type has a - DIC, and the component declaration does not have an - initialization expression, generate a call to the component - type's DIC procedure. - (Expand_N_Object_Declaration): Modify the call to Build_DIC_Call - to pass a new occurrence of the object's defining id rather than - the id itself. - (Freeze_Type): Only build a type's DIC procedure (if it has one) - for types that are not interfaces. - * exp_spark.adb (Expand_SPARK_N_Freeze_Type): Remove From_Freeze - actual and add a ??? comment. - (Expand_SPARK_N_Object_Declaration): Modify call to - Build_DIC_Call to pass a new occurrence of the object id rather - than the object id itself. - * sem_aggr.adb (Resolve_Record_Aggregate): Declare local flag - Is_Box_Init_By_Default and set it in cases where the component - association has a box and the component is being initialized by - default (as opposed to initialized by an initialization - expression associated with the component's declaration). - (Add_Association): If the association has a box for a component - initialized by default, the flag - Was_Default_Init_Box_Association is set on the new component - association (for later testing during expansion). - (Get_Value): Reset Is_Box_Init_By_Default to False. - * sem_ch3.adb (Build_Assertion_Bodies_For_Type): Rearrange code - to build DIC procedure bodies for a (noninterface) type that - Has_Own_DIC (for partial type views) or Has_DIC (for full type - views) as appropriate. - * sem_ch13.adb (Analyze_Aspect_Specifications, - Aspect_Default_Initial_Condition): Add an extra argument to the - DIC pragma to denote the type associated with the pragma (for - use in Build_DIC_Procedure_Body). - * sem_prag.adb (Analyze_Pragma): Allow two arguments for pragma - Default_Initial_Condition. If not already present, add an extra - argument denoting the type that the pragma is associated with. - * sem_util.adb (Propagate_DIC_Attributes): Retrieve any partial - DIC procedure associated with the type and add it to the type's - list of subprograms (Subprograms_For_Type). - * sinfo.ads (Was_Default_Init_Box_Association): New flag on - N_Component_Association nodes. Add subprograms to get and set - flag, as well as updating the documentation. - * sinfo.adb (Was_Default_Init_Box_Association): New function to - retrieve the corresponding flag (Flag14). - (Set_Was_Default_Init_Box_Association): New procedure to set the - corresponding flag (Flag14). - -2020-11-30 Arnaud Charlet - - * par-ch6.adb (P_Formal_Part): Remove extra call to Scan. - * par-tchk.adb: Minor reformatting. - -2020-11-30 Eric Botcazou - - * libgnat/a-nbnbre.adb (Float_Conversions): Instantiate Conv - package only once in the body. - (Fixed_Conversions.Float_Aux): New instance. - (Fixed_Conversions.Conv_I): Likewise. - (Fixed_Conversions.Conv_U): Likewise. - (Fixed_Conversions.LLLI): New subtype. - (Fixed_Conversions.LLLU): Likewise. - (Fixed_Conversions.Too_Large): New constant. - (Fixed_Conversions.To_Big_Real): Reimplement. - (Fixed_Conversions.From_Big_Real): Likewise. - -2020-11-30 Bob Duff - - * exp_ch3.adb (Expand_N_Object_Declaration): Avoid crash in case - of conditional expression. - -2020-11-30 Eric Botcazou - - * doc/gnat_rm/implementation_defined_attributes.rst (Pool_Address): - Fix pasto. - (Small_Denominator): New entry. - (Small_Numerator): Likewise. - * doc/gnat_rm/implementation_defined_characteristics.rst (3.5.9): - Relax conditions on 128-bit smalls and integer-only implementation. - * gnat_rm.texi: Regenerate. - * exp_attr.adb (Expand_N_Attribute_Reference) : - Relax conditions on integer implementation for ordinary fixed-point - types and pass a third parameter to the routine. - : Raise Program_Error. - : Likewise. - * exp_fixd.adb (Expand_Convert_Fixed_To_Fixed): Use a scaled divide - if the numerator and denominator of the small ratio are sufficiently - small integers. - (Expand_Convert_Fixed_To_Integer): Use a scaled divide if numerator - and denominator of the small value are sufficiently small integers. - (Expand_Convert_Integer_To_Fixed): Likewise. - * exp_imgv.adb (Expand_Image_Attribute): Relax the conditions on the - integer implementation for ordinary fixed-point types. - (Expand_Value_Attribute): Likewise. - * freeze.adb (Freeze_Fixed_Point_Type): Relax conditions on 128-bit - smalls. - * sem_attr.adb (Analyze_Attribute) : - Check no arguments, fixed-point and set type to Universal_Integer. - : Likewise. - (Eval_Attribute) : Fold statically. - : Likewise. - * snames.ads-tmpl (Name_Small_Denominator): New attribute name. - (Name_Small_Numerator): Likewise. - (Attribute_Id): Add Attribute_Small_{Denominator,Numerator}. - * libgnat/a-tifiio.adb (Exact): Delete. - (Need_64): Likewise. - (OK_Get_32): New boolean constant. - (OK_Put_32): Likewise. - (OK_Get_64): Likewise. - (OK_Put_64): Likewise. - (E): Adjust. - (Get procedures): Likewise. - (Put procedures): Likewise. - * libgnat/a-tifiio__128.adb (Exact): Delete. - (Need_64): Likewise. - (Need_128): Likewise. - (OK_Get_32): New boolean constant. - (OK_Put_32): Likewise. - (OK_Get_64): Likewise. - (OK_Put_64): Likewise. - (OK_Get_128): Likewise. - (OK_Put_128): Likewise. - (E): Adjust. - (Get procedures): Likewise. - (Put procedures): Likewise. - * libgnat/a-wtfiio.adb (Exact): Delete. - (Need_64): Likewise. - (OK_Get_32): New boolean constant. - (OK_Put_32): Likewise. - (OK_Get_64): Likewise. - (OK_Put_64): Likewise. - (E): Adjust. - (Get procedures): Likewise. - (Put procedures): Likewise. - * libgnat/a-wtfiio__128.adb (Exact): Delete. - (Need_64): Likewise. - (Need_128): Likewise. - (OK_Get_32): New boolean constant. - (OK_Put_32): Likewise. - (OK_Get_64): Likewise. - (OK_Put_64): Likewise. - (OK_Get_128): Likewise. - (OK_Put_128): Likewise. - (E): Adjust. - (Get procedures): Likewise. - (Put procedures): Likewise. - * libgnat/a-ztfiio.adb (Exact): Delete. - (Need_64): Likewise. - (OK_Get_32): New boolean constant. - (OK_Put_32): Likewise. - (OK_Get_64): Likewise. - (OK_Put_64): Likewise. - (E): Adjust. - (Get procedures): Likewise. - (Put procedures): Likewise. - * libgnat/a-ztfiio__128.adb (Exact): Delete. - (Need_64): Likewise. - (Need_128): Likewise. - (OK_Get_32): New boolean constant. - (OK_Put_32): Likewise. - (OK_Get_64): Likewise. - (OK_Put_64): Likewise. - (OK_Get_128): Likewise. - (OK_Put_128): Likewise. - (E): Adjust. - (Get procedures): Likewise. - (Put procedures): Likewise. - * libgnat/s-fore_f.ads (Fore_Fixed): Adjust signature. - * libgnat/s-fore_f.adb (Fore_Fixed): Reimplement. - * libgnat/s-fofi32.ads (Fore_Fixed32): Adjust signature. - * libgnat/s-fofi64.ads (Fore_Fixed64): Likewise. - * libgnat/s-fofi128.ads (Fore_Fixed128): Likewise. - * libgnat/s-imagef.ads: Adjust description. - * libgnat/s-imagef.adb (Maxdigs): Move around. - (Set_Image_Integer): Remove assertion. - * libgnat/s-valuef.ads: Adjust description. - * libgnat/s-valuef.adb (Integer_To_Fixed): Minor tweak. - -2020-11-30 Ghjuvan Lacambre - - * doc/gnat_ugn/building_executable_programs_with_gnat.rst: - Describe -gnateb switch. - * doc/gnat_ugn/the_gnat_compilation_model.rst: Mention -gnateb - switch in configuration pragma files section. - * gnat_ugn.texi: Regenerate. - * lib-writ.adb (Write_ALI): Strip directories from configuration - files path if needed. - * opt.ads: Declare Config_Files_Store_Basename option. - * par.adb (Par): Save configuration file checksum. - * switch-c.adb (Scan_Front_End_Switches): Set - Config_Files_Store_Basename true if -gnateb is present. - -2020-11-30 Arnaud Charlet - - * exp_dist.adb (RCI_Cache): Initialize. - -2020-11-30 Arnaud Charlet - - * terminals.c (allocate_pty_desc): Copy one less byte since the - last byte will always be set to 0. - -2020-11-30 Eric Botcazou - - * doc/gnat_ugn/building_executable_programs_with_gnat.rst (-xdr): - Document that XDR is not supported for 128-bit integer types. - * gnat_ugn.texi: Regenerate. - * exp_strm.adb (Build_Elementary_Input_Call): Deal with types - larger than Long_Long_Integer. - (Build_Elementary_Write_Call): Likewise. - * rtsfind.ads (RE_Id): Add RE_I_LLL{I,U] and RE_W_LLL{I,U}. - (RE_Unit_Table): Add entries for them. - * libgnat/s-stratt.ads (I_LLLI): New inline function. - (I_LLLU): Likewise. - (W_LLLI): New inline procedure. - (W_LLLU): Likewise. - * libgnat/s-stratt.adb (S_LLLI): New subtype of SEA. - (S_LLLU): Likewise. - (From_LLLI): New instance of Unchecked_Conversion. - (From_LLLU): Likewise. - (To_LLLI): Likewise. - (To_LLLU): Likewise. - (I_LLLI): Implement. - (I_LLLU): Likewise. - (W_LLLI): Likewise. - (W_LLLU): Likewise. - -2020-11-30 Ed Schonberg - - * exp_ch5.adb (Expand_Iterator_Loop_Over_Container): Check the - signature of the private operation Get_Element_Access to prevent - accidental use of a user-defined homonym subprogram. - -2020-11-30 Yannick Moy - - * spark_xrefs.ads: Add comment for Heap that it may remain - Empty. - -2020-11-30 Pascal Obry - - * libgnat/g-sercom__linux.adb (Set): Fix control flags of the - serial port setting. - -2020-11-30 Pascal Obry - - * libgnat/g-sercom__linux.adb: Minor style fixes. - -2020-11-30 Piotr Trojanek - - * exp_util.adb (Get_Current_Value_Condition): Don't use current - value tracking in GNATprove mode. - * sem_res.adb (Resolve_Comparison_Op): Remove incomplete - special-casing for folding in GNATprove mode. - -2020-11-30 Bob Duff - - * errout.adb (Error_Msg_NEL): Do not call Set_Posted if errors - are being ignored. - (Error_Msg): Change Errors_Must_Be_Ignored to use the getter. - * sem_ch8.adb (Find_Direct_Name): Do not skip all the error - checks when ignoring errors, but instead do not add an entry to - the Urefs table if errors are being ignored. - * exp_ch5.adb: Minor comment fix. - -2020-11-30 Yannick Moy - - * sem_aggr.adb (Resolve_Array_Aggregate): Improve error message. - -2020-11-30 Eric Botcazou - - * libgnat/s-valuef.adb (Integer_To_Fixed): Do not modify numerator - or denominator in order to reduce the exponent. - -2020-11-30 Arnaud Charlet - - * ali-util.adb (Get_File_Checksum): Remove dead code. - * exp_ch4.adb (Expand_Boolean_Operator, Expand_N_Op_Not, - Make_Boolean_Array_Op): Take Transform_Function_Array into - account. - * exp_ch6.adb (Expand_Call_Helper): Update comment. Code - cleanup. - * exp_util.adb (Build_Procedure_Form): Use new predefined name - Name_UP_RESULT. - * snames.ads-tmpl (Name_UP_RESULT): New predefined name. Code - cleanup: remove unused names from the project parser, moved to - gprbuild sources. - * xsnamest.adb: Add support for uppercase names. - -2020-11-30 Ed Schonberg - - * sem_util.adb (Enter_Name): When an inherited operation for a - local derived type is hidden by an explicit declaration of a - non-overloadable entity in the same scope, make the inherited - operation non-visible to prevent its accidental use elsewhere. - -2020-11-29 John David Anglin - - PR ada/97504 - * Makefile.rtl (LIBGNAT_TARGET_PAIRS) : Use wraplf - version of Aux_Long_Long_Float. - -2020-11-27 Eric Botcazou - - * libgnat/s-valuef.adb (Integer_To_Fixed): Take into account the - extra digit when scaling up the input. - * libgnat/s-valuer.adb (Scan_Decimal_Digits): Restrict previous - change to fixed-point types. - (Scan_Integral_Digits): Likewise. - -2020-11-27 Piotr Trojanek - - * sem_res.adb (Parent_Is_Boolean): Simplify. - (Resolve_Op_Not): Reduce scope of a local variable. - -2020-11-27 Piotr Trojanek - - * cstand.adb: Simplify with Append_New_Elmt. - * sem_util.adb: Likewise. - -2020-11-27 Arnaud Charlet - - * sem_eval.adb (Fold_Shift): Fix evaluation of Shift_Right on - negative values. - -2020-11-27 Arnaud Charlet - - * exp_ch6.adb (Expand_Call): Properly split - Transform_Function_Array and Modify_Tree_For_C. - -2020-11-27 Piotr Trojanek - - * sem_eval.ads (Compile_Time_Compare): Restore parameter Diff to - be of an access type. - * sem_eval.adb (Compile_Time_Compare): Adapt body and callers. - * sem_attr.adb (Eval_Attribute): Adapt callers. - -2020-11-27 Eric Botcazou - - * libgnat/s-valuer.adb (Scan_Decimal_Digits): Round Extra. - (Scan_Integral_Digits): Likewise. - -2020-11-27 Yannick Moy - - * checks.adb (Selected_Range_Checks): Adapt the condition for - applying range checks so that it is not done inside generics. - -2020-11-27 Eric Botcazou - - * exp_fixd.adb (Build_Double_Divide): Only use a 128-bit - division if one of the operands is larger than 64 bits. - (Build_Double_Divide_Code): Likewise. - (Build_Scaled_Divide): Likewise. - (Build_Scaled_Divide_Code): Likewise. - -2020-11-27 Arnaud Charlet - - * libgnat/s-os_lib.adb (To_GM_Time): Return valid and consistent - values for Invalid_Time. - -2020-11-27 Steve Baird - - * snames.ads-tmpl: Define new Name_Stable_Properties Name_Id - value. - * aspects.ads, aspects.adb: Add new Aspect_Stable_Properties - enumeration literal to Aspect_Id type. Add Class_Present - parameter to Find_Aspect and related - functions (Find_Value_Of_Aspect and Has_Aspect). - * sem_util.adb (Has_Nontrivial_Precondition): Fix - previously-latent bug uncovered by adding Class_Present - parameter to Aspect.Find_Aspect. The code was wrong before, but - with the change the bug was more likely to make a user-visible - difference. - * sem_ch6.adb (Analyze_Operator_Symbol): If a string literal - like "abs" or "-" occurs in a Stable_Properties aspect - specification, then it is to be interpreted as an operator - symbol and not as a string literal. - * sem_ch13.ads: Export new Parse_Aspect_Stable_Properties - function, analogous to the existing Parse_Aspect_Aggregate - exported procedure. - * sem_ch13.adb: (Parse_Aspect_Stable_Properties): New function; - analogous to existing Parse_Aspect_Aggregate. - (Validate_Aspect_Stable_Properties): New procedure; analogous to - existing Validate_Aspect_Aggregate. Called from the same case - statement (casing on an Aspect_Id value) where - Validate_Aspect_Aggregate is called. - (Resolve_Aspect_Stable_Properties): New procedure; analogous to - existing Resolve_Aspect_Aggregate. Called from the same two case - statements (each casing on an Aspect_Id value) where - Resolve_Aspect_Aggregate is called. - (Analyze_Aspect_Specifications): Set Has_Delayed_Aspects and - Is_Delayed_Aspect attributes for Aspect_Stable_Properties aspect - specifications. - (Check_Aspect_At_End_Of_Declarations): The syntactic - "expression" for a Stable_Properties aspect specification is not - semantically an expression; it doesn't have a type. Thus, force - T to be empty in this case. - * contracts.adb (Expand_Subprogram_Contract): Add call to new - local procedure, - Expand_Subprogram_Contract.Add_Stable_Property_Contracts, which - generates Postcondition pragmas corresponding to stable property - checks. - -2020-11-27 Piotr Trojanek - - * doc/gnat_rm/implementation_defined_pragmas.rst: - (Assertion_Policy): Move "Default_Initial_Condition" from - ID_ASSERTION_KIND to RM_ASSERTION_KIND section. - * gnat_rm.texi: Regenerate. - -2020-11-27 Piotr Trojanek - - * doc/gnat_rm/implementation_defined_pragmas.rst - (Assertion_Policy): Add "Default_Initial_Condition", - "Initial_Condition" and "Subprogram_Variant". - * gnat_rm.texi: Regenerate. - -2020-11-27 Piotr Trojanek - - * sem_prag.adb (Is_Valid_Assertion_Kind): Return False on - "Assertion_Policy" - -2020-11-27 Eric Botcazou - - * make.adb (GNAT_Flag): Change to "-gnatg". - (Compile): Adjust comments accordingly. - -2020-11-27 Piotr Trojanek - - * exp_ch4.adb (Rewrite_Comparison): Add assertion to confirm - that evaluation folds comparisons with static operands; when - folding comparison with non-static operands, the resulting - literal is non-static. - * sem_eval.adb (Eval_Relational_Op): Refactor nested IF - statement for the special case in the THEN branch; move code for - the "general case" out of the ELSE branch. - * sem_res.adb (Resolve_Comparison_Op): Only apply a dubious - special-case for GNATprove in the GNATprove_Mode. - -2020-11-27 Piotr Trojanek - - * sem_eval.ads (Compile_Time_Compare): Change parameter Diff - from access to mode out. - * sem_eval.adb (Compile_Time_Compare): Adapt body and callers. - * sem_attr.adb (Eval_Attribute): Adapt callers. - -2020-11-27 Eric Botcazou - - * exp_ch4.adb (Expand_N_Op_Multiply): Move down block calling - Narrow_Large_Operation if the type is Universal_Integer. - -2020-11-27 Eric Botcazou - - * libgnat/a-nbnbre.adb: Remove clauses for System.Img_Real and - add them for System.Unsigned_Types. - (Float_Conversions.To_Big_Real): Reimplement. - (Float_Conversions.From_Big_Real): Likewise. - -2020-11-27 Eric Botcazou - - * checks.ads (Determine_Range_To_Discrete): New procedure. - * checks.adb (Apply_Scalar_Range_Check): Call it to determine - a range for the expression when the target type is discrete. - And also apply the tests for discrete types to fixed-point - types when they are treated as integers. - (Apply_Type_Conversion_Checks): Apply checks to conversions - involving fixed-point types when they are treated as integers. - (Determine_Range) : Factor out code into... - (Determine_Range_To_Discrete): ...this new procedure and add - support for fixed-point types when they are treated as integers. - * einfo.ads (Type_High_Bound): Remove obsolete sentence. - (Type_Low_Bound): Likewise. - * exp_ch4.adb (Discrete_Range_Check): Remove obsolete code. - (Real_Range_Check): Likewise. - (Expand_N_Type_Conversion): In case of a no-op conversion, clear - the Do_Range_Check flag on the operand before substituting it. - Remove calls to Real_Range_Check and Discrete_Range_Check that - are not guarded by the Do_Range_Check flag, and an assertion. - * sem_res.adb (Resolve_Type_Conversion): Always apply range - checks in GNATprove mode; in normal mode, use the updated type - of the operand in the test against Universal_Fixed. Remove - obsolete code setting the Do_Range_Check flag at the end. - -2020-11-27 Piotr Trojanek - - * sem_prag.adb (Analyze_Pragma): Change "Ref Manual" to RM; - replace uses of an unnecessary "Ok" variable with RETURN - statements; replace nested IF with ELSIF. - -2020-11-27 Arnaud Charlet - - * libgnarl/s-tasren.adb (Local_Complete_Rendezvous): Always call - Defer_Abort. - * libgnat/a-except.adb: Abort does not need to be deferred. - * libgnarl/s-tpobop.adb (Exceptional_Complete_Entry_Body): Abort - never needs to be undeferred here. - * exp_ch11.adb (Expand_Exception_Handlers): Remove difference - between ZCX and SJLJ. - * exp_ch9.adb (Expand_N_Asynchronous_Select): Remove different - handling for sjlj. - * exp_sel.ads, exp_sel.adb (Build_Abort_Block, - Build_Abort_Block_Handler): Ditto. - -2020-11-27 Ghjuvan Lacambre - - * sem_prag.adb (Analyze_Pragma): declare new Check_No_Return - function and call it. - -2020-11-27 Arnaud Charlet - - * sem_ch12.adb (Instantiate_Object): Consistently use - New_Copy_Tree instead of New_Copy. - -2020-11-27 Eric Botcazou - - * exp_fixd.adb (Build_Conversion): Adjust head comment. - (Build_Divide): Likewise. - (Build_Double_Divide): Likewise. - (Build_Multiply): Likewise. - (Build_Rem): Likewise. - (Build_Scaled_Divide): Likewise. - -2020-11-27 Arnaud Charlet - - * libgnat/s-genbig.ads, libgnat/s-genbig.adb (To_Bignum): New - variant taking an Unsigned_128. - * libgnat/a-nbnbin.adb (To_Big_Integer): Add support for 128 - bits signed and unsigned types. - -2020-11-27 Eric Botcazou - - * libgnat/s-imagef.adb (Set_Image_Fixed): Pass the full value - of the quotient to Set_Image_Integer during the first round and - adjust the handling of the minus sign. - -2020-11-27 Arnaud Charlet - - * libgnat/a-nbnbre.adb ("=", "<"): Fix. - -2020-11-27 Eric Botcazou - - * libgnat/s-valuer.adb (Scan_Raw_Real): Move pragma Annotate around - and adjust its parameters. - -2020-11-27 Eric Botcazou - - * exp_fixd.adb (Build_Double_Divide): Use the RM size of types and - a more precise estimate for the size of the denominator. - (Build_Double_Divide_Code): Likewise. - (Build_Multiply): Use a more precise estimate for the size of the - result. - (Build_Scaled_Divide): Use the RM size of types and a more precise - estimate for the size of the numerator. - (Build_Scaled_Divide_Code): Likewise. - -2020-11-26 Rainer Orth - - * Makefile.rtl (THREADSLIB): Remove. - (MISCLIB): Remove -lposix4. - <*86-*-solaris2*>: Likewise. - * libgnarl/s-osinte__solaris.ads (System.OS_Interface): Remove - -lposix4 -lthread. - -2020-11-26 Arnaud Charlet - - * libgnat/a-nbnbre.adb (To_Big_Real): Do not loose precision. - -2020-11-26 Arnaud Charlet - - * sem_ch8.adb (Analyze_Object_Renaming): Check for AI12-0401. - -2020-11-26 Eric Botcazou - - * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Likewise. - (GNATRTL_128BIT_OBJS): Likewise. - (GNATRTL_128BIT_PAIRS): Add new 128-bit variants. - * cstand.adb (Create_Standard): Create Standard_Integer_128. - * doc/gnat_rm/implementation_defined_characteristics.rst: Document - new limits on 64-bit platforms in entry for 3.5.9(10). - * gnat_rm.texi: Regenerate. - * exp_attr.adb: Add with and use clauses for Urealp. - (Expand_N_Attribute_Reference) : Call new routines - for decimal fixed-point types and common ordinary fixed-point types. - * exp_ch4.adb (Real_Range_Check): Extend conversion trick to all - ordinary fixed-point types and use Small_Integer_Type_For. - * exp_fixd.adb: Add with and use clauses for Ttypes. - (Build_Divide): Add special case for 32-bit values and deal with - 128-bit types. - (Build_Double_Divide): Deal with 128-bit types. - (Build_Double_Divide_Code): Likewise. Do not apply conversions - before calling Build_Multiply. - (Build_Multiply): Likewise. Add special case for 32-bit values. - (Build_Scaled_Divide): Deal with 128-bit types. - (Build_Scaled_Divide_Code): Likewise. Fix size computation. Do not - apply conversions before calling Build_Multiply. - (Do_Multiply_Fixed_Fixed): Minor tweak. - (Integer_Literal): Deal with 128-bit values. - * exp_imgv.adb (Has_Decimal_Small): Delete. - (Expand_Image_Attribute): Call new routines for common ordinary - fixed-point types. - (Expand_Value_Attribute): Likewise. - (Expand_Width_Attribute): Add new expansion for fixed-point types. - * freeze.adb (Freeze_Entity): Move error checks for ordinary - fixed-point types to... - (Freeze_Fixed_Point_Type): ...here. Deal with 128-bit types and - adjust limitations for 32-bnt and 64-bit types. - * rtsfind.ads (RTU_Id): Add entries for new System_Fore, System_Img, - and System_Val units and remove them for obsolete units. - (RE_Id): Add entries for Double_Divide128, Scaled_Divide128, the new - Fore, Image, Value routines and remove them for obsolete units. - (RE_Unit_Table): Likewise. - * sem_ch3.adb (Decimal_Fixed_Point_Type_Declaration): Deal with - 128-bit types. - * stand.ads (Standard_Entity_Type): Add Standard_Integer_128. - * uintp.ads (Uint_31): New deferred constant. - (Uint_Minus_18): Likewise. - (Uint_Minus_31): Likewise. - (Uint_Minus_76): Likewise. - (Uint_Minus_127): Likewise. - * urealp.ads (Ureal_2_31): New function. - (Ureal_2_63): Likewise. - (Ureal_2_127): Likewise. - (Ureal_2_M_127): Likewise. - (Ureal_2_10_18): Likewise. - (Ureal_M_2_10_18): Likewise. - (Ureal_9_10_36): Likewise. - (Ureal_M_9_10_36): Likewise. - (Ureal_10_76): Likewise. - (Ureal_M_10_76): Likewise. - (Ureal_10_36): Delete. - (Ureal_M_10_36): Likewise. - * urealp.adb (UR_2_10_18): New variable. - (UR_9_10_36): Likewise. - (UR_10_76): Likewise. - (UR_M_2_10_18): Likewise. - (UR_M_9_10_36): Likewise. - (UR_M_10_76): Likewise. - (UR_2_31): Likewise. - (UR_2_63): Likewise. - (UR_2_127): Likewise. - (UR_2_M_127): Likewise. - (UR_10_36): Delete. - (UR_M_10_36): Likewise. - (Initialize): Initialize them. - (UR_Write): Do not use awkward Ada literal style. - (Ureal_2_10_18): New function. - (Ureal_9_10_36): Likewise. - (Ureal_10_76): Likewise. - (Ureal_2_31): Likewise. - (Ureal_2_63): Likewise. - (Ureal_2_127): Likewise. - (Ureal_2_M_127): Likewise. - (Ureal_M_2_10_18): Likewise. - (Ureal_M_9_10_36): Likewise. - (Ureal_10_76): Likewise. - (Ureal_M_10_76): Likewise. - (Ureal_10_36): Delete. - (Ureal_M_10_36): Likewise. - * libgnat/a-decima__128.ads: New file. - * libgnat/a-tideau.ads, libgnat/a-tideau.adb: Reimplement as - generic unit. - * libgnat/a-tideio.adb: Reimplement. - * libgnat/a-tideio__128.adb: New file. - * libgnat/a-tifiau.ads, libgnat/a-tifiau.adb: New generic unit. - * libgnat/a-tifiio.adb: Move bulk of implementation to s-imagef - and reimplement. - * libgnat/a-tifiio__128.adb: New file. - * libgnat/a-tiflau.adb (Get): Minor consistency fix. - (Gets): Likewise. - * libgnat/a-wtdeau.ads, libgnat/a-wtdeau.adb: Reimplement as - generic unit. - * libgnat/a-wtdeio.adb: Reimplement. - * libgnat/a-wtdeio__128.adb: New file. - * libgnat/a-wtfiau.ads, libgnat/a-wtfiau.adb: New generic unit. - * libgnat/a-wtfiio.adb: Reimplement. - * libgnat/a-wtfiio__128.adb: New file. - * libgnat/a-ztdeau.ads, libgnat/a-ztdeau.adb: Reimplement as - generic unit. - * libgnat/a-ztdeio.adb: Reimplement. - * libgnat/a-ztdeio__128.adb: New file. - * libgnat/a-ztfiau.ads, libgnat/a-ztfiau.adb: New generic unit. - * libgnat/a-ztfiio.adb: Reimplement. - * libgnat/a-ztfiio__128.adb: New file. - * libgnat/g-rannum.adb (Random_Decimal_Fixed): Use a subtype of the - appropiate size for the instantiation. - (Random_Ordinary_Fixed): Likewise. - * libgnat/s-arit32.ads, libgnat/s-arit32.adb: New support unit. - * libgnat/s-fode128.ads: New instantiation. - * 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.ads, libgnat/s-fore_d.adb: New generic unit. - * libgnat/s-fore_f.ads, libgnat/s-fore_f.adb: Likewise. - * libgnat/s-fore.ads, libgnat/s-fore.adb: Rename into... - * libgnat/s-forrea.ads, libgnat/s-forrea.adb: ...this. - * libgnat/s-imaged.ads, libgnat/s-imaged.adb: New generic unit. - * libgnat/s-imagef.ads, libgnat/s-imagef.adb: Likewise, taken - from a-tifiio.adb. - * libgnat/s-imde128.ads: New instantiation. - * libgnat/s-imde32.ads: Likewise. - * libgnat/s-imde64.ads: Likewise. - * libgnat/s-imfi128.ads: Likewise. - * libgnat/s-imfi32.ads: Likewise. - * libgnat/s-imfi64.ads: Likewise. - * libgnat/s-imgdec.ads, libgnat/s-imgdec.adb: Delete. - * libgnat/s-imglld.ads, libgnat/s-imglld.adb: Likewise. - * libgnat/s-imgrea.adb (Set_Image_Real): Replace Sign local variable - with Minus local variable for the sake of consistency. - * libgnat/s-imguti.ads, libgnat/s-imguti.adb: New support unit. - * libgnat/s-vade128.ads: New instantiation. - * 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-valdec.ads, libgnat/s-valdec.adb: Delete. - * libgnat/s-vallld.ads, libgnat/s-vallld.adb: Likewise. - * libgnat/s-valued.ads, libgnat/s-valued.adb: New generic unit. - * libgnat/s-valuef.ads, libgnat/s-valuef.adb: Likewise. - * libgnat/s-valuei.adb: Minor rewording. - * libgnat/s-valrea.adb: Move bulk of implementation to... - * libgnat/s-valuer.ads, libgnat/s-valuer.adb: ...here. New - generic unit. - * libgnat/system-aix.ads (Max_Mantissa): Adjust. - * libgnat/system-darwin-arm.ads (Max_Mantissa): Likewise. - * libgnat/system-darwin-ppc.ads (Max_Mantissa): Likewise. - * libgnat/system-darwin-x86.ads (Max_Mantissa): Likewise. - * libgnat/system-djgpp.ads (Max_Mantissa): Likewise. - * libgnat/system-dragonfly-x86_64.ads (Max_Mantissa): Likewise. - * libgnat/system-freebsd.ads (Max_Mantissa): Likewise. - * libgnat/system-hpux-ia64.ads (Max_Mantissa): Likewise. - * libgnat/system-hpux.ads (Max_Mantissa): Likewise. - * libgnat/system-linux-alpha.ads (Max_Mantissa): Likewise. - * libgnat/system-linux-arm.ads (Max_Mantissa): Likewise. - * libgnat/system-linux-hppa.ads (Max_Mantissa): Likewise. - * libgnat/system-linux-ia64.ads (Max_Mantissa): Likewise. - * libgnat/system-linux-m68k.ads (Max_Mantissa): Likewise. - * libgnat/system-linux-mips.ads (Max_Mantissa): Likewise. - * libgnat/system-linux-ppc.ads (Max_Mantissa): Likewise. - * libgnat/system-linux-riscv.ads (Max_Mantissa): Likewise. - * libgnat/system-linux-s390.ads (Max_Mantissa): Likewise. - * libgnat/system-linux-sh4.ads (Max_Mantissa): Likewise. - * libgnat/system-linux-sparc.ads (Max_Mantissa): Likewise. - * libgnat/system-linux-x86.ads (Max_Mantissa): Likewise. - * libgnat/system-lynxos178-ppc.ads (Max_Mantissa): Likewise. - * libgnat/system-lynxos178-x86.ads (Max_Mantissa): Likewise. - * libgnat/system-mingw.ads (Max_Mantissa): Likewise. - * libgnat/system-qnx-aarch64.ads (Max_Mantissa): Likewise. - * libgnat/system-rtems.ads (Max_Mantissa): Likewise. - * libgnat/system-solaris-sparc.ads (Max_Mantissa): Likewise. - * libgnat/system-solaris-x86.ads (Max_Mantissa): Likewise. - * libgnat/system-vxworks-arm-rtp-smp.ads (Max_Mantissa): Likewise. - * libgnat/system-vxworks-arm-rtp.ads (Max_Mantissa): Likewise. - * libgnat/system-vxworks-arm.ads (Max_Mantissa): Likewise. - * libgnat/system-vxworks-e500-kernel.ads (Max_Mantissa): Likewise. - * libgnat/system-vxworks-e500-rtp-smp.ads (Max_Mantissa): Likewise. - * libgnat/system-vxworks-e500-rtp.ads (Max_Mantissa): Likewise. - * libgnat/system-vxworks-e500-vthread.ads (Max_Mantissa): Likewise. - * libgnat/system-vxworks-ppc-kernel.ads (Max_Mantissa): Likewise. - * libgnat/system-vxworks-ppc-ravenscar.ads (Max_Mantissa): Likewise. - * libgnat/system-vxworks-ppc-rtp-smp.ads (Max_Mantissa): Likewise. - * libgnat/system-vxworks-ppc-rtp.ads (Max_Mantissa): Likewise. - * libgnat/system-vxworks-ppc-vthread.ads (Max_Mantissa): Likewise. - * libgnat/system-vxworks-ppc.ads (Max_Mantissa): Likewise. - * libgnat/system-vxworks-x86-kernel.ads (Max_Mantissa): Likewise. - * libgnat/system-vxworks-x86-rtp-smp.ads (Max_Mantissa): Likewise. - * libgnat/system-vxworks-x86-rtp.ads (Max_Mantissa): Likewise. - * libgnat/system-vxworks-x86-vthread.ads (Max_Mantissa): Likewise. - * libgnat/system-vxworks-x86.ads (Max_Mantissa): Likewise. - * libgnat/system-vxworks7-aarch64-rtp-smp.ads (Max_Mantissa): - Likewise. - * libgnat/system-vxworks7-aarch64.ads (Max_Mantissa): Likewise. - * libgnat/system-vxworks7-arm-rtp-smp.ads (Max_Mantissa): Likewise. - * libgnat/system-vxworks7-arm.ads (Max_Mantissa): Likewise. - * libgnat/system-vxworks7-e500-kernel.ads (Max_Mantissa): Likewise. - * libgnat/system-vxworks7-e500-rtp-smp.ads (Max_Mantissa): Likewise. - * libgnat/system-vxworks7-e500-rtp.ads (Max_Mantissa): Likewise. - * libgnat/system-vxworks7-ppc-kernel.ads (Max_Mantissa): Likewise. - * libgnat/system-vxworks7-ppc-rtp-smp.ads (Max_Mantissa): Likewise. - * libgnat/system-vxworks7-ppc-rtp.ads (Max_Mantissa): Likewise. - * libgnat/system-vxworks7-ppc64-kernel.ads (Max_Mantissa): Likewise. - * libgnat/system-vxworks7-ppc64-rtp-smp.ads (Max_Mantissa): Likewise. - * libgnat/system-vxworks7-x86-kernel.ads (Max_Mantissa): Likewise. - * libgnat/system-vxworks7-x86-rtp-smp.ads (Max_Mantissa): Likewise. - * libgnat/system-vxworks7-x86-rtp.ads (Max_Mantissa): Likewise. - * libgnat/system-vxworks7-x86_64-kernel.ads (Max_Mantissa): Likewise. - * libgnat/system-vxworks7-x86_64-rtp-smp.ads (Max_Mantissa): Likewise. - -2020-11-26 Liaiss Merzougue - - * libgnat/s-imgrea.ads (Image_Ordinary_Fixed_Point): Add a - remark concerning the irrelevant use of Inf and -0.0 - -2020-11-26 Arnaud Charlet - - * osint-c.adb (Set_Output_Object_File_Name): Add support for - .c output file. - -2020-11-26 Piotr Trojanek - - * lib-writ.adb, sem_ch8.adb, sem_prag.adb: Use - Is_Generic_Subprogram instead of low-level membership tests. - -2020-11-26 Gary Dismukes - - * sem_ch6.adb (Analyze_Call_And_Resolve): Reformatted a comment. - * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings): - Fixed a typo. - -2020-11-26 Piotr Trojanek - - * sem_res.adb (Resolve_Membership_Op): Replace pragma Warnings - with pragma Assert. - -2020-11-26 Ed Schonberg - - * sem_ch6.adb (Analyze_Call_And_Resolve): Add information to the - error message on an illegal procedure call, when the illegality - is due to the presence of a component of the full view of the - target object, as well as a procedure with the same name (See RM - 4.1.3 (9.2/3)). - -2020-11-26 Ed Schonberg - - * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings): - when the restriction is a configuration pragma and specifies - No_Tasking, a global flag is set to reject task declarations, - and to prevent the construction of Master entities. The flag - must not be set if the pragma is a Restriction_Warning, in which - case task declarationns are allowed. - -2020-11-26 Piotr Trojanek - - * libgnat/a-stzhas.adb (Wide_Wide_Hash): Instantiate inside a - wrapper function. - * libgnat/a-stzhas.ads (Wide_Wide_Hash): Likewise; remove wrong - comment, because this is indeed a RM unit, as described in Ada - RM A.4.8 (1/3). - -2020-11-26 Piotr Trojanek - - * sem_eval.adb (Eval_Slice): Refactor repeated calls to Prefix - with a local constant (named just like in Resolve_Slice). - -2020-11-26 Piotr Trojanek - - * sem_eval.adb (Eval_Slice): Emit warning not just for - constants, but for any objects. - -2020-11-26 Piotr Trojanek - - * sem_ch4.adb (Indicate_Name_And_Type): Fix whitespace in - comment. - * sem_res.adb (Resolve_Call): Remove redundant parens. - * sem_util.adb (Set_Entity_With_Checks): Remove extra call to - Set_Entity. - -2020-11-26 Bob Duff - - * exp_ch4.adb (Expand_Concatenate): Call Set_No_Initialization - on the N_Allocator node that is supposed to allocate on the - secondary stack. - -2020-11-26 Piotr Trojanek - - * exp_ch13.adb, exp_ch9.adb, sem_ch8.adb, sem_util.adb: Replace - a combination of Is_Protected_Type and Is_Task_Type by - Is_Concurrent_Type. - -2020-11-26 Arnaud Charlet - - * libgnarl/s-tassta.adb (Task_Wrapper): Fix computation of - Pattern_Size. - -2020-11-26 Bob Duff - - * freeze.adb (Freeze_Array_Type): Remove propagation of - Has_Own_Invariants to the first subtype. This is a no-op, - because the current (incorrect) version of Has_Own_Invariants - calls Base_Type. - * sem_prag.adb, sem_util.adb: Pass the base type to - Set_Has_Own_Invariants. - -2020-11-26 Eric Botcazou - - * einfo.ads (Aft_Value): Adjust documentation. - (Scale_Value): Likewise. - -2020-11-26 Justin Squirek - - * exp_ch4.adb (Expand_N_Type_Conversion): Use the unexpanded - operand when generating accessibility checks. - -2020-11-26 Piotr Trojanek - - * libgnat/a-cbhase.adb (Read): Remove extra whitespace. - * libgnat/a-cbmutr.ads (Read): Likewise. - * libgnat/a-cborse.adb (Read): Likewise. - -2020-11-26 Piotr Trojanek - - * exp_ch7.adb, exp_util.adb, freeze.adb: Rewrite with - Is_Access_Object_Type. - -2020-11-26 Piotr Trojanek - - * sem_prag.adb (Check_Valid_Library_Unit_Pragma): Raise - exception. - (Analyze_Pragma): Remove detection of rewritten pragmas. - -2020-11-26 Joffrey Huguet - - * libgnat/a-strmap.ads: Add preconditions and postconditions to - all subprograms. - -2020-11-26 Yannick Moy - - * sem_res.adb (Resolve_Equality_Op): Warn when -gnatwq is used - (the default) and the problematic case is encountered. - -2020-11-26 Yannick Moy - - * sem_attr.adb (Analyze_Attribute): Issue a continuation message - to give proper recommendation here. - -2020-11-26 Gary Dismukes - - * exp_util.adb (Expand_Subtype_From_Expr): A typo correction, - plus other minor reformatting. - -2020-11-26 Ed Schonberg - - * sem_ch12.adb (Instantiate_Formal_Package): If previous matched - entity is overloadable, advance in the list of actuals of the - actual package, to prevent an erroneous match of two adjacent - overloadable homonyms with the same entity. - -2020-11-26 Justin Squirek - - * sem_ch6.adb (First_Selector): Utility routine to return the - first selector or choice in an association. - (Check_Return_Construct_Accessibility): Modify loop to handle - named associations when iterating through discriminants. - -2020-11-26 Piotr Trojanek - - * sem_ch12.adb: Fix casing from "Instantiation" to - "instantiation". - -2020-11-25 Ed Schonberg - - * freeze.adb (Is_Uninitialized_Aggregate): Move... - * exp_util.adb (Is_Uninitialized_Aggregate): ... here. - (Expand_Subtype_From_Expr): If the expression is an - uninitialized aggregate, capture subtype for declared object and - remove expression to suppress further superfluous expansion. - -2020-11-25 Ed Schonberg - - * sem_eval.adb (Subtypes_Statically_Compatible): Scalar types - with compatible static bounds are statically compatible if - predicates are compatible, even if they are not static subtypes. - Same for private types without discriminants. - -2020-11-25 Eric Botcazou - - * exp_ch11.adb (Expand_N_Raise_Statement): Use Is_Entity_Name - consistently in tests on the name of the statement. - * exp_prag.adb (Expand_Pragma_Check): In the local propagation - case, wrap the raise statement in a block statement. - -2020-11-25 Piotr Trojanek - - * exp_ch8.adb (Expand_N_Exception_Renaming_Declaration): Move - "Nam" constant after the body of a nested subprogram; change "T" - from variable to constant. - -2020-11-25 Piotr Trojanek - - * make.adb (Scan_Make_Arg): Merge ELSIF branches for -u and -U. - -2020-11-25 Piotr Trojanek - - * doc/gnat_rm/implementation_defined_attributes.rst - (Has_Tagged_Values): Document based on the existing description - of Has_Access_Type and the comment for Has_Tagged_Component, - which is where frontend evaluates this attribute. - * gnat_rm.texi: Regenerate. - * sem_attr.adb (Analyze_Attribute): Merge processing of - Has_Access_Type and Has_Tagged_Component attributes. - * sem_util.adb (Has_Access_Type): Fix casing in comment. - * sem_util.ads (Has_Tagged_Component): Remove wrong (or - outdated) comment about the use of this routine to implement the - equality operator. - -2020-11-25 Piotr Trojanek - - * exp_attr.adb (Expand_Size_Attribute): Remove whitespace; - simplify with a membership test, which are now allowed in the - frontend code. - -2020-11-25 Piotr Trojanek - - * sem_ch13.adb (Analyze_One_Aspect): Fix inconsistent calls to - Make_Aitem_Pragma. - -2020-11-25 Piotr Trojanek - - * sem_ch13.adb (Check_Expr_Constants): Simplify with - Is_Named_Number. - * sem_prag.adb (Process_Convention): Likewise. - -2020-11-25 Piotr Trojanek - - * sem_ch13.adb (Analyze_One_Aspect): Detect aspect identifiers - with membership tests. - (Check_Aspect_At_End_Of_Declarations): Likewise. - (Freeze_Entity_Checks): Likewise; a local constant is no longer - needed. - (Is_Operational_Item): Similar simplification for attribute - identifiers. - (Is_Type_Related_Rep_Item): Likewise. - (Resolve_Iterable_Operation): Detect names with a membership - test. - (Validate_Independence): Replace repeated Ekind with a - membership test. - -2020-11-25 Piotr Trojanek - - * sem_ch13.adb (Analyze_One_Aspect): Replace duplicate of - Effective_Reads. - -2020-11-25 Piotr Trojanek - - * einfo.adb: Use composite wrappers (e.g. - Is_Subprogram_Or_Entry) and membership tests where it appears to - improve clarity. - -2020-11-25 Piotr Trojanek - - * einfo.adb (Is_Standard_Character_Type, - Is_Standard_String_Type): Simplify. - (Last_Formal): Use procedural variant of Next_Formal. - -2020-11-25 Piotr Trojanek - - * einfo.adb: Replace "E" with Entity_Id in local object - declarations. - -2020-11-25 Steve Baird - - * exp_ch2.adb (Expand_Entity_Reference): A new local predicate - Is_Object_Renaming_Name indicates whether a given expression - occurs (after looking through qualified expressions and type - conversions) as the name of an object renaming declaration. If - Current_Value is available but this new predicate is True, then - ignore the availability of Current_Value. - -2020-11-25 Piotr Trojanek - - * sem_ch12.adb (Instantiate_Type): Remove extra whitespace. - (Validate_Access_Type_Instance): Remove dead (and duplicated) - code. - -2020-11-25 Gary Dismukes - - * exp_util.adb (Possible_Side_Effect_In_SPARK): Replace hyphen - with a space in "side-effect" (two instances). - -2020-11-25 Justin Squirek - - * doc/gnat_rm/intrinsic_subprograms.rst (Shifts and Rotates): - Document behavior on negative numbers - * gnat_rm.texi: Regenerate. - * sem_eval.adb (Fold_Shift): Set modulus to be based on the RM - size for non-modular integer types. - -2020-11-25 Olivier Hainque - - * adaint.c (__gnat_copy_attribs): Reinstate code based on utime - for timestamp processing on VxWorks 6. - -2020-11-25 Yannick Moy - - * exp_util.adb (Remove_Side_Effects): Only remove side-effects - in GNATprove mode when this is useful. - * sem_res.adb (Set_Slice_Subtype): Make sure in GNATprove mode - to define the Itype when needed, so that run-time errors can be - analyzed. - * sem_util.adb (Enclosing_Declaration): Correctly take into - account renaming declarations. - -2020-11-25 Eric Botcazou - - * libgnat/s-rannum.adb (Random_Discrete): Specifically deal with - the case where the size of the base type is larger than 64 bits. - -2020-11-25 Yannick Moy - - * sem_ch3.adb (Access_Type_Declaration): Set Etype before - checking for volatility compatibility. - -2020-11-25 Eric Botcazou - - * libgnat/g-rannum.ads (Random): New functions returning 128-bit. - * libgnat/g-rannum.adb (Random): Implement them and alphabetize. - (To_Signed): New unchecked conversion function for 128-bit. - -2020-11-25 Arnaud Charlet - - * exp_ch7.adb (Build_Finalization_Master, Build_Finalizer, - Build_Object_Declarations, Make_Deep_Array_Body, - Wrap_Transient_Expression): Call Set_Debug_Info_Needed on - temporaries when Debug_Generated_Code is True. - -2020-11-25 Liaiss Merzougue - - * libgnat/s-imagei.adb - (Set_Digits): Rewrite the procedure to remove recursion. - (Image_Integer, Set_Image_Integer): Update assertions and remove - redundant ones. - * libgnat/s-imageu.adb - (Set_Image_Unsigned): Rewrite the procedure to remove recursion. - -2020-11-25 Piotr Trojanek - - * exp_util.adb (Attribute_Constrained_Static_Value): Fix body - box. - * sem_attr.adb (Eval_Attribute): Replace repeated calls to - Attribute_Name with a captured value of the Attribute_Id; also, - remove extra parens around Is_Generic_Type. - -2020-11-25 Ghjuvan Lacambre - - * sem_prag.adb (Analyze_Pragma): Emit error on wrong argument - nkind. - -2020-11-25 Piotr Trojanek - - * sem_attr.adb, sem_prag.adb: Use Is_Named_Number. - -2020-11-25 Piotr Trojanek - - * exp_attr.adb, exp_util.adb: Fix style and typos in comments. - -2020-11-25 Piotr Trojanek - - * exp_attr.adb (Expand_N_Attribute_Reference): A variable that - is only incremented in the code has now type Nat; conversion is - now unnecessary. - -2020-11-24 Piotr Trojanek - - * sem_prag.adb (Analyze_Global_Item): Call SPARK_Msg_NE with the - entity, not with its identifier. - -2020-11-24 Arnaud Charlet - - * opt.ads (Generate_Asm): New flag. - * osint-c.adb (Set_Output_Object_File_Name): Accept any - extension when generating assembly. - * adabkend.adb (Scan_Compiler_Args): Recognize -S. - -2020-11-24 Piotr Trojanek - - * exp_attr.adb, exp_ch4.adb, exp_intr.adb, sem_ch8.adb, - sem_res.adb, sem_type.adb, sem_util.adb: Reuse Is_Packed_Array. - -2020-11-24 Piotr Trojanek - - * checks.adb (Apply_Access_Check): Remove unbalanced paren. - * exp_attr.adb (Expand_N_Attribute_Reference): Fix typo in - comment. - -2020-11-24 Justin Squirek - - * sem_prag.adb (Analyze_Pragma): Mark relevant pragmas as ghost - when they are within a ghost region. - -2020-11-24 Piotr Trojanek - - * contracts.adb, freeze.adb, sem_ch12.adb, sem_prag.adb: Reuse - In_Same_List. - -2020-11-24 Piotr Trojanek - - * sem_prag.adb (Is_Loop_Pragma): Avoid repeated calls to - Original_Node; remove unnecessary IF statement. - -2020-11-24 Piotr Trojanek - - * exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Rewrite - with a CASE statement. - -2020-11-24 Piotr Trojanek - - * exp_attr.adb (Expand_N_Attribute_Reference): Replace calls to - Sloc with a local constant Loc; remove call to - Analyze_And_Resolve and return, which is exactly what happens - anyway (and other branches in the Constrained declare block - appear to rely on analysis, resolution and returning happening - in all cases). - * sem_util.adb: Remove useless parens. - -2020-11-24 Piotr Trojanek - - * sem_util.adb (Is_Object_Reference): Delta and extension - aggregates are objects. - -2020-11-24 Ghjuvan Lacambre - - * libgnat/s-rident.ads (System.Rident): Register new restriction - IDs. - * par-ch13.adb (Get_Aspect_Specifications): Add restriction check. - * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): - Register No_Unrecognized_Aspects restriction. - * sem_prag.adb (Analyze_Pragma): Add restriction check. - * snames.ads-tmpl: Create restriction names. - -2020-11-24 Piotr Trojanek - - * sem_attr.adb (Declared_Within): Return True for objects - declared within the attribute Loop_Entry prefix itself. - -2020-11-24 Yannick Moy - - * sem_ch3.adb (Process_Discriminants): Correctly set right - context for analyzing default value of discriminant. - -2020-11-24 Arnaud Charlet - - * sem_type.adb (Add_One_Interp.Is_Universal_Operation): Account - for universal_access = operator. - (Disambiguate): Take into account preference on universal_access - = operator when relevant. - (Disambiguate.Is_User_Defined_Anonymous_Access_Equality): New. - -2020-11-24 Arnaud Charlet - - * exp_util.adb (Is_Finalizable_Transient): Take into account return - statements containing N_Expression_With_Actions. Also clean up a - condition to make it more readable. - * exp_ch6.adb: Fix typo. - -2020-11-24 Eric Botcazou - - * libgnat/a-wtdeio.adb (TFT): Delete and adjust throughout. - * libgnat/a-wtenau.adb (TFT): Likewise. - * libgnat/a-wtfiio.adb (TFT): Likewise. - * libgnat/a-wtflio.adb (TFT): Likewise. - * libgnat/a-wtinio.adb (TFT): Likewise. - * libgnat/a-wtinio__128.adb (TFT): Likewise. - * libgnat/a-wtmoio.adb (TFT): Likewise. - * libgnat/a-wtmoio__128.adb (TFT): Likewise. - * libgnat/a-ztdeio.adb (TFT): Likewise. - * libgnat/a-ztenau.adb (TFT): Likewise. - * libgnat/a-ztfiio.adb (TFT): Likewise. - * libgnat/a-ztflio.adb (TFT): Likewise. - * libgnat/a-ztinio.adb (TFT): Likewise. - * libgnat/a-ztinio__128.adb (TFT): Likewise. - * libgnat/a-ztmoio.adb (TFT): Likewise. - * libgnat/a-ztmoio__128.adb (TFT): Likewise. - -2020-11-24 Arnaud Charlet - - * sem_ch13.adb (Validate_Literal_Aspect): Add support for named - numbers and in particular overload of the Real_Literal function. - * sem_res.adb (Resolve): Add support for named numbers in - Real_Literal and Integer_Literal resolution. - * einfo.adb, einfo.ads (Related_Expression, - Set_Related_Expression): Allow E_Function. - * uintp.ads (UI_Image_Max): Bump size of buffer to avoid loosing - precision. - * sem_eval.adb: Fix typo in comment. - * libgnat/a-nbnbin.adb, libgnat/a-nbnbin.ads (From_String): - Return a Valid_Big_Integer. - * libgnat/a-nbnbre.adb, libgnat/a-nbnbre.ads (From_String): New - variant taking two strings. Return a Valid_Big_Real. - -2020-11-24 Eric Botcazou - - * sem_ch12.adb (Analyze_Associations) : Test - that the instance is in a statement sequence instead of local scope. - (Freeze_Subprogram_Body): Use the special delayed placement with - regard to the parent instance only if its Sloc is strictly greater. - (Install_Body): Likewise. - -2020-11-24 Steve Baird - - * sem_ch13.adb (Validate_Literal_Aspect): Call to Base_Type - needed in order to correctly check result type of String_Literal - function when the first named subtype differs from the base - type (e.g.: - type T is range 1 .. 10 with String_Literal => ... ; - ). - -2020-11-24 Yannick Moy - - * sem_prag.adb (Analyze_Global_Item): Handle specially the - current instance of a PO. - * sem_util.ads (Is_Effectively_Volatile, - Is_Effectively_Volatile_For_Reading): Add parameter - Ignore_Protected. - * sem_util.adb (Is_Effectively_Volatile, - Is_Effectively_Volatile_For_Reading): Add parameter - Ignore_Protected to compute the query results ignoring protected - objects/types. - (Is_Effectively_Volatile_Object, - Is_Effectively_Volatile_Object_For_Reading): Adapt to new - signature. - -2020-11-24 Ghjuvan Lacambre - - * doc/gnat_ugn/building_executable_programs_with_gnat.rst: - Update documentation on -gnatyk. - * gnat_ugn.texi: Regenerate. - -2020-11-24 Yannick Moy - - * sem_ch10.adb (Analyze_Compilation_Unit): Move aspects from - body to the newly created spec. - -2020-11-24 Arnaud Charlet - - * exp_ch6.adb (Add_Cond_Expression_Extra_Actual): Simplify - handling of function calls and remove bug in handling of - transient objects. Minor reformatting along the way. - -2020-11-24 Arnaud Charlet - - * libgnat/a-nbnbin.adb (From_String): Implement fully. - -2020-11-24 Piotr Trojanek - - * sem_aggr.adb (Resolve_Delta_Array_Aggregate): If the choice is - a subtype_indication then call - Resolve_Discrete_Subtype_Indication; both for choices - immediately inside array delta aggregates and inside - iterated_component_association within array delta aggregates. - -2020-11-24 Piotr Trojanek - - * lib-load.adb, lib-writ.adb, lib.adb, par-load.adb, - rtsfind.adb, sem_ch10.adb: Use Present where possible. - -2020-11-24 Yannick Moy - - * sem_prag.adb (Analyze_Depends_Global): Reject Global and - Depends on null procedure. - -2020-11-24 Arnaud Charlet - - * libgnat/a-nbnbre.adb (From_String): Handle properly '_' - characters. - -2020-11-24 Piotr Trojanek - - * exp_spark.adb (Expand_SPARK_Array_Aggregate, - Expand_SPARK_N_Aggregate): Remove, no longer needed. - * sem_aggr.adb (Resolve_Iterated_Component_Association): Only - remove references in the analyzed expression when generating - code and the expression needs to be analyzed anew after being - rewritten into a loop. - -2020-11-24 Eric Botcazou - - * doc/gnat_rm/implementation_defined_characteristics.rst: Complete - entry of 3.5.9(10). - * gnat_rm.texi: Regenerate. - -2020-11-20 Maciej W. Rozycki - - * adaint.c (__gnat_number_of_cpus): Check for the presence of - _SC_NPROCESSORS_ONLN rather than a list of OS-specific macros - to decide whether to use `sysconf'. - -2020-11-20 Jakub Jelinek - - PR other/97911 - * gcc-interface/Make-lang.in (ada.serial): Change from goal to a - variable. - (.PHONY): Drop ada.serial and ada.prev. - (gnat1$(exeext)): Depend on $(ada.serial) rather than ada.serial. - -2020-11-19 Eric Botcazou - - PR ada/97805 - * adaint.c: Include climits in C++ and limits.h otherwise. - -2020-11-19 Eric Botcazou - - * exp_dbug.adb (Is_Handled_Scale_Factor): Delete. - (Get_Encoded_Name): Do not call it. - * gcc-interface/decl.c (gnat_to_gnu_entity) : - Tidy up and always use a meaningful description for arbitrary - scale factors. - * gcc-interface/misc.c (gnat_get_fixed_point_type_info): Remove - obsolete block and adjust the description of the scale factor. - -2020-11-18 Jakub Jelinek - - * gcc-interface/Make-lang.in (ada.serial): New goal. - (.PHONY): Add ada.serial ada.prev. - (gnat1$(exeext)): Depend on ada.prev. Call LINK_PROGRESS. - -2020-11-18 Matthias Klose - - PR ada/97859 - * Makefile.rtl (powerpc% linux%): Also match powerpc64le cpu. - -2020-11-11 Eric Botcazou - - * gcc-interface/gigi.h: Remove ^L characters throughout. - * gcc-interface/decl.c: Likewise. - * gcc-interface/utils.c: Likewise. - * gcc-interface/utils2.c: Likewise. - * gcc-interface/trans.c (gnat_to_gnu) : Do not explicitly - go to the base type for the Has_Constrained_Partial_View flag. - -2020-11-11 Eric Botcazou - - * gcc-interface/trans.c (build_binary_op_trapv): Convert operands - to the result type before doing generic overflow checking. - -2020-11-11 Eric Botcazou - - * gcc-interface/trans.c (can_be_lower_p): Remove. - (Regular_Loop_to_gnu): Add ENTRY_COND unconditionally if - BOTTOM_COND is non-zero. - -2020-11-11 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_entity) : In case - the constant is not being defined, get the expression in type - annotation mode only if its type is elementary. - -2020-11-11 Eric Botcazou - - * gcc-interface/trans.c (gnat_to_gnu) : Also convert - GNU_MAX_SHIFT if the type of the operation has been changed. - * gcc-interface/utils.c (can_materialize_object_renaming_p): Add - pair of missing parentheses. - -2020-11-07 Eric Botcazou - - * gcc-interface/Makefile.in: Force target_cpu to powerpc if the - nominal target is powerpc64-suse-linux. - -2020-11-07 Iain Sandoe - - * gcc-interface/misc.c (gnat_printable_name): Change - DECL_IS_BUILTIN -> DECL_IS_UNDECLARED_BUILTIN. - -2020-10-28 Alexandre Oliva - - PR ada/97504 - * Makefile.rtl (LIBGNAT_TARGET_PAIRS> : Use wraplf - version of Aux_Long_Long_Float. - -2020-10-27 Doug Rupp - - * Makefile.rtl: Add vx7r2cert spec file to ARM, PowerPC and x86 - targets. - * vxworks7-cert-rtp-link.spec: New spec file. - -2020-10-27 Arnaud Charlet - - * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add g-spogwa object. - * libgnat/g-spogwa.adb: Fix style errors. - -2020-10-27 Piotr Trojanek - - * exp_spark.adb (Expand_SPARK_Array_Aggregate): Dedicated - routine for array aggregates; mostly reuses existing code, but - calls itself recursively for multi-dimensional array aggregates. - (Expand_SPARK_N_Aggregate): Call Expand_SPARK_Array_Aggregate to - do the actual expansion, starting from the first index of the - array type. - -2020-10-27 Ed Schonberg - - * sem_aggr.adb (Resolve_Iterated_Component_Association): new - internal subprogram Remove_References, to reset semantic - information on each reference to the index variable of the - association, so that Collect_Aggregate_Bounds can work properly - on multidimensional arrays with nested associations, and - subsequent expansion into loops can verify that dimensions of - each subaggregate are compatible. - -2020-10-27 Ghjuvan Lacambre - - * exp_prag.adb (Append_Copies): Handle N_Parameter_Associations. - -2020-10-27 Eric Botcazou - - * ada_get_targ.adb (Digits_From_Size): Delete. - (Width_From_Size): Likewise. - * get_targ.adb (Digits_From_Size): Likewise. - (Width_From_Size): Likewise. - * get_targ.ads (Digits_From_Size): Likewise. - (Width_From_Size): Likewise. - * ttypes.ads: Remove with clause for Get_Targ. - (Standard_Short_Short_Integer_Width): Delete. - (Standard_Short_Integer_Width): Likewise. - (Standard_Integer_Width): Likewise. - (Standard_Long_Integer_Width): Likewise. - (Standard_Long_Long_Integer_Width): Likewise. - (Standard_Long_Long_Long_Integer_Width): Likewise. - (Standard_Short_Float_Digits): Likewise. - (Standard_Float_Digits): Likewise. - (Standard_Long_Float_Digits): Likewise. - (Standard_Long_Long_Float_Digits): Likewise. - * gnat1drv.adb (Adjust_Global_Switches): Adjust. - -2020-10-27 Arnaud Charlet - - * exp_ch6.adb, freeze.adb, gnat1drv.adb, opt.ads, sem_ch6.adb - (Transform_Function_Array): New flag, split from Modify_Tree_For_C. - * exp_unst.adb: Minor reformatting. - -2020-10-27 Dmitriy Anisimkov - - * libgnat/g-socpol.adb (Wait): Do not exit from loop on EINTR - error and timeout is over. - -2020-10-26 Ed Schonberg - - * exp_aggr.adb (Build_Array_Aggr_Code): If the aggregate - includes an Others_Choice in an association that is an - Iterated_Component_Association, generate a proper loop for it. - -2020-10-26 Eric Botcazou - - * libgnat/a-tifiio.adb: Add missing sign in documentation. - * libgnat/s-imgrea.ads: Minor fixes in commentary. - -2020-10-26 Pat Rogers - - * doc/gnat_rm/implementation_defined_pragmas.rst: Include - "Jorvik" in pragma Profile description. - * gnat_rm.texi: Regenerate. - -2020-10-26 Bob Duff - - * sem_attr.adb (Check_Image_Type): Remove "|", so the compiler - will not crash. - * errout.ads: Improve comment. This has nothing to do with - -gnatQ. - -2020-10-26 Eric Botcazou - - * libgnat/a-tifiio.adb: Minor editions to documentation. - -2020-10-26 Piotr Trojanek - - * contracts.adb (Causes_Contract_Freezing): Extend condition to - match the one in Analyze_Subprogram_Body_Helper. This routine is - used both as an assertion at the very start of - Freeze_Previous_Contracts and to detect previous declaration for - which Freeze_Previous_Contracts has been executed. - -2020-10-26 Eric Botcazou - - * libgnat/a-tifiio.adb: Move around documentaton paragraph. - -2020-10-26 Piotr Trojanek - - * inline.adb (Establish_Actual_Mapping_For_Inlined_Call): Add - guard for a call to Set_Last_Assignment with the same condition - as the assertion in that routine and explain why this guard - fails in GNATprove mode. - -2020-10-26 Eric Botcazou - - * doc/gnat_rm/implementation_defined_characteristics.rst: Adjust - the entries of 3.5.9(8) and 3.5.9(10). - * gnat_rm.texi: Regenerate. - -2020-10-26 Eric Botcazou - - * libgnat/a-tifiio.adb: Change the range of supported Small - values. - (E0, E1, E2): Adjust factors. - (Exact): Return false if the Small does not fit in 64 bits. - -2020-10-26 Dmitriy Anisimkov - - * libgnat/g-socket.adb (Wait_On_Socket): Boolean parameter - For_Read changed to Event parameter of type - GNAT.Sockets.Poll.Wait_Event_Set. Implementation is simplified - and based on call to GNAT.Sockets.Poll.Wait now. - -2020-10-26 Eric Botcazou - - * libgnat/a-tifiio.adb: Minor editions to documentation. - -2020-10-26 Yannick Moy - - * sem_ch12.adb (Restore_Private_Views): Do not lose the - information provided by Is_Generic_Actual_Type in GNATprove - mode. - -2020-10-26 Arnaud Charlet - - * sem_warn.adb (Warn_On_Unreferenced_Entity): Suppress warning - on formal parameters of all dispatching operations. - -2020-10-26 Piotr Trojanek - - * sem_aggr.adb (Resolve_Delta_Array_Aggregate): Fix typos in - error message. - -2020-10-26 Olivier Hainque - - * libgnat/s-dwalin.adb (Symbolic_Traceback): Always emit the hex - address at the beginning of an entry if suppression is not - requested. Consistently output a "???" for the subprogram name - when it is unknown. - -2020-10-26 Doug Rupp - - * s-oscons-tmplt.c (_nfds_t): Use sizeof (unsigned long int). - -2020-10-26 Piotr Trojanek - - * par-ch4.adb (P_Iterated_Component_Association): Move code for - iterated_element_association to - Build_Iterated_Element_Association. - -2020-10-26 Yannick Moy - - * sem_ch12.adb (Needs_Body_Instantiated): In GNATprove mode, do - not instantiate bodies outside of the main unit. - -2020-10-26 Ed Schonberg - - * sem_aggr.adb (Resolve_Delta_Array_Aggregate): For an - association that is an iterated component association, attach - the copy of the expression to the tree prior to analysis, in - order to preserve its context. This is needed when verifying - static semantic rules that depend on context, for example that a - use of 'Old appears only within a postcondition. - -2020-10-26 Bob Duff - - * doc/gnat_ugn/gnat_utility_programs.rst: Document that - --no-comments-fill is now the default. - -2020-10-26 Gary Dismukes - - * sem_aggr.adb (Resolve_Extension_Aggregate): When testing for - an aggregate that is illegal due to having an ancestor type that - has unknown discriminants, add an "or else" condition testing - whether the aggregate type has unknown discriminants and that - Partial_View_Has_Unknown_Discr is also set on the ancestor type. - Extend the comment, including adding ??? about a possible - simpler test. - -2020-10-26 Bob Duff - - * libgnat/a-cihama.adb, libgnat/a-cohama.adb, - libgnat/a-cohase.adb (Delete): Set Position.Position, and - assert. - -2020-10-26 Arnaud Charlet - - * sem_ch8.adb (Find_Direct_Name.Undefined): Handle known unit - names with 3 selectors. - -2020-10-26 Piotr Trojanek - - * exp_spark.adb (Expand_SPARK_Delta_Or_Update): Add missing call - to Enter_Name, just like it is called for - iterated_component_association in Expand_SPARK_N_Aggregate. - -2020-10-26 Piotr Trojanek - - * exp_spark.adb (Expand_SPARK_Delta_Or_Update): Reuse local - constant Expr and the Choice_List routine. - (Expand_SPARK_N_Aggregate): Reuse local constant Expr. - -2020-10-26 Piotr Trojanek - - * par-ch4.adb (P_Iterated_Component_Association): Fix typos in - comments. - -2020-10-26 Arnaud Charlet - - * par-ch6.adb (P_Formal_Part): Ada 2020 supports scanning - aspects on formal parameters. - * doc/gnat_rm/implementation_defined_aspects.rst (Aspect - Unreferenced): Update documentation. - * gnat_rm.texi: Regenerate. - -2020-10-26 Ed Schonberg - - * freeze.adb (Freeze_Type_Refs): When an entity in an expression - function is a type, freeze the entity and not just its type, - which would be incomplete when the type is derived and/or - tagged. - -2020-10-26 Piotr Trojanek - - * exp_attr.adb (Expand_Update_Attribute): Handle - subtype_indication just like in Expand_Delta_Array_Aggregate. - -2020-10-25 Iain Sandoe - - * Makefile.rtl: Add GNATRTL_128BIT_PAIRS/OBJS for 64bit - PowerPC Darwin cases. - -2020-10-23 Iain Sandoe - - * adaint.c: On Darwin platforms, define st_atim to - st_atimespec. Likwise st_mtim to st_mtimespec. - -2020-10-23 Eric Botcazou - - * Makefile.rtl (EXTRA_GNATRTL_NONTASKING_OBJS) [IA64/Linux]: Fix typo. - -2020-10-23 Eric Botcazou - - * Makefile.rtl (EXTRA_GNATRTL_NONTASKING_OBJS) [IA64/Linux]: Fix typo. - -2020-10-23 Alexandre Oliva - - PR ada/97504 - * Makefile.rtl (LIBGNAT_TARGET_PAIRS): Select wraplf version - of Aux_Long_Long_Float for s390 and remaining sparc and - powerpc targets. - -2020-10-23 Dmitriy Anisimkov - - * Makefile.rtl (GNATRTL_SOCKETS_OBJS): New object - g-socpol$(objext) New source files noted: g-socpol.adb, - g-socpol.ads, g-socpol__dummy.adb, g-socpol__dummy.ads, - g-sopowa.adb, g-sopowa__posix.adb, g-sopowa__mingw.adb, - g-spogwa.adb, g-spogwa.ads. - * impunit.adb (Non_Imp_File_Names_95): New base filename - g-socpol in "GNAT Library Units" section for GNAT.Sockets.Poll - unit. - * libgnat/g-socket.ads, libgnat/g-socket.adb: - (Raise_Socket_Error): Moved from body to private part of - specification to use in GNAT.Sockets.Poll. - * libgnat/g-socpol.ads, libgnat/g-socpol.adb: Main unit of the - implementation. - * libgnat/g-socpol__dummy.ads, libgnat/g-socpol__dummy.adb: - Empty unit for the systems without sockets support. - * libgnat/g-spogwa.ads, libgnat/g-spogwa.adb: Generic unit - implementing sockets poll on top of select system call. - * libgnat/g-sopowa.adb (Wait): Separate implementation for - operation systems with poll system call support. - * libgnat/g-sopowa__posix.adb (Wait): Separate implementation - for POSIX select system call. - * libgnat/g-sopowa__mingw.adb (Wait): Separate implementation - for Windows select system call. - * gsocket.h (_WIN32_WINNT): Increase to 0x0600 for winsock2.h to - allow WSAPoll related definitions. - * s-oscons-tmplt.c: Fix comment next to #endif for - #if defined (__linux__) || defined (__ANDROID__) line. Include - for all except VxWorks and Windows. - (SIZEOF_nfds_t): New definition. - (SIZEOF_fd_type): New definition. - (SIZEOF_pollfd_events): New definition. - (POLLIN, POLLPRI, POLLOUT, POLLERR, POLLHUP, POLLNVAL): New - definitions for VxWorks to be able to emulate poll on top of - select in it. Define POLLPRI as zero on Windows as it is not - supported there. - (Poll_Linkname): New definition, because the poll system call - has different name in Windows and POSIX. - -2020-10-23 Justin Squirek - - * checks.adb (Apply_Accessibility_Check): Skip checks against - the extra accessibility of a function result when in Ada 2005 - mode or earlier. - * exp_ch3.adb (Build_Initialization_Call): Modify accessibility - level calls to use Accessibility_Level. - (Expand_N_Object_Declaration): Modify accessibility level calls - to use Accessibility_Level. - * exp_ch4.adb (Expand_Allocator_Expression): Add static check - for anonymous access discriminants. Remove unneeded propagation - of accessibility actual. - (Expand_N_In): Modify accessibility level calls to use - Accessibility_Level. - (Expand_N_Type_Conversion): Modify accessibility level calls to - use Accessibility_Level. - * exp_ch5.adb (Expand_N_Assignment_Statement): Modify - accessibility level calls to use Accessibility_Level. - * exp_ch6.adb (Expand_Call_Helper): Rewrite accessibility - calculation for the extra accessibility of result actual in - function calls, and modify accessibility level calls to use - Accessibility_Level. - (Check_Against_Result_Level): Removed. - * exp_ch9.adb (Expand_N_Requeue_Statement): Add dynamic - accessibility check for requeues - * sem_attr.adb (Resolve_Attribute): Modify accessibility level - calls to use Accessibility_Level. - * sem_ch13.adb (Associate_Storage_Pool): Modify accessibility - level calls to use Accessibility_Level. - * sem_ch4.adb (Analyze_Call): Add static check for explicitly - aliased formals in function calls within return statements. - * sem_ch6.adb (Check_Return_Construct_Accessibility): Rewrite - routine to account for non-aggregate return objects. - (Generate_Minimum_Accessibility): Created. - (Analyze_Call): Modify accessibility level calls to use - Accessibility_Level. - (Analyze_Subprogram_Body_Helper): Add generation of minimum - accessibility for the extra accessibility of the function - result. - * sem_ch9.adb (Analyze_Requeue): Modify accessibility level - calls to use Accessibility_Level. - * sem_res.adb: (Check_Aliased_Parameters): Modify accessibility - level calls to use Accessibility_Level. - (Valid_Conversion): Modify accessibility level calls to use - Accessibility_Level. - * sem_util.adb, sem_util.ads (Accessibility_Level_Helper): - Renamed to Accessibility_Level, add detection for functions in - prefix notation, and add cases where to return zero when - specified. Modified to take new, more descriptive, parameters. - (Accessibility_Level): Created. - (Function_Call_Level): Removed. - (Function_Call_Or_Allocator_Level): Created to centralize the - calculation accessibility levels for function calls and - allocators. - (Static_Accessibility_Level): Removed. - (Dynamic_Accessibility_Level): Removed. - (Get_Dynamic_Accessibility): Renamed from Get_Accessibility. - (In_Return_Value): Created to determine if a given expression - contributes to the current function's return value. - (Is_Master): Created. - (Is_Explicitly_Aliased): Created - -2020-10-23 Bob Duff - - * doc/gnat_ugn/gnat_utility_programs.rst: Document - --no-comments-fill. - -2020-10-23 Piotr Trojanek - - * contracts.adb (Analyze_Entry_Or_Subprogram_Contract, - Analyze_Subprogram_Body_Stub_Contract): Fix missing references - to Subprogram_Variant where similar references to Contract_Cases - are present. - * sem_prag.adb (Analyze_Contract_Case, Analyze_Variant): Check - that aggregate parameter has no expressions. - (Analyze_Pragma): Replace Contract_Cases with Subprogram_Variant - in a copy-pasted comment. - -2020-10-23 Philippe Gil - - * libgnat/g-socket.ads: Fix comment typo. - -2020-10-23 Eric Botcazou - - * doc/gnat_rm/implementation_defined_pragmas.rst (VFA): Remove uage - restrictions in conjunction with Atomic and Aliased. - * gnat_rm.texi: Regenerate. - * aspects.ads (Aspect_Id): Add Aspect_Full_Access_Only. - (Is_Representation_Aspect): Likewise. - (Aspect_Names): Likewise. - (Aspect_Delay): Likewise. - * einfo.ads (Is_Atomic_Or_VFA): Rename into... - (Is_Full_Access): ...this. - (Is_Volatile_Full_Access): Document new usage for Full_Access_Only. - * einfo.adb (Is_Atomic_Or_VFA): Rename into... - (Is_Full_Access): ...this. - * freeze.ads (Is_Atomic_VFA_Aggregate): Rename into... - (Is_Full_Access_Aggregate): ...this. - * freeze.adb (Is_Atomic_VFA_Aggregate): Rename into... - (Is_Full_Access_Aggregate): ...this. Adjust to above renaming. - (Freeze_Array_Type): Likewise. - (Freeze_Entity): Likewise. - * exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Likewise. - (Expand_Record_Aggregate): Likewise. - * exp_ch4.adb (Expand_N_Op_Eq): Likewise. - * exp_ch5.adb (Expand_Assign_Array): Likewise. - * exp_ch8.adb (Evaluation_Required): Likewise. - * layout.adb (Layout_Type): Likewise. - (Set_Composite_Alignment): Likewise. - * sem_aux.ads (Has_Rep_Item): Delete. - * sem_aux.adb (Has_Rep_Item): Likewise. - * sem_attr.adb (Resolve_Attribute) : Implement - new legality rules in C.6(12). - * sem_ch12.adb (Instantiate_Object): Likewise. - * sem_res.adb (Resolve_Actuals): Likewise. - * sem_ch13.adb (Inherit_Delayed_Rep_Aspects): Deal with aspect - Full_Access_Only. - (Check_False_Aspect_For_Derived_Type): Likewise. - (Make_Pragma_From_Boolean_Aspect): Test for the presence of Expr. - Deal with aspect Full_Access_Only. - (Analyze_Aspects_At_Freeze_Point): Likewise. - (Analyze_One_Aspect): Do not set Delay_Required to true even for - Always_Delay boolean aspects if they have no expression. Force - Delay_Required to true for aspect Full_Access_Only in all cases. - Reject aspect Full_Access_Only if not in Ada 2020 mode. - (Check_Aspect_At_End_Of_Declarations): Deal with empty expression. - (Check_Aspect_At_Freeze_Point): Likewise. - (Rep_Item_Entity): Delete. - (Inherit_Aspects_At_Freeze_Point): Align handling for Bit_Order - with that for Scalar_Storage_Order. - * sem_prag.adb (Check_Atomic_VFA): Delete. - (Check_VFA_Conflicts): Likewise. - (Check_Full_Access_Only): New procedure. - (Process_Atomic_Independent_Shared_Volatile): Call to implement - the new legality checks in C.6(8/2) and mark the entity last. - (Analyze_Pragma) : Remove obsolete check. - * sem_util.ads (Is_Atomic_Or_VFA_Object): Rename into... - (Is_Full_Access_Object): ...this. - (Is_Subcomponent_Of_Atomic_Object): Rename into... - (Is_Subcomponent_Of_Full_Access_Object): ...this. - * sem_util.adb (Inherit_Rep_Item_Chain): Use Present_In_Rep_Item. - (Is_Atomic_Or_VFA_Object): Rename into... - (Is_Full_Access_Object): ...this. - (Is_Subcomponent_Of_Atomic_Object): Rename into... - (Is_Subcomponent_Of_Full_Access_Object): ...this and adjust. - * snames.ads-tmpl (Name_Full_Access_Only): New name of aspect. - * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust for renaming. - (promote_object_alignment): Likewise. - (gnat_to_gnu_field): Likewise. Rename local variable and use - specific qualifier in error message for Volatile_Full_Access. - * gcc-interface/trans.c (lvalue_required_p): Likewise. - -2020-10-23 Arnaud Charlet - - * lib-writ.ads, lib-writ.adb (Write_ALI): No longer read - existing ALI files in -gnatc mode. - -2020-10-23 Arnaud Charlet - - * libgnat/g-socthi__mingw.adb (C_Select): Fix logic in code and - make it explicit that we are checking against null values before - dereferencing them. - -2020-10-23 Eric Botcazou - - * exp_imgv.adb (Expand_Image_Attribute): For an enumeration type - subject to pragma Discard_Names, convert 'Pos to Long_Long_Integer - before applying 'Img to the result. - -2020-10-23 Ed Schonberg - - * freeze.adb (Freeze_Type_Refs): Add guard on freezing of the - designated type of an access type appearing in the expression, - when expression includes an explicit dereference whose prefix - includes a function call. - -2020-10-23 Piotr Trojanek - - * exp_spark.adb (Expand_SPARK_Delta_Or_Update): Handle - subtype_indication; do not apply range checks for ranges; add - comment saying that others_choices is not allowed. - -2020-10-23 Piotr Trojanek - - * exp_spark.adb (Expand_SPARK_N_Aggregate, - Expand_SPARK_Delta_Or_Update): Expand - Iterated_Component_Association occurring within delta - aggregates. - (Expand_SPARK): Apply SPARK-specific expansion to ordinary - aggregates. - -2020-10-23 Johannes Kanig - - * exp_util.adb, exp_util.ads - (Containing_Package_With_Ext_Axioms, - Has_Annotate_Pragma_For_External_Axiomatizations): Removed. - * sem_ch8.adb (Analyze_Subprogram_Renaming): Removed code - related to external axiomatizations. - * einfo.ads - (Is_Generic_Actual_Subprogram): Removed comment about external - axiomatization. - -2020-10-23 Ed Schonberg - - * sem_aggr.adb (Resolve_Aggregate): Do not call - Resolve_Container_Aggregate if compilation version is earlier - than Ada_2020. - -2020-10-23 Arnaud Charlet - - * doc/gnat_rm/implementation_defined_pragmas.rst: Improve - documentation of pragma Abort_Defer. - * gnat_rm.texi: Regenerate. - -2020-10-23 Ghjuvan Lacambre - - * exp_prag.adb (Etype_Or_Dim3): New function. - (Expand_Pragma_Cuda_Execute): Use Etype_Or_Dim3 for temporary - decls. - -2020-10-23 Arnaud Charlet - - * libgnat/s-fileio.adb (Open): Fix setting of Tempfile. - -2020-10-23 Ghjuvan Lacambre - - * exp_prag.adb (Get_Launch_Kernel_Arg_Type): Renamed to - Get_Nth_Arg_Type and made more generic. - (Build_Dim3_Declaration): Now builds a CUDA.Internal.Dim3 - instead of a CUDA.Vector_Types.Dim3. - (Build_Shared_Memory_Declaration): Now infers needed type from - Launch_Kernel instead of using a hard-coded type. - (Expand_Pragma_CUDA_Execute): Build additional temporaries to - store Grids and Blocks. - * rtsfind.ads: Move Launch_Kernel from public to internal - package. - -2020-10-23 Arnaud Charlet - - * sem_ch4.adb (Complete_Object_Operation): Only mark entities - referenced if we are compiling the extended main unit. - * sem_attr.adb (Analyze_Attribute [Attribute_Tag]): Record a - reference on the type and its scope. - -2020-10-23 Ed Schonberg - - * freeze.adb (Is_Uninitialized_Aggregate): Recognize an array - aggregate with box initialization, scalar components, and no - component default values. - (Freeze_Entity, Check_Address_Clause): Call it, and simplify - freeze code for entity by removing useless assignment. - -2020-10-23 Javier Miranda - - * sem_ch3.adb (Check_Abstract_Overriding): Subprogram renamings - cannot be overridden. - (Derive_Subprogram): Enable setting attribute - Requires_Overriding on functions with controlling access results - of record extensions with a null extension part require - overriding (AI95-00391/06). - -2020-10-23 Piotr Trojanek - - * sem_aggr.adb (Resolve_Delta_Array_Aggregate): Push scope of - the implicit loop before entering name of the index parameter, - not after; enter name no matter if the identifier has been - decorated before. - -2020-10-23 Gary Dismukes - - * sem_ch4.adb (Analyze_Call): In the case where the call is not - overloaded, check for a call to an abstract nondispatching - operation and flag an error. - -2020-10-23 Eric Botcazou - - * gnat1drv.adb (Adjust_Global_Switches): Rewrite again code enabling - or disabling the support for 128-bit integer types. - -2020-10-23 Arnaud Charlet - - * alloc.ads, aspects.adb, aspects.ads, atree.adb, atree.ads, - casing.adb, casing.ads, csets.adb, csets.ads, debug.adb, debug.ads, - einfo.adb, einfo.ads, elists.adb, elists.ads, fname.adb, fname.ads, - gnatvsn.adb, gnatvsn.ads, hostparm.ads, indepsw-aix.adb, - indepsw-darwin.adb, indepsw-gnu.adb, indepsw.adb, indepsw.ads, - krunch.adb, krunch.ads, lib-list.adb, lib-sort.adb, lib.adb, lib.ads, - namet-sp.adb, namet-sp.ads, namet.adb, namet.ads, nlists.adb, - nlists.ads, opt.adb, opt.ads, output.adb, output.ads, rident.ads, - scans.adb, scans.ads, scil_ll.adb, scil_ll.ads, sem_aux.ads, - sem_aux.adb, sfn_scan.adb, sinfo.adb, sinfo.ads, sinput.adb, - sinput.ads, snames.adb-tmpl, snames.ads-tmpl, stand.ads, - stringt.adb, stringt.ads, table.adb, table.ads, types.adb, - types.ads, uintp.adb, uintp.ads, uname.adb, uname.ads, - urealp.adb, urealp.ads, vast.adb, vast.ads, widechar.adb, - widechar.ads: Update header. - -2020-10-23 Arnaud Charlet - - * libgnat/a-nbnbin.adb (From_String): Take advantage of - Long_Long_Long_Integer. - * libgnat/s-genbig.ads, libgnat/s-genbig.adb (To_Bignum): New - function taking a Long_Long_Long_Integer. - -2020-10-23 Justin Squirek - - * sem_util.adb (Accessibility_Call_Helper): In the selected - component case, test if a prefix is a function call and whether - the subprogram call is not being used in its entirety and use - the Innermost_Master_Scope_Depth in that case. - (Innermost_Master_Scope_Depth): Test against the node_par - instead of its identifier to avoid misattributing unnamed blocks - as not being from source. - (Function_Call_Level): Add calculation for whether a subprogram - call is initializing an object in its entirety. - (Subprogram_Call_Level): Renamed to Function_Call_Level. - -2020-10-23 Piotr Trojanek - - * sem_prag.adb (Check_External_Properties): Rewrite to match the - SPARK RM description. - -2020-10-23 Piotr Trojanek - - * contracts.adb (Check_Type_Or_Object_External_Properties): - Cleanup. - -2020-10-23 Piotr Trojanek - - * sem_prag.adb (Analyze_External_Property_In_Decl_Part): Set the - output parameter Expr_Val to the (implicit) pragma argument even - when returning early. - -2020-10-22 Eric Botcazou - - * Makefile.rtl (GNATRTL_128BIT_PAIRS): Add i-cexten.ads. - * debug.adb (d.H): Document new usage. - * doc/gnat_rm/representation_clauses_and_pragmas.rst (Size Clauses): - Document new limit on 64-bit platforms. - (Component_Size Clauses): Likewise. - (Pragma Pack for Arrays): Likewise. - (Pragma Pack for Records): Likewise. - (Record Representation Clauses): Likewise. - * gnat_rm.texi: Regenerate. - * gnat1drv.adb (Adjust_Global_Switches): Rewrite code enabling or - disabling the support for 128-bit integer types. - * switch-c.adb (Scan_Front_End_Switches): Do not deal with e128. - * usage.adb (Write_Switch_Char): Do not print -gnate128 switch. - * libgnat/i-cexten__128.ads: New file. - -2020-10-22 Javier Miranda - - * einfo.ads (Has_Limited_View): New synthesized attribute. - * einfo.adb (Has_Limited_View): New synthesized attribute. - (Set_Limited_View): Complete assertion. - * sem_ch10.ads (Is_Visible_Through_Renamings): Make this routine - public to invoke it from Find_Expanded_Name and avoid reporting - spurious errors on renamings of limited-with packages. - (Load_Needed_Body): Moved to have this spec alphabetically - ordered. - * sem_ch10.adb (Is_Visible_Through_Renamings): Moved to library - level. - (Is_Limited_Withed_Unit): New subprogram. - * sem_ch3.adb (Access_Type_Declaration): Adding protection to - avoid reading attribute Entity() when not available. - * sem_ch8.adb (Analyze_Package_Renaming): Report error on - renamed package not visible through context clauses. - (Find_Expanded_Name): Report error on renamed package not - visible through context clauses; handle special case where the - prefix is a renaming of a (now visible) shadow package. - -2020-10-22 Ghjuvan Lacambre - - * exp_prag.adb (Get_Launch_Kernel_Arg_Type): New function. - (Build_Shared_Memory_Declaration): Use - Get_Launch_Kernel_Arg_Type. - (Build_Stream_Declaration): Use Get_Launch_Kernel_Arg_Type. - * rtsfind.ads: Remove RO_IC_Unsigned_Long_Long. - -2020-10-22 Arnaud Charlet - - * libgnat/s-imenne.adb, libgnat/s-imgrea.adb: Add assertions. - -2020-10-22 Arnaud Charlet - - * libgnat/s-imgrea.adb (Set_Image_Real): Update annotations. - -2020-10-22 Steve Baird - - * aspects.ads: Introduce the subtype Nonoverridable_Aspect_Id, - whose Static_Predicate reflects the list of nonoverridable - aspects given in Ada RM 13.1.1(18.7). - * sem_util.ads, sem_util.adb: Add two new visible subprograms, - Check_Inherited_Nonoverridable_Aspects and Is_Confirming. The - former is used to check the consistency of inherited - nonoverridable aspects from multiple sources. The latter - indicates whether two aspect specifications for a nonoverridable - aspect are confirming. Because of compatibility concerns in - compiling QGen, Is_Confirming always returns True if - Relaxed_RM_Semantics (i.e., -gnatd.M) is specified. - * sem_ch3.adb (Derived_Type_Declaration): Call new - Check_Inherited_Nonoverridable_Aspects procedure if interface - list is non-empty. - * sem_ch9.adb (Check_Interfaces): Call new - Check_Inherited_Nonoverridable_Aspects procedure if interface - list is non-empty. - * sem_ch13.adb (Analyze_Aspect_Specifications): When an explicit - aspect specification overrides an inherited nonoverridable - aspect, check that the explicit specification is confirming. - -2020-10-22 Eric Botcazou - - * freeze.ads (Check_Compile_Time_Size): Adjust size limit. - -2020-10-22 Richard Kenner - - * sprint.adb (pg, po, ps): Use {Push,Pop}_Output. - * treepr.adb (pl, pn): Likewise. - -2020-10-22 Eric Botcazou - - * doc/gnat_rm/implementation_advice.rst: Minor fix. - * gnat_rm.texi: Regenerate. - -2020-10-22 Steve Baird - - * sem_util.adb (Is_Container_Aggregate): A new local predicates - which indicates whether a given expression is a container - aggregate. The implementation of this function is incomplete; in - the unusual case of a record aggregate (i.e., not a container - aggregate) of a type whose Aggregate aspect is specified, the - function will incorrectly return True. - (Immediate_Context_Implies_Is_Potentially_Unevaluated): Improve - handling of aggregate components. - (Is_Repeatedly_Evaluated): Test for container aggregate - components along with existing test for array aggregate - components. - -2020-10-22 Eric Botcazou - - * exp_fixd.adb (Fpt_Value): Fold if-then-else with identical arms. - -2020-10-22 Ed Schonberg - - * par-ch4.adb (P_Iterated_Component_Association): If the - construct includes an iterator filter it corresponds to an - Iterated_Element_Association, so build the proper node for it. - * exp_aggr.adb (Expand_Container_Aggregate, Aggregate_Size): If - the component is an Iterated_Element_Association, treat it as - having a non-static size. - -2020-10-22 Ghjuvan Lacambre - - * scng.adb (Scan): Check if any letter of the token is - uppercase. - -2020-10-22 Justin Squirek - - * sem_util.adb (Accessibility_Level_Helper): Conversions to - named access types get the level associated with the named - access type. - -2020-10-22 Eric Botcazou - - * einfo.ads (Has_Constrained_Partial_View): Add "base type" marker. - -2020-10-22 Gary Dismukes - - * einfo.adb (Has_Constrained_Partial_View): Apply Base_Type to Id. - * sem_res.adb (Resolve_Actuals.Check_Aliased_Parameter): Remove - "not Is_Generic_Type" test and call - Object_Type_Has_Constrained_Partial_View instead of - Has_Constrained_Partial_View. Improve related error message to - say "does not statically match" instead of just "does not - match". - -2020-10-22 Steve Baird - - * sem_util.ads, sem_util.adb: Declare and implement a new - predicate, Derivation_Too_Early_To_Inherit. This function - indicates whether a given derived type fails to inherit a given - streaming-related attribute from its parent type because the - declaration of the derived type precedes the corresponding - attribute_definition_clause of the parent. - * exp_tss.adb (Find_Inherited_TSS): Call - Derivation_Too_Early_To_Inherit instead of unconditionally - assuming that a parent type's streaming attribute is available - for inheritance by an immediate descendant type. - * sem_attr.adb (Stream_Attribute_Available): Call - Derivation_Too_Early_To_Inherit instead of unconditionally - assuming that a parent type's streaming attribute is available - for inheritance by an immediate descendant type. - * exp_attr.adb (Default_Streaming_Unavailable): A new predicate; - given a type, indicates whether predefined (as opposed to - user-defined) streaming operations for the type should be - implemented by raising Program_Error. - (Expand_N_Attribute_Reference): For each of the 4 - streaming-related attributes (i.e., Read, Write, Input, Output), - after determining that no user-defined implementation is - available (including a Stream_Convert pragma), call - Default_Streaming_Unavailable; if that call returns True, then - implement the streaming operation as "raise Program_Error;". - -2020-10-22 Eric Botcazou - - * checks.adb (Apply_Float_Conversion_Check): Saturate the bounds - of the check to those of the base type of the expression. - -2020-10-22 Justin Squirek - - * checks.adb (Apply_Accessibility_Check): Modify condition to - avoid flawed optimization and use Get_Accessibility over - Extra_Accessibility. - * exp_attr.adb: Remove inclusion of Exp_Ch2.adb. - * exp_ch2.adb, exp_ch2.ads (Param_Entity): Moved to sem_util. - * exp_ch3.ads (Init_Proc_Level_Formal): New function. - * exp_ch3.adb (Build_Init_Procedure): Add extra accessibility - formal for init procs when the associated type is a limited - record. - (Build_Initialization_Call): Add condition to handle propagation - of the new extra accessibility paramter actual needed for init - procs. - (Init_Proc_Level_Formal): Created to fetch a the extra - accessibility parameter associated with init procs if one - exists. - * exp_ch4.adb (Build_Attribute_Reference): Modify static check - to be dynamic. - * exp_ch6.adb (Add_Cond_Expression_Extra_Actual): Move logic - used to expand conditional expressions used as actuals for - anonymous access formals. - (Expand_Call_Helper): Remove extranious accessibility - calculation logic. - * exp_util.adb: Remove inclusion of Exp_Ch2.adb. - * par-ch3.adb (P_Array_Type_Definition): Properly set - Aliased_Present on access definitions - * sem_attr.adb (Resolve_Attribute): Replace instances for - Object_Access_Level with Static_Accessibility_Level. - * sem_ch13.adb (Storage_Pool): Replace instances for - Object_Access_Level with Static_Accessibility_Level. - * sem_ch6.adb (Check_Return_Construct_Accessibility): Replace - instances for Object_Access_Level with - Static_Accessibility_Level. - * sem_ch9.adb (Analyze_Requeue): Replace instances for - Object_Access_Level with Static_Accessibility_Level. - * sem_res.adb (Check_Aliased_Parameter, - Check_Allocator_Discrim_Accessibility, Valid_Conversion): - Replace instances for Object_Access_Level with - Static_Accessibility_Level. - * sem_util.adb, sem_util.ads (Accessibility_Level_Helper): - Created to centralize calculation of accessibility levels. - (Build_Component_Subtype): Replace instances for - Object_Access_Level with Static_Accessibility_Level. - (Defining_Entity): Add extra parameter to dictate whether an - error is raised or empty is return in the case of an irrelevant - N. - (Dynamic_Accessibility_Level): Rewritten to use - Accessibility_Level_Helper. - (Is_View_Conversion): Check membership against Etype to capture - nodes like explicit dereferences which have types but are not - expanded names or identifers. - (Object_Access_LeveL): Removed. - (Param_Entity): Moved from sem_util. - (Static_Accessibility_Level): Created as a replacement to - Object_Access_Level, it also uses Accessibility_Level_Helper for - its implementation. - * snames.ads-tmpl: Added new name for extra accessibility - parameter in init procs. - -2020-10-22 Piotr Trojanek - - * exp_prag.adb (Expand_Pragma_Contract_Cases, - Expand_Pragma_Loop_Variant): Reuse Append_New_To. - * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): Fix typo. - (Analyze_Pre_Post_Condition): Refactor repeated calls to - Defining_Entity. - -2020-10-22 Eric Botcazou - - * doc/gnat_rm/implementation_defined_characteristics.rst: Minor - fixes. - * gnat_rm.texi: Regenerate. - -2020-10-22 Piotr Trojanek - - * sem_warn.adb (Check_Unused_Withs): Move local variables from - to a nested procedure; Lunit is passed as a parameter to - Check_System_Aux and its type is refined from Node_Id to - Entity_Id; Cnode is now a constant. - -2020-10-22 Patrick Bernardi - - * libgnat/s-rident.ads (Profile_Info): Use a common profile - definition for Jorvik and GNAT Extended Ravenscar, using the - GNAT Extended Ravenscar definition. - -2020-10-22 Eric Botcazou - - * Makefile.rtl (64-bit platforms): Add GNATRTL_128BIT_PAIRS to - the LIBGNAT_TARGET_PAIRS list and also GNATRTL_128BIT_OBJS to - the EXTRA_GNATRTL_NONTASKING_OBJS list. - -2020-10-22 Ghjuvan Lacambre - - * sem_prag.adb (Process_Convention, - Process_Import_Or_Interface): Fix error message. - -2020-10-22 Ghjuvan Lacambre - - * sem_ch13.adb (Make_Aitem_Pragma): Turn into function. This - removes a side-effect on the Aitem variable. - (Analyze_Aspect_Specifications): Handle Suppress and Unsuppress - aspects differently from the Linker_Section aspect. - (Ceck_Aspect_At_Freeze_Point): Don't expect Suppress/Unsuppress - to be delayed anymore. - -2020-10-22 Ed Schonberg - - * sem_aggr.adb: (Resolve_Container_Aggregate): For an indexed - container, verify that expressions and component associations - are not both present. - * exp_aggr.adb: Code reorganization, additional comments. - (Expand_Container_Aggregate): Use Aggregate_Size for Iterated_ - Component_Associations for indexed aggregates. If present, the - default value of the formal in the constructor function is used - when the size of the aggregate cannot be determined statically. - -2020-10-22 Eric Botcazou - - * sem_attr.adb (Eval_Attribute): Fix oversight for Bit_Position. - -2020-10-22 Ed Schonberg - - * sem_util.ads, sem_util.adb (Check_Ambiguous_Aggregate): When a - subprogram call is found to be ambiguous, check whether - ambiguity is caused by an aggregate actual. and indicate that - it should carry a type qualification. - * sem_ch4.adb (Traverse_Hoonyms, Try_Primitive_Operation): Call - it. - * sem_res.adb (Report_Ambiguous_Argument): Call it. - -2020-10-22 Piotr Trojanek - - * sem_warn.adb (Check_One_Unit): Avoid repeated calls by using a - local variable Lunit; remove local constant Eitem, which was - identical to Lunit. - -2020-10-22 Alexandre Oliva - - * Makefile.rtl (LIBGNAT_TARGET_PAIRS) : Select - nolibm and wraplf variants like other vxworks ports. - -2020-10-22 Martin Liska - - PR c/94722 - * gcc-interface/utils.c (handle_no_stack_protect_attribute): - New. - (handle_stack_protect_attribute): Add error message for a - no_stack_protector function. - -2020-10-22 Alexandre Oliva - - * Makefile.rtl (LIBGNAT_TARGET_PAIRS) : Rely on - Aux_Long_Float for all real types. - -2020-10-22 Alexandre Oliva - - * Makefile.rtl (LIBGNAT_TARGET_PAIRS): Use Long Float-based - variant of Aux_Short_Float and Aux_Float on vxworks targets. - * libgnat/a-nashfl__wraplf.ads: New. - * libgnat/a-nuaufl__wraplf.ads: New. - -2020-10-22 Rainer Orth - - * Makefile.rtl (LIBGNAT_TARGET_PAIRS) : - Use wraplf version of a-nallfl. - -2020-10-22 Alexandre Oliva - - * Makefile.rtl (LIBGNAT_TARGET_PAIRS): Use - a-nallfl__wraplf.ads on aarch64-* and ppc*-linux-gnu targets. - * libgnat/a-nallfl__wraplf.ads: New. - -2020-10-22 Jan Hubicka - - * gcc-interface/trans.c: Include tree-nested.h - (walk_nesting_tree): Update for new nested function info. - -2020-10-21 Eric Botcazou - - * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add a-llltio, a-lllwti, - a-lllzti and remove a-timoau, a-wtmoau and a-ztmoau. - (GNATRTL_128BIT_PAIRS): Add a-tiinio.adb, a-timoio.adb, a-wtinio.adb, - a-wtmoio.adb, a-ztinio.adb and a-ztmoio.adb. - * impunit.adb (Non_Imp_File_Names_95): Add a-llltio, a-lllwti and - a-lllzti. - * krunch.ads: Document trick for Ada.Long_Long_Long_Integer_*_IO. - * krunch.adb (Krunch): Add trick for Ada.Long_Long_Long_Integer_*_IO. - * libgnat/a-llltio.ads: Instantiate Ada.Text_IO.Integer_IO. - * libgnat/a-lllwti.ads: Instantiate Ada.Wide_Text_IO.Integer_IO. - * libgnat/a-lllzti.ads: Instantiate Ada.Wide_Wide_Text_IO.Integer_IO. - * libgnat/a-tigeau.ads (Load_Integer): New procedure. - * libgnat/a-tigeau.adb (Load_Integer): Likewise. - * libgnat/a-tiinau.ads, libgnat/a-tiinau.adb: Change to generic - package. - * libgnat/a-tiinio.adb: Instantiate it. - * libgnat/a-tiinio__128.adb: Likewise. - * libgnat/a-timoau.ads, libgnat/a-timoau.adb: Change to generic - package. - * libgnat/a-timoio.adb: Instantiate it. - * libgnat/a-timoio__128.adb: Likewise. - * libgnat/a-wtgeau.ads (Load_Integer): New procedure. - * libgnat/a-wtgeau.adb (Load_Integer): Likewise. - * libgnat/a-wtinau.ads, libgnat/a-wtinau.adb: Change to generic - package. - * libgnat/a-wtinio.adb: Instantiate it. - * libgnat/a-wtinio__128.adb: Likewise. - * libgnat/a-wtmoau.ads, libgnat/a-wtmoau.adb: Change to generic - package. - * libgnat/a-wtmoio.adb: Instantiate it. - * libgnat/a-wtmoio__128.adb: Likewise. - * libgnat/a-ztgeau.ads (Load_Integer): New procedure. - * libgnat/a-ztgeau.adb (Load_Integer): Likewise. - * libgnat/a-ztinau.ads, libgnat/a-ztinau.adb: Change to generic - package. - * libgnat/a-ztinio.adb: Instantiate it. - * libgnat/a-ztinio__128.adb: Likewise. - * libgnat/a-ztmoau.ads, libgnat/a-ztmoau.adb: Change to generic - package. - * libgnat/a-ztmoio.adb: Instantiate it. - * libgnat/a-ztmoio__128.adb: Likewise. - -2020-10-21 Eric Botcazou - - * sem_ch12.adb (Freeze_Subprogram_Body): Do not move the freeze - node of the package body enclosing the instance when its parent - is in the same declarative part as the freeze node of the parent. - -2020-10-21 Steve Baird - - * exp_ch6.adb (Insert_Post_Call_Actions): When a function's - result type requires finalization and we decide to make copy of - a call to the function and subsequently refer only to the copy, - then don't forget to finalize the original function result - object. - -2020-10-21 Eric Botcazou - - * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-widint, - s-widthi, s-widuns, s-widuns. - (GNATRTL_128BIT_OBJS): Add s-imglllb, s-imgllli, s-imglllu, s-imglllw, - s-valllli, s-vallllu, s-widllli, s-widlllu. - * exp_imgv.adb (Expand_Image_Attribute): Deal with 128-bit types. - (Expand_Value_Attribute): Likewise. - (Expand_Width_Attribute): Likewise. - * exp_put_image.adb (Build_Elementary_Put_Image_Call): Likewise. - * krunch.adb (Krunch): Deal with s-img, s-val and s-wid prefixes. - * rtsfind.ads (RTU_Id): Add System_Img_LLLI, System_Img_LLLU, - System_Val_LLLI, System_Val_LLL, System_Wid_Int, System_Wid_LLLI, - System_Wid_LLLU, System_Wid_Uns). - (RE_Id): Add RE_Image_Long_Long_Long_Integer, - RE_Image_Long_Long_Long_Unsigned, - RE_Put_Image_Long_Long_Long_Integer, - RE_Put_Image_Long_Long_Long_Unsigned, - RE_Long_Long_Long_Unsigned, RE_Value_Long_Long_Long_Integer, - RE_Value_Long_Long_Long_Unsigned, RE_Width_Integer, - RE_Width_Long_Long_Long_Integer, RE_Width_Long_Long_Long_Unsigned, - RE_Width_Unsigned, RE_Image_Long_Long_Long_Integer, - RE_Image_Long_Long_Long_Unsigned, RE_Put_Image_Long_Long_Long_Integer, - RE_Put_Image_Long_Long_Long_Unsigned, RE_Long_Long_Long_Unsigned, - RE_Value_Long_Long_Long_Integer, RE_Value_Long_Long_Long_Unsigned, - RE_Width_Integer, RE_Width_Long_Long_Long_Integer, - RE_Width_Long_Long_Long_Unsigned, RE_Width_Unsigned. - * libgnat/s-imageb.ads, libgnat/s-imageb.adb: New generic - package. - * libgnat/s-imagei.ads, libgnat/s-imagei.adb: Likewise. - * libgnat/s-imageu.ads, libgnat/s-imageu.adb: Likewise. - * libgnat/s-imagew.ads, libgnat/s-imagew.adb: Likewise. - * libgnat/s-imgbiu.ads: Instantiate System.Image_B. - * libgnat/s-imgbiu.adb: Add pragma No_Body. - * libgnat/s-imgint.ads: Instantiate System.Image_I. - * libgnat/s-imgint.adb: Add pragma No_Body. - * libgnat/s-imgllb.ads: Instantiate System.Image_B. - * libgnat/s-imgllb.adb: Add pragma No_Body0 - * libgnat/s-imglli.ads: Instantiate System.Image_I. - * libgnat/s-imglli.adb: Add pragma No_Body. - * libgnat/s-imglllb.ads: Instantiate System.Image_B. - * libgnat/s-imgllli.ads: Instantiate System.Image_I. - * libgnat/s-imglllu.ads: Instantiate System.Image_U. - * libgnat/s-imglllw.ads: Instantiate System.Image_W. - * libgnat/s-imgllu.ads: Instantiate System.Image_U. - * libgnat/s-imgllu.adb: Add pragma No_Body. - * libgnat/s-imgllw.ads: Instantiate System.Image_W. - * libgnat/s-imgllw.adb: Add pragma No_Body. - * libgnat/s-imgrea.adb: Remove clauses for System.Unsigned_Types. - * libgnat/s-imguns.ads: Instantiate System.Image_U. - * libgnat/s-imguns.adb: Add pragma No_Body. - * libgnat/s-imgwiu.ads: Instantiate System.Image_W. - * libgnat/s-imgwiu.adb: Add pragma No_Body. - * libgnat/s-putima.ads (Long_Long_Long_Unsigned): New subtype. - (Put_Image_Long_Long_Long_Unsigned): New procedure. - * libgnat/s-putima.adb (Small): Rename to Integer_Images. - (Large): Rename to LL_Integer_Images. - (LLL_Integer_Images): New instantiation. - (Put_Image_Long_Long_Long_Integer): New renaming. - (Put_Image_Long_Long_Long_Unsigned): Likewise. - * libgnat/s-valint.ads: Instantiate System.Value_I. - * libgnat/s-valint.adb: Add pragma No_Body. - * libgnat/s-vallli.ads: Instantiate System.Value_I. - * libgnat/s-vallli.adb: Add pragma No_Body. - * libgnat/s-valllli.ads: Instantiate System.Value_I. - * libgnat/s-vallllu.ads: Instantiate System.Value_U. - * libgnat/s-valllu.ads: Instantiate System.Value_U. - * libgnat/s-valllu.adb: Add pragma No_Body. - * libgnat/s-valuei.ads, libgnat/s-valuei.adb: New generic - package. - * libgnat/s-valueu.ads, libgnat/s-valueu.adb: Likewise. - * libgnat/s-valuns.ads: Instantiate System.Value_U. - * libgnat/s-valuns.adb: Add pragma No_Body. - * libgnat/s-widint.ads: Instantiate System.Width_I. - * libgnat/s-widlli.ads: Likewise. - * libgnat/s-widlli.adb: Add pragma No_Body. - * libgnat/s-widllli.ads: Instantiate System.Width_I. - * libgnat/s-widlllu.ads: Instantiate System.Width_U. - * libgnat/s-widllu.ads: Likewise. - * libgnat/s-widllu.adb: Add pragma No_Body. - * libgnat/s-widthi.ads, libgnat/s-widthi.adb: New generic - package. - * libgnat/s-widthu.ads, libgnat/s-widthu.adb: Likewise. - * libgnat/s-widuns.ads: Instantiate System.Width_U. - -2020-10-21 Eric Botcazou - - * set_targ.adb (DTN): Fix oversight. - (Read_Target_Dependent_Values): Do not error out on missing - Long_Long_Long_Size entry and reuse Long_Long_Size for it. - -2020-10-21 Piotr Trojanek - - * exp_aggr.adb (Gen_Loop): Analyze copy of the expression in the - scope of the implicit loop with name of the index parameter - visible. - -2020-10-21 Eric Botcazou - - * Makefile.rtl (GNATRTL_128BIT_PAIRS): New variable. - (GNATRTL_128BIT_OBJS): Likewise. - (Windows): In 64-bit mode, add the former to LIBGNAT_TARGET_PAIRS and - the latter to EXTRA_GNATRTL_NONTASKING_OBJS. - (x86_64/linux): Likewise, but unconditionally. - (GNATRTL_NONTASKING_OBJS): Add s-aridou, s-exponn, s-expont, - s-exponu. - * ada_get_targ.adb (Get_Long_Long_Long_Size): New function. - * checks.adb (Apply_Arithmetic_Overflow_Strict): Use Integer_Type_For - to find an appropriate integer type; if it does not exist and the max - integer size is larger than 64, use the 128-bit arithmetic routines. - * cstand.adb (Create_Standard): Build Standard_Long_Long_Long_Integer - and its base type. Use it for Etype of Any_Integer, Any_Modular and - Any_Numeric. Use its size for Build Standard_Long_Long_Long_Unsigned - and Universal_Integer. - (Print_Standard): Print Long_Long_Long_Integer. - * exp_attr.adb (Expand_N_Attribute_Reference) : Adjust - comment. - * exp_ch3.adb (Simple_Init_Initialize_Scalars_Type): Deal with 128-bit - types. - * exp_ch4.adb (Expand_Array_Comparison): Likewise. - (Expand_N_Op_Expon): Likewise. - (Narrow_Large_Operation): Likewise. - * exp_dbug.adb (Bounds_Match_Size): Handle 128-bit size. - * exp_fixd.adb (Build_Double_Divide_Code): Use RE_Double_Divide64. - * exp_intr.adb (Expand_Binary_Operator_Call): Handle 128-bit size. - * exp_pakd.ads (E_Array): Extend range to 127. - (Bits_Id): Fill in up to 127. - (Get_Id): Likewise. - (GetU_Id): Likewise. - (Set_Id): Likewise. - (SetU_Id): Likewise. - * exp_pakd.adb (Revert_Storage_Order): Handle 128-bit size. - * exp_util.adb (Integer_Type_For): Likewise. - (Small_Integer_Type_For): Likewise. - * fname.adb (Is_Predefined_File_Name): Do not return False for names - larger than 12 characters if they start with "s-". - * freeze.adb (Adjust_Esize_For_Alignment): Change the maximum value - to System_Max_Integer_Size. - (Check_Suspicious_Modulus): Adjust comment. - (Freeze_Entity): Likewise. - * get_targ.ads (Get_Long_Long_Long_Size): New function. - * get_targ.adb (Get_Long_Long_Long_Size): Likewise. - (Width_From_Size): Deal with 128-bit size. - * gnat1drv.adb (Adjust_Global_Switches): Deal with 128-bit types. - * impunit.adb (Get_Kind_Of_File): Bump buffer size. Accept files with - 13 characters if they start with 's'. Compare slice of Buffer. - (Not_Impl_Defined_Unit): Accept files with 13 characters if they start - with 's'. - * krunch.ads: Document length for 128-bit support units. - * krunch.adb (Krunch): Set length to 9 for 128-bit support units. - * layout.adb (Layout_Type): Use System_Max_Integer_Size as alignment - limit. - * rtsfind.ads (RTU_Id): Add System_Arith_128, - System_Compare_Array_Signed_128, System_Compare_Array_Unsigned_128, - System_Exn_LLLI, System_Exp_LLLU, System_Pack_[65..127]. - (RE_Id): Add RE_Integer_128, RE_Unsigned_128, RE_Add_With_Ovflo_Check128 - RE_Multiply_With_Ovflo_Check128, RE_Subtract_With_Ovflo_Check128, - RE_Bswap_128, RE_Compare_Array_S128, RE_Compare_Array_U128, - RE_Exn_Long_Long_Long_Integer, RE_Exp_Long_Long_Long_Integer, - RE_Exp_Long_Long_Long_Unsigned, RE_Bits_[65-127], RE_Get_[65-127], - RE_Set_[65-127], RE_IS_Is16, RE_IS_Iu16, RE_Integer_128 and - RE_Unsigned_128. Rename RE_Add_With_Ovflo_Check, RE_Double_Divide, - RE_Multiply_With_Ovflo_Check, RE_Scaled_Divide and - RE_Subtract_With_Ovflo_Check. Remove RE_IS_Iz1, RE_IS_Iz2, RE_IS_Iz4, - RE_IS_Iz8, RE_Long_Unsigned, RE_Short_Unsigned, RE_Short_Short_Unsigned - (RE_Unit_Table): Likewise. - * sem_aux.adb (Corresponding_Unsigned_Type): Deal with a size equal to - that of Standard_Long_Long_Long_Integer. - (First_Subtype): Deal with Standard_Long_Long_Long_Integer'Base. - * sem_ch13.adb (Analyze_Attribute_Definition_Clause) : - Check the size against powers of 2 and System_Max_Integer_Size for - objects as well. - (Set_Enum_Esize): Deal with 128-bit bounds. - * sem_ch3.adb (Set_Modular_Size): Handle 128-bit size. - (Modular_Type_Declaration): Deal with 128-bit types. - (Signed_Integer_Type_Declaration): Support derivation from - Standard_Long_Long_Long_Integer. - * sem_ch4.adb (Analyze_Mod): Handle 128-bit modulus. - * sem_intr.adb: Add with and use clauses for Ttypes. - (Check_Shift): Handle 128-bit size and modulus. - * sem_prag.adb (Analyze_Pragma) : Deal - with Signed_128 and Unsigned_128. - (Analyze_Integer_Value): Handle 128-bit size. - * sem_util.ads (Addressable): Adjust description. - * sem_util.adb (Addressable): Return true for 128 if the system - supports 128 bits. - (Set_Invalid_Binder_Values): Deal with Signed_128 and Unsigned_128. - * set_targ.ads (Long_Long_Long_Size): New variable. - * set_targ.adb (S_Long_Long_Long_Size): New constant. - (DTN): Add entry for S_Long_Long_Long_Size. - (DTV): Add entry for Long_Long_Long_Size. - (Set_Targ): Set Long_Long_Long_Size. - * snames.ads-tmpl (Name_Max_Integer_Size): New attribute name. - (Name_Signed_128): New scalar name. - (Name_Unsigned_128): Likewise. - (Scalar_Id): Adjust. - (Integer_Scalar_Id): Likewise. - (Attribute_Id): Add Attribute_Max_Integer_Size. - * stand.ads (Standard_Entity_Type): Add S_Long_Long_Long_Integer. - (Standard_Long_Long_Long_Integer): New renaming. - (Universal_Integer): Adjust description. - (Standard_Long_Long_Long_Unsigned): New variable. - * switch-c.adb (Scan_Front_End_Switches): Deal with -gnate128. - * ttypes.ads (Standard_Long_Long_Long_Integer_Size): New variable. - (Standard_Long_Long_Long_Integer_Width): Likewise. - (System_Max_Integer_Size): Turn into variable. - (System_Max_Binary_Modulus_Power): Likewise. - * uintp.ads (Uint_127): New constant. - * uintp.adb (UI_Power_2): Extednd to 128. - (UI_Power_10): Likewise. - (UI_Expon): Deal with exponent up to 128 specially. - * usage.adb (Write_Switch_Char): Print -gnate128 switch. - * libgnat/a-tifiio.adb (Put_Scaled): Call Scaled_Divide64. - * libgnat/interfac__2020.ads (Integer_128): New integer type. - (Unsigned_128): New modular type. - (Shift_Left, Shift_Right, Shift_Right_Arithmetic, Rotate_Left, - Rotate_Right): New intrinsic functions operating on it. - * libgnat/s-aridou.ads, libgnat/s-aridou.adb: New generic - package. - * libgnat/s-arit64.ads, libgnat/s-arit64.adb: Instantiate - System.Arithmetic_Double. - * libgnat/s-arit128.ads, libgnat/s-arit128.adb: Likewise. - * libgnat/s-bytswa.ads: Add with clause for Interfaces, use subtypes - of unsigned types defined in Interfaces and add Bswap_128. - * libgnat/s-casi128.ads, libgnat/s-casi128.adb: New package. - * libgnat/s-caun128.ads, libgnat/s-caun128.adb: Likewise. - * libgnat/s-exnint.ads: Instantiate System.Exponn. - * libgnat/s-exnint.adb: Add pragma No_Body. - * libgnat/s-exnlli.ads: Instantiate System.Exponn. - * libgnat/s-exnlli.adb: Add pragma No_Body. - * libgnat/s-exnllli.ads: Instantiate System.Exponn. - * libgnat/s-expint.ads: Likewise. - * libgnat/s-expint.adb: Add pragma No_Body. - * libgnat/s-explli.ads: Instantiate System.Exponn. - * libgnat/s-explli.adb: Add pragma No_Body. - * libgnat/s-expllli.ads: Instantiate System.Exponn. - * libgnat/s-explllu.ads: Instantiate System.Exponu. - * libgnat/s-expllu.ads: Likewise. - * libgnat/s-expllu.adb: Add pragma No_Body. - * libgnat/s-exponn.ads, libgnat/s-exponn.adb: New generic - function. - * libgnat/s-expont.ads, libgnat/s-expont.adb: Likewise. - * libgnat/s-exponu.ads, libgnat/s-exponu.adb: Likewise. - * libgnat/s-expuns.ads, libgnat/s-expuns.adb: Likewise. - * libgnat/s-pack65.ads, libgnat/s-pack65.adb: New package. - * libgnat/s-pack66.ads, libgnat/s-pack66.adb: New package. - * libgnat/s-pack67.ads, libgnat/s-pack67.adb: New package. - * libgnat/s-pack68.ads, libgnat/s-pack68.adb: New package. - * libgnat/s-pack69.ads, libgnat/s-pack69.adb: New package. - * libgnat/s-pack70.ads, libgnat/s-pack70.adb: New package. - * libgnat/s-pack71.ads, libgnat/s-pack71.adb: New package. - * libgnat/s-pack72.ads, libgnat/s-pack72.adb: New package. - * libgnat/s-pack73.ads, libgnat/s-pack73.adb: New package. - * libgnat/s-pack74.ads, libgnat/s-pack74.adb: New package. - * libgnat/s-pack75.ads, libgnat/s-pack75.adb: New package. - * libgnat/s-pack76.ads, libgnat/s-pack76.adb: New package. - * libgnat/s-pack77.ads, libgnat/s-pack77.adb: New package. - * libgnat/s-pack78.ads, libgnat/s-pack78.adb: New package. - * libgnat/s-pack79.ads, libgnat/s-pack79.adb: New package. - * libgnat/s-pack80.ads, libgnat/s-pack80.adb: New package. - * libgnat/s-pack81.ads, libgnat/s-pack81.adb: New package. - * libgnat/s-pack82.ads, libgnat/s-pack82.adb: New package. - * libgnat/s-pack83.ads, libgnat/s-pack83.adb: New package. - * libgnat/s-pack84.ads, libgnat/s-pack84.adb: New package. - * libgnat/s-pack85.ads, libgnat/s-pack85.adb: New package. - * libgnat/s-pack86.ads, libgnat/s-pack86.adb: New package. - * libgnat/s-pack87.ads, libgnat/s-pack87.adb: New package. - * libgnat/s-pack88.ads, libgnat/s-pack88.adb: New package. - * libgnat/s-pack89.ads, libgnat/s-pack89.adb: New package. - * libgnat/s-pack90.ads, libgnat/s-pack90.adb: New package. - * libgnat/s-pack91.ads, libgnat/s-pack91.adb: New package. - * libgnat/s-pack92.ads, libgnat/s-pack92.adb: New package. - * libgnat/s-pack93.ads, libgnat/s-pack93.adb: New package. - * libgnat/s-pack94.ads, libgnat/s-pack94.adb: New package. - * libgnat/s-pack95.ads, libgnat/s-pack95.adb: New package. - * libgnat/s-pack96.ads, libgnat/s-pack96.adb: New package. - * libgnat/s-pack97.ads, libgnat/s-pack97.adb: New package. - * libgnat/s-pack98.ads, libgnat/s-pack98.adb: New package. - * libgnat/s-pack99.ads, libgnat/s-pack99.adb: New package. - * libgnat/s-pack100.ads, libgnat/s-pack100.adb: New package. - * libgnat/s-pack101.ads, libgnat/s-pack101.adb: New package. - * libgnat/s-pack102.ads, libgnat/s-pack102.adb: New package. - * libgnat/s-pack103.ads, libgnat/s-pack103.adb: New package. - * libgnat/s-pack104.ads, libgnat/s-pack104.adb: New package. - * libgnat/s-pack105.ads, libgnat/s-pack105.adb: New package. - * libgnat/s-pack106.ads, libgnat/s-pack106.adb: New package. - * libgnat/s-pack107.ads, libgnat/s-pack107.adb: New package. - * libgnat/s-pack108.ads, libgnat/s-pack108.adb: New package. - * libgnat/s-pack109.ads, libgnat/s-pack109.adb: New package. - * libgnat/s-pack110.ads, libgnat/s-pack110.adb: New package. - * libgnat/s-pack111.ads, libgnat/s-pack111.adb: New package. - * libgnat/s-pack112.ads, libgnat/s-pack112.adb: New package. - * libgnat/s-pack113.ads, libgnat/s-pack113.adb: New package. - * libgnat/s-pack114.ads, libgnat/s-pack114.adb: New package. - * libgnat/s-pack115.ads, libgnat/s-pack115.adb: New package. - * libgnat/s-pack116.ads, libgnat/s-pack116.adb: New package. - * libgnat/s-pack117.ads, libgnat/s-pack117.adb: New package. - * libgnat/s-pack118.ads, libgnat/s-pack118.adb: New package. - * libgnat/s-pack119.ads, libgnat/s-pack119.adb: New package. - * libgnat/s-pack120.ads, libgnat/s-pack120.adb: New package. - * libgnat/s-pack121.ads, libgnat/s-pack121.adb: New package. - * libgnat/s-pack122.ads, libgnat/s-pack122.adb: New package. - * libgnat/s-pack123.ads, libgnat/s-pack123.adb: New package. - * libgnat/s-pack124.ads, libgnat/s-pack124.adb: New package. - * libgnat/s-pack125.ads, libgnat/s-pack125.adb: New package. - * libgnat/s-pack126.ads, libgnat/s-pack126.adb: New package. - * libgnat/s-pack127.ads, libgnat/s-pack127.adb: New package. - * libgnat/s-rannum.ads (Random): New function returning 128-bit. - * libgnat/s-rannum.adb (Random): Implement it. - * libgnat/s-scaval.ads: Add with clause for Interfaces, use subtypes - of unsigned types defined in Interfaces. - * libgnat/s-scaval.adb: Add use clause for Interfaces. - * libgnat/s-scaval__128.ads, libgnat/s-scaval__128.adb: New - package. - * libgnat/s-unstyp.ads (Long_Long_Long_Unsigned): New modular type. - (Shift_Left, Shift_Right, Shift_Right_Arithmetic, Rotate_Left, - Rotate_Right): New intrinsic functions operating on it. - -2020-10-21 Eric Botcazou - - * doc/gnat_rm/implementation_defined_characteristics.rst: Add - Long_Long_Long_Integer to the list of predefined integer types. - * gnat_rm.texi: Regenerate. - -2020-10-21 Yannick Moy - - * ada_get_targ.adb (Width_From_Size): Add case for 128 bits. - Reorder declarations in the same order as get_targ.adb to - facilitate diffs. - -2020-10-21 Piotr Trojanek - - * exp_aggr.adb (Expand_N_Aggregate): Refactor repeated calls to - Etype (N). - (Build_Array_Aggr_Code): Fix whitespace. - -2020-10-21 Dmitriy Anisimkov - - * adaint.c (__gnat_file_time): Use regular arithmetic instead of - __builtin_*_overflow routines if GCC version 4 or less and - compiler is g++. - -2020-10-21 Piotr Trojanek - - * sem_aggr.adb (Resolve_Array_Aggregate): Use Choice_List, which - internally calls either Choice or Discrete_Choices, depending on - the context. - -2020-10-21 Piotr Trojanek - - * sem_aggr.adb (Resolve_Iterated_Component_Association): Use - existing defining identifier for index parameter. - -2020-10-21 Javier Miranda - - * exp_ch9.adb (Build_Task_Activation_Call): Do not generate a - call to activate tasks if we are within the scope of a protected - type and pragma Detect_Blocking is active. - -2020-10-21 Liaiss Merzougue - - * libgnat/s-carsi8.adb (Compare_Array_S8): Add pragma Assert to - avoid warning concerning Left_Len and RighLen value regarding - Bytes_Compared_As_Words. - * libgnat/s-carun8.adb (Compare_Array_U8): Likewise. - * libgnat/s-geveop.adb (Binary_Operation, Unary_Operation): Add - pragma Assert concerning divide by 0 warning. - * libgnat/s-imgcha.adb (Image_Character): Code update to prevent - constant operation warning. - (Image_Character): Add pragma Assert concerning the unchecked - String size. - * libgnat/s-imgdec.adb - (Round): Upate loop code to prevent warning concerning - Digs'First access. - (Round): Add pragma assert. - (Set): Add pragma Assert for the unchecked string size. - (Set_Digits): Add pragma Assert for the input range. - (Set_Decimal_Digits): Add pragma Assert. - (Set_Blank_And_Sign): Add pragma Assert for the input range. - * libgnat/s-arit64.adb (DoubleDivide): Add pragma Assert - concerning Du /= 0. - (Multiply_With_Ovflo_Check): Add pragma Annotate to avoid - warning concerning unsigned -> signed conversion. - * libgnat/s-imguns.adb (Set_Image_Unsigned): Add pragma Assert - to prevent overflow check warning. Add pragma Assert for - controlling S'First = 1. - * libgnat/s-imgrea.adb (Image_Floating_Point, Set, Set_Digs, - Set_Special_Fill, Convert_Integer): Add pragma Annotate to - prevent overflow check warning. - (Set_Image_Real): Add pragma Annotate to avoid dead code warning - on float check. Add pragma Assert to prevent overflow check - warning. - * libgnat/s-imgwiu.adb (Set_Digits, Set_Image_Width_Unsigned): - Add pragma assert to prevent overflow check warning. - * libgnat/s-imgllu.adb (Set_Image_Long_Long_Unsigned): Add - pragma assert to prevent overflow check warning. - * libgnat/s-imgint.adb (Set_Digits): Add Assert for input - constraint and to prevent overflow check warning, create - Non_Positive subtype, and change the T parameter as Non_Positive - instead Integer. - (Set_Image_Integer): Add pragma assert to prevent overflow check - warning. - * libgnat/s-imglli.adb (Set_Digits): Add Assert for input - constraint and to prevent overflow check warning, create - Non_Positive subtype, and change the T parameter as Non_Positive - instead Integer. - (Set_Image_Long_Long_Integer): Add pragma assert to prevent - overflow check warning. - * libgnat/s-fatgen.adb (Decompose, Pred, Succ): Add pragma - Annotate to prevent dead code due to invalid float check. - * libgnat/s-imenne.adb (Image_Enumeration_8, - Image_Enumeration_16, Image_Enumeration_32): Add pragma Assert - to prevent overflow check warning. Add Names_Index subtype for - restricting Index_table content. - -2020-10-21 Gary Dismukes - - * exp_ch6.adb (Insert_Post_Call_Actions): Test for - N_Explicit_Dereference as part of the existing test for function - calls. - -2020-10-21 Eric Botcazou - - * freeze.adb (Check_Strict_Alignment): Do not set the flag for - a bit-packed array type, even if it is a by-reference type. - -2020-10-21 Dmitriy Anisimkov - - * adaint.c (__gnat_file_time): New routine. - (__gnat_copy_attribs): Copy timestamps in nanoseconds. - * libgnat/a-direct.adb (C_Modification_Time): Bind to - __gnat_file_time. - (Modification_Time): Call to C_Modification_Time. - -2020-10-21 Piotr Trojanek - - * sem_aggr.adb (Resolve_Iterated_Component_Association): - Expression's copy and now has the same parent as the original - expression. - (Resolve_Array_Aggregate): Add ??? comment about a still - existing minor issue that led to discovery of the above crash. - -2020-10-21 Javier Miranda - - * sem_ch12.adb (Install_Parents_Of_Generic_Context): Simplify - functionality; collect and install parents of generic child - package. - (Remove_Parents_Of_Generic_Context): Code cleanup. - (Instantiate_Package_Body): Hide parents of generic context from - visibility before installing the parent instance; restore their - visibility when the instance is analyzed - -2020-10-21 Doug Rupp - - * libgnarl/s-osinte__lynxos178e.ads: Remove -mthreads switch. - -2020-10-21 Patrick Bernardi - - * env.c (__gnat_setenv): call setenv for VxWorks 7 kernel mode. - (__gnat_environ): envGet takes an int instead of a NULL pointer. - (__gnat_unsetenv): call unsetenv for VxWorks 7 kernel mode. - (__gnat_clearenv): use __gnat_unsetenv to clear environment - variables. - -2020-10-21 Eric Botcazou - - * sem_ch12.adb (Freeze_Subprogram_Body): Call - Package_Freeze_Node to retrieve the freeze node for the - enclosing body of the generic. - -2020-10-21 Justin Squirek - - * exp_ch6.adb (Expand_Call_Helper): Modify calls to - Add_Extra_Actual to use Extra_Accessibility instead of - Get_Accessibility for the EF parameter. - -2020-10-21 Piotr Trojanek - - * exp_ch6.adb (Expand_Actuals): Whitespace cleanup. - * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Make minimum - accessibility a constant object. - -2020-10-21 Patrick Bernardi - - * env.c (__gnat_environ): For VxWorks kernel simply return the - result of the envGet call. Do this for VxWorks 6 and 7 as they - both support the same API. - -2020-10-21 Ghjuvan Lacambre - - * exp_ch7.adb (Build_Finalizer): Disable warnings on referenced - entity. - -2020-10-21 Piotr Trojanek - - * einfo.ads, sem_ch3.adb, sem_util.adb: Fix comments. - -2020-10-21 Javier Miranda - - * sem_ch3.adb (Build_Derived_Type): Propagate convention of - class-wide parent. - -2020-10-21 Claire Dross - - * libgnat/a-cofove.adb (Copy): Add explanation in case of - Capacity_Error. - (Insert_Space): Raise Capacity_Error if the new length is - greater than the capacity. - (Reserve_Capacity): Raise Capacity_Error instead of - Constraint_Error. - -2020-10-20 Piotr Trojanek - - * sem_ch3.adb (Constrain_Decimal, Constrain_Enumeration, - Constrain_Float, Constrain_Integer, Constrain_Ordinary_Fixed): - Refine parameter type from Node_Id to Entity_Id. - -2020-10-20 Piotr Trojanek - - * sprint.adb (po): Set Dump_Freeze_Null to False; align colons. - (ps): Likewise. - -2020-10-20 Ed Schonberg - - * sinfo.ads, sinfo.adb: The flag Box_Present can appear in - Iterated_Element_Association nodes. - * sem_aggr.adb (Resolve_Aggregate): Call - Resolve_Container_Aggregate when type of context has - corresponding aspect. - * sem_type.adb (Covers): In Ada_2020 an aggregate is compatible - with a type that carries the corresponding aspect. - * exp_ch3.adb (Make_Controlling_Function_Wrappers): Do not - create declarations and bodies for inherited primitive functions - of null extensions that dispatch on result, when current scope - includes an immediately visible non-overloadable homonym of the - function. - * libgnat/a-cborse.adb, libgnat/a-cborse.ads, - libgnat/a-cbhase.ads, libgnat/a-cbhase.adb, - libgnat/a-cborma.adb, libgnat/a-cborma.ads, - libgnat/a-cbhama.adb, libgnat/a-cbhama.ads, - libgnat/a-cbdlli.adb, libgnat/a-cbdlli.ads, - libgnat/a-convec.ads, libgnat/a-ciorse.ads, - libgnat/a-cihase.ads, libgnat/a-cihase.adb, - libgnat/a-ciorma.ads, libgnat/a-cihama.ads, - libgnat/a-cihama.adb, libgnat/a-cidlli.ads, - libgnat/a-cidlli.adb, libgnat/a-coinve.adb, - libgnat/a-cobove.adb, libgnat/a-cobove.ads, - libgnat/a-convec.adb, libgnat/a-coinve.ads, - libgnat/a-coorse.ads, libgnat/a-cohase.adb, - libgnat/a-cohase.ads, libgnat/a-coorma.ads, - libgnat/a-cohama.adb, libgnat/a-cohama.ads, - libgnat/a-cdlili.ads: Add primitive function Empty for use in - aspect Aggregate, and add corresponding body or expression - function. - -2020-10-20 Arnaud Charlet - - * aspects.adb (Has_Aspect_Specifications_Flag): Add - N_Parameter_Specification. - * par-ch13.adb (Aspect_Specifications_Present): Also handle case - of an unknown aspect on the last formal parameter (terminated by - a Tok_Right_Paren). Minor reformatting. - * par-ch6.adb (P_Formal_Part): Scan aspects on formal - parameters. - * par.adb: Fix typos. - * sem_ch6.adb (Process_Formals): Add processing of aspects and - in particular Unreferenced aspect for now. - * sinfo.ads: Allow ASPECT_SPECIFICATIONS on a - PARAMETER_SPECIFICATION. - * doc/gnat_rm/implementation_defined_aspects.rst - (Aspect Unreferenced): Update documentation. - * gnat_rm.texi: Regenerate. - -2020-10-20 Piotr Trojanek - - * sem_util.ads, sem_util.adb (Get_Accessibility): Refine result - type from Node_Id to Entity_Id. - -2020-10-20 Piotr Trojanek - - * einfo.adb, exp_attr.adb, sem_ch13.adb, sem_util.adb: Use - Is_Formal where possible. - -2020-10-20 Steve Baird - - * sem_util.ads: Declare a new package, Old_Attr_Util, which in - turn declares two more packages, Conditional_Evaluation and - Indirect_Temps. Conditional_Evaluation provides a predicate for - deciding whether a given 'Old attribute reference is eligible - for conditional evaluation and, in the case where it is - eligible, a function that constructs the Boolean-valued - condition that is to be evaluated at run time in deciding - whether to evaluate the attribute prefix. Indirect_Temps - provides support for declaring a temporary which is only - initialized conditionally; more specifically, an access type and - a variable of that type are declared (unconditionally) and then - the variable is (conditionally) initialized with an allocator. - The existence of the access type and the pointer variable is - hidden from clients, except that a predicate, - Is_Access_Type_For_Indirect_Temp, is provided for identifying - such access types. This is needed because we want such an access - type to be treated like a "normal" access type (specifically - with respect to finalization of allocated objects). Other parts - of the compiler treat access types differently if - Comes_From_Source is False, or if the secondary stack storage - pool is used; this predicate is used to disable this special - treatment. - * sem_attr.adb (Uneval_Old_Msg): Improve message text to reflect - Ada202x changes. - (Analyze_Attribute): A previously-illegal 'Old attribute - reference is accepted in Ada2020 if it is eligible for - conditional evaluation. - * sem_res.adb (Valid_Conversion): Do not treat a rewritten 'Old - attribute like other rewrite substitutions. This makes a - difference, for example, in the case where we are generating the - expansion of a membership test of the form "Saooaaat'Old in - Named_Access_Type"; in this case Valid_Conversion needs to - return True (otherwise the expansion will be False - see the - call site in exp_ch4.adb). - * exp_attr.adb (Expand_N_Attribute_Reference): When expanding a - 'Old attribute reference, test for the case where the reference - is eligible for conditional evaluation. In that case, use the - new "indirect temporary" mechanism provided by Sem_Util. - * exp_prag.adb - (Expand_Attributes_In_Consequence.Expand_Attributes): If - Sem_Util.Indirect_Temp_Needed indicates that there could be - correctness problems associated with the old expansion scheme - for dealing with 'Old attributes in contract cases consequences, - then we use the new "indirect temporary" mechanism provided by - Sem_Util instead. We do not want to do this unconditionally. - * sem_util.adb: Provide a body for the new Old_Attr_Util - package. Further work is needed in several areas for - correctness: - - The function Is_Repeatedly_Evaluated does not deal with - container aggregates yet. - - The function Is_Known_On_Entry does not deal with interactions - with the Global aspect. - Each area where more work is needed is indicated with a "???" - comment in the code; a more detailed description can be found - there. Some optimization opportunties are similarly indicated - with a "???" comment. - * exp_ch3.adb (Freeze_Type): In deciding whether to generate - expansion for the list controller of an access type, take the - predicate Is_Access_Type_For_Indirect_Temp into account. If the - predicate yields True, then generate the expansion. - * exp_util.adb (Build_Allocate_Deallocate_Proc): We don't - normally finalize allocated objects that are allocated on the - secondary stack. Add an exception to this rule if the predicate - Is_Access_Type_For_Indirect_Temp yields True. As a result of - this exception, we have to deal with the fact that gigi expects - a different parameter profile if we are using the secondary - stack pool; the Pool and Alignment parameters must be omitted in - this case. - -2020-10-20 Javier Miranda - - * sem_ch12.adb (Install_Parents_Of_Generic_Context, - Remove_Parents_Of_Generic_Context): New subprograms. - (Instantiate_Package_Body): Adding assertions to ensure that - installed parents are properly removed. - -2020-10-20 Claire Dross - - * sem_attr.adb (Analyze_Attribute): Emit a warning on 'Update - when Warn_On_Obsolescent_Feature is set to True. - -2020-10-20 Richard Kenner - - * gnat_cuda.adb (Build_Register_Function_Call): Make procedure - call instead of function, rename to - Build_Register_Procedure_Call. - (Build_CUDA_Init_Proc): Make procedure call instead of function. - -2020-10-20 Justin Squirek - - * exp_ch6.adb (Expand_Branch): Properly anticipate expansion of - conditional expressions producing object declarations in - addition to assignment statements, and rename formal. - -2020-10-20 Yannick Moy - - * errout.adb (Write_Source_Code_Line): Adopt display closer to - GCC format. - (Output_Messages): Deal specially with info messages. - * erroutc.adb (Prescan_Message): Fix bug leading to check - messages being considered as error messages in pretty output - mode. - -2020-10-20 Justin Squirek - - * exp_ch6.adb (Expand_Call_Helper): Properly handle the case - where the condition of a conditional expression has been - optimized out when calculating the value of an extra - accessibility parameter. - -2020-10-20 Bob Duff - - * doc/gnat_ugn/gnat_utility_programs.rst: Change "_" to "-". - -2020-10-20 Arnaud Charlet - - * sem_aggr.adb (Resolve_Aggregate): Warn on not fully - initialized box aggregate. - * sem_aggr.ads: Fix typo. - * sem_res.adb (Resolve_Actuals): Fix typo in error message - format marking it incorrectly as a continuation message. - * sem_elab.adb (Check_Internal_Call_Continue): Similarly, add - missing primary message in case of a call to an actual generic - subprogram. - * sem_warn.adb (Check_References): Do not warn on read but never - assigned variables if the type is partially initialized. - * libgnat/a-except.ads, libgnat/a-ststun.ads, - libgnat/g-sechas.ads, libgnat/a-cbdlli.ads, - libgnat/a-cfdlli.ads, libgnat/a-cobove.ads, - libgnat/a-cohata.ads, libgnat/a-crbltr.ads, - libgnat/a-cbmutr.ads, libgnat/a-crdlli.ads, - libgnat/a-cbsyqu.ads: Address new warning. - * doc/gnat_ugn/building_executable_programs_with_gnat.rst: - Update doc on -gnatwv. - * gnat_ugn.texi: Regenerate. - -2020-10-20 Gary Dismukes - - * sem_ch6.adb (Analyze_Expression_Function): Mark static - expression functions as inlined. - -2020-10-20 Arnaud Charlet - - * contracts.adb (Is_Prologue_Renaming): This function was - missing support for E_Constant which can also be generated in - protected objects. - -2020-10-20 Arnaud Charlet - - * bindgen.adb (Gen_Bind_Env_String): Generate Ada 2012 compatible - strings. Code cleanup. - -2020-10-20 Yannick Moy - - * sem_util.adb, sem_util.ads: Comment fix. - -2020-10-20 Arnaud Charlet - - * sem_ch8.adb (Check_Constrained_Object): Suppress discriminant - checks when the type has default discriminants and comes from - expansion of a "for of" loop. - -2020-10-20 Bob Duff - - * atree.ads: Make Default_Node a constant. Remove the - modification of Comes_From_Source, and use a separate flag for - that. Change Sloc to 0; it always overwritten, and never left - as the No_Location value. - (Print_Statistics): Move to spec so we can call it from - gnat1drv. - (Num_Nodes): Rename to clarify that this is approximate. - Correct comment: nodes and entities are never deleted, the count - is never decremented, and this is not used by Xref. - (Initialize): Correct comment: Error_List is not created here. - Other minor naming and comment changes. - * atree.adb (Extend_Node, New_Copy, New_Entity, New_Node): - Streamline these. Simplify and improve efficiency. Move code - from Allocate_Initialize_Node to these, where it can be executed - unconditionally. Take advantage of automatic zeroing of the - Nodes table. - (Allocate_Initialize_Node): Remove this. It was an efficiency - bottleneck, and somewhat complicated, because it was called from - 4 places, and had all sorts of conditionals to check where it - was called from. Better to move most of that code to the call - sites, where it can be executed (or not) unconditionally. - (Allocate_New_Node): New procedure to partly replace - Allocate_Initialize_Node (called from just 2 of those 4 places). - (Comes_From_Source_Default): New flag written/read by - Set_Comes_From_Source_Default/Get_Comes_From_Source_Default. - This allows us to make Default_Node into a constant with - all-zeros value. - (Set_Paren_Count_Of_Copy): New procedure to avoid duplicated - code. - (Report): New procedure to encapsulate the call to the reporting - procedure. - (Atree_Private_Part): We now need a body for this package, to - contain package body Nodes. - (Approx_Num_Nodes_And_Entities): Was Num_Nodes. For efficiency, - compute the answer from Nodes.Last. That way we don't need to - increment a counter on every node creation. Other minor naming - and comment changes. - * gnat1drv.adb: Call Atree.Print_Statistics if -gnatd.A switch - was given. Add comment documenting the new order dependency (we - must process the command line before calling Atree.Initialize). - * debug.adb: Document -gnatd.A. - * einfo.adb, sinfo.adb: Remove useless Style_Checks pragmas. - * nlists.ads (Allocate_List_Tables): Inline makes node creation - a little faster. - * nlists.adb (Initialize): Remove local constant E, which didn't - seem to add clarity. - * treepr.adb (Print_Init): Use renamed - Approx_Num_Nodes_And_Entities function. - * types.ads: Change the Low and High bounds as described above. - * types.h: Change Low and High bounds to match types.ads. - * sem_ch8.adb, namet.adb, namet.ads: Move the computation of - Last_Name_Id from sem_ch8 to namet, and correct it to not assume - Name_Ids are positive. - * ali.adb, ali-util.adb, bindo-writers.adb, exp_dist.adb, - fmap.adb, fname-uf.adb, osint.adb: Fix various hash functions to - avoid assuming the various ranges are positive. Note that "mod" - returns a nonnegative result when the second operand is - positive. "rem" can return negative values in that case (in - particular, if the first operand is negative, which it now is). - * switch-c.adb: Allow switch -gnaten to control the value of - Nodes_Size_In_Meg. - * doc/gnat_ugn/building_executable_programs_with_gnat.rst: - Remove traling whitespaces. - * opt.ads (Nodes_Size_In_Meg): New Variable. - -2020-10-20 Eric Botcazou - - * exp_util.adb (Remove_Side_Effects): Always generate a renaming - that is handled by the front-end in the case of an indexed or a - selected component whose prefix has a nonstandard representation. - -2020-10-20 Pat Rogers - - * doc/gnat_rm/the_gnat_library.rst: Add Ada.Task_Initialization. - * gnat_rm.texi: Regenerate. - -2020-10-20 Yannick Moy - - * errout.adb: (Error_Msg-Internal): Pass the location for a line - insertion if any in the message. - (Output_Messages: Add display of source code lines if -gnatdF is - set. - (Write_Source_Code_Line): Code clean up. - * erroutc.adb (Prescan_Message): Apply prescan for continuation - lines when -gnatdF is set, and record presence of line - insertion. - * erroutc.ads (Has_Insertion_Line): New global for prescan. - (Error_Msg_Object): Add field to record line insertion if - present. - * errutil.adb (Error_Msg): Pass no location for Insertion_Sloc. - -2020-10-20 Arnaud Charlet - - * exp_ch5.adb (Expand_N_Case_Statement): Do not generate - validity check when possible. - -2020-10-20 Ed Schonberg - - * exp_aggr.adb (Expand_Iterated_Component): Reorganize code to - ensure that Loop_Id is properly initialized on all paths, and - remove code duplication. - -2020-10-20 Piotr Trojanek - - * sem_ch3.adb (Analyze_Subtype_Declaration): Propagate predicate - function to full view of the created type as well, if it was - created. - -2020-10-20 Arnaud Charlet - - * exp_attr.adb (Expand_N_Attribute_Reference): Merge handling of - Simple_Storage_Pool and Storage_Pool. - -2020-10-20 Piotr Trojanek - - * aspects.ads: Introduce Subprogram_Variant aspect with the - following properties: GNAT-specific, with mandatory expression, - not a representation aspect, never delayed. - * contracts.adb (Expand_Subprogram_Contract): Mention new aspect - in the comment. - (Add_Contract_Item): Support addition of pragma - Subprogram_Variant to N_Contract node. - (Analyze_Entry_Or_Subprogram_Contract): Mention new aspect in - the comment; add pragma Subprogram_Variant to N_Contract node. - (Build_Postconditions_Procedure): Adapt call to - Insert_Before_First_Source_Declaration, which is now reused in - expansion of new aspect. - (Process_Contract_Cases_For): Also process Subprogram_Variant, - which is stored in N_Contract node together with Contract_Cases. - * contracts.ads (Analyze_Entry_Or_Subprogram_Contract): Mention - new aspect in the comment. - (Analyze_Entry_Or_Subprogram_Body_Contract): Likewise. - * einfo.adb (Get_Pragma): Support retrieval of new pragma. - * einfo.ads (Get_Pragma): Likewise. - * exp_ch6.adb (Check_Subprogram_Variant): New routine for - emitting call to check Subprogram_Variant expressions at run - time. - (Expand_Call_Helper): Check Subprogram_Variant expressions at - recursive calls. - * exp_prag.adb (Make_Op): Moved from expansion of pragma - Loop_Variant to Exp_Util, so it is now reused for expansion of - pragma Subprogram_Variant. - (Process_Variant): Adapt call to Make_Op after moving it to - Exp_Util. - (Expand_Pragma_Subprogram_Variant): New routine. - * exp_prag.ads (Expand_Pragma_Subprogram_Variant): Likewise. - * exp_util.adb (Make_Variant_Comparison): Moved from Exp_Prag - (see above). - * exp_util.ads (Make_Variant_Comparison): Likewise. - * inline.adb (Remove_Aspects_And_Pragmas): Handle aspect/pragma - Subprogram_Variant just like similar contracts. - * par-prag.adb (Prag): Likewise. - * sem.adb (Insert_Before_First_Source_Declaration): Moved from - Contracts (see above). - * sem.ads (Insert_Before_First_Source_Declaration): Likewise. - * sem_ch12.adb: Mention new aspect in the comment about - "Implementation of Generic Contracts", just like similar aspects - are mentioned there. - * sem_ch13.adb (Insert_Pragma): Mention new aspect in the - comment, because this routine is now used for Subprogram_Variant - just like for other similar aspects. - (Analyze_Aspect_Specifications): Mention new aspect in comments; - it is handled just like aspect Contract_Cases. - (Check_Aspect_At_Freeze_Point): Do not expect aspect - Subprogram_Variant just like we don't expect aspect - Contract_Cases. - * sem_prag.adb (Ensure_Aggregate_Form): Now also used for pragma - Subprogram_Variant, so update comment. - (Analyze_Pragma): Add initial checks for pragma - Subprogram_Variant. - (Analyze_Subprogram_Variant_In_Decl_Part): New routine with - secondary checks on the new pragma. - (Sig_Flags): Handle references within pragma Subprogram_Variant - expression just like references in similar pragma - Contract_Cases. - (Is_Valid_Assertion_Kind): Handle Subprogram_Variant just like - other similar contracts. - * sem_prag.ads (Analyze_Subprogram_Variant_In_Decl_Part): New - routine. - * sem_res.adb (Same_Or_Aliased_Subprograms): Moved to Sem_Util, - so it can be reused for detection of recursive calls where - Subprogram_Variant needs to be verified. - * sem_util.adb (Is_Subprogram_Contract_Annotation): Handle new - Subprogram_Variant annotation just like other similar - annotations. - (Same_Or_Aliased_Subprograms): Moved from Sem_Res (see above). - * sem_util.ads (Is_Subprogram_Contract_Annotation): Mention new - aspect in the comment. - (Same_Or_Aliased_Subprograms): Moved from Sem_Res (see above). - * sinfo.ads (N_Contract): Document handling of - Subprogram_Variant. - * snames.ads-tmpl: Add name for the internally generated - procedure with checks for Subprogram_Variant expression, name - for the new aspect and new pragma corresponding to aspect - Subprogram_Variant. - -2020-10-20 Piotr Trojanek - - * exp_util.ads: Reorder declaration. - -2020-10-19 Ed Schonberg - - * par-ch4.adb: (P_Aggregate_Or_Paren_Expr): Recognize - Iterated_Element_Component. - (P_Iterated_Component_Association): Rebuild node as an Iterated_ - Element_Association when Key_Expression is present, and attach - either the Loop_Parameter_Specification or the - Iterator_Specification to the new node. - * sem_aggr.adb: (Resolve_Container_Aggregate): - Resolve_Iterated_Association handles bota Iterated_Component_ - and Iterated_Element_Associations, in which case it analyzes and - resoles the orresponding Key_Expression. - * exp_aggr.adb (Expand_Iterated_Component): If a Key_Expression - is present, use it as the required parameter in the call to the - insertion routine for the destination container aggregate. Call - this routine for both kinds of Iterated_Associations. - -2020-10-19 Arnaud Charlet - - * exp_ch4.adb (Expand_Concatenate): Enable needed range checks. - -2020-10-19 Bob Duff - - * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): - Set the Warnings_Off flag on the pointer object used in the - expansion of iterators and similar. - -2020-10-19 Eric Botcazou - - * Makefile.rtl (PowerPC/Linux): Use s-taspri__posix.ads instead - of s-taspri__posix-noaltstack.ads for s-taspri.ads. - -2020-10-19 Piotr Trojanek - - * sem_ch13.adb (Add_Call): Remove excessive condition and - unnecessary call to Set_Has_Predicates. - -2020-10-19 Yannick Moy - - * debug.adb: Use debug switch -gnatdF for this alternative - display of messages. - * errout.adb (Output_Messages): Alternative display when -gnatdF - is used. - * erroutc.adb (Output_Msg_Text): Likewise. - -2020-10-19 Arnaud Charlet - - * sem_ch6.adb (Check_Untagged_Equality): Check for AI12-0352. - -2020-10-19 Ed Schonberg - - * exp_ch6.adb (Add_View_Conversion_Invariants): Do not insert - generated invariant checks when the call is a function call. - These tests are properly inserted in the code in procedure - Insert_Post_Call_Actions, which takes care of finding the proper - insertion point for the checks. - (Insert_Post_Call_Actions): Add question marks to indicate - possible gap in handling function calls that appear as aggregate - components. - -2020-10-19 Arnaud Charlet - - * contracts.adb (Process_Preconditions_For): Do not exclude - instances. - * sem_ch4.adb (Analyze_Quantified_Expression): Disable spurious - warning on internally generated variables. - -2020-10-19 Ghjuvan Lacambre - - * debug.adb: Document -gnatd_c flag as being used for CUDA. - * gnat_cuda.ads: New file. - * gnat_cuda.adb: New file. - * rtsfind.ads: Add Interfaces_C_Strings package and - RE_Fatbin_Wrapper, RE_Register_Fat_Binary, - RE_Register_Fat_Binary_End, RE_Register_Function, RE_Chars_Ptr, - RE_New_Char_Array entities. - * rtsfind.adb: Create new Interfaces_C_Descendant subtype, - handle it. - * sem_ch7.adb (Analyze_Package_Body_Helper): Call CUDA init - procedure. - * sem_prag.adb (Analyze_Pragma): Call Add_Cuda_Kernel procedure. - * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Add gnat_cuda.o. - -2020-10-19 Bob Duff - - * ghost.adb (Whole_Object_Ref): New function to compute the name - of the whole object. - (Mark_And_Set_Ghost_Assignment): Rewrite to use - Whole_Object_Ref. We need to partly analyze the left-hand side - in order to distinguish expanded names and record components. - * lib-xref.ads, lib-xref.adb (Deferred_References): Move table - to body, and add Defer_Reference to update the table, avoiding - duplicates. - (Generate_Reference): Avoid duplicates. - * sem_ch8.ads, sem_ch8.adb (Find_Direct_Name): Remove _OK - parameters, which are no longer needed. Ignore errors in - Ignore_Errors mode. - * sem_util.ads, sem_util.adb (Preanalyze_Without_Errors): Make - this public, so we can call it from Ghost. - * errout.ads, scng.adb, sem_prag.adb: Minor. - -2020-10-19 Ghjuvan Lacambre - - * exp_attr.adb (Expand_N_Attribute_Reference): Check if type - depends on discriminant. - -2020-10-19 Bob Duff - - * libgnat/a-coinve.adb, libgnat/a-cidlli.adb (Put_Image): Call - Iterate. - -2020-10-19 Arnaud Charlet - - * sem_aggr.adb (Resolve_Record_Aggregate): Properly apply - subtype constraints when using a Default_Value. - * freeze.adb: Fix typo. - -2020-10-19 Yannick Moy - - * sem_ch13.adb (Analyze_Aspect_Relaxed_Initialization): Fix bug - where a call to Error_Msg_N leads to crash due to - Error_Msg_Name_1 being removed by the call, while a subsequent - call to Error_Msg_N tries to use it. The variable - Error_Msg_Name_1 should be restored prior to the next call. Also - add checking for the new rules. - -2020-10-19 Arnaud Charlet - - * checks.adb (Apply_Type_Conversion_Checks): Minor code clean - up. - * exp_ch4.adb (Discrete_Range_Check): Optimize range checks. - Update comments. - (Expand_N_Type_Conversion): Generate range check when rewriting - a type conversion if needed. Add assertion. - * exp_ch6.adb (Expand_Simple_Function_Return): Minor code clean - up. - * sem_res.adb (Resolve_Type_Conversion): Apply range check when - needed. Update comments. - -2020-10-19 Yannick Moy - - * libgnat/a-textio.ads: Update top-level comment. - -2020-10-19 Piotr Trojanek - - * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): Fix typo. - -2020-10-19 Piotr Trojanek - - * exp_ch6.adb (Expand_Actuals): Simplify condition for by-copy - types. - -2020-10-19 Yannick Moy - - * errout.ads: Add comment regarding lack of preservation of - Errout state across successive calls to the API. - -2020-10-19 Bob Duff - - * exp_put_image.adb (Build_Elementary_Put_Image_Call): Use the - base type to recognize various cases of access types. - * libgnat/a-cbdlli.adb, libgnat/a-cbdlli.ads, libgnat/a-cbhama.adb, - libgnat/a-cbhama.ads, libgnat/a-cbhase.adb, libgnat/a-cbhase.ads, - libgnat/a-cbmutr.adb, libgnat/a-cbmutr.ads, libgnat/a-cborma.adb, - libgnat/a-cborma.ads, libgnat/a-cborse.adb, libgnat/a-cborse.ads, - libgnat/a-cdlili.adb, libgnat/a-cdlili.ads, libgnat/a-cidlli.adb, - libgnat/a-cidlli.ads, libgnat/a-cihama.adb, libgnat/a-cihama.ads, - libgnat/a-cihase.adb, libgnat/a-cihase.ads, libgnat/a-cimutr.adb, - libgnat/a-cimutr.ads, libgnat/a-ciorma.adb, libgnat/a-ciorma.ads, - libgnat/a-ciormu.adb, libgnat/a-ciormu.ads, libgnat/a-ciorse.adb, - libgnat/a-ciorse.ads, libgnat/a-coboho.adb, libgnat/a-coboho.ads, - libgnat/a-cobove.adb, libgnat/a-cobove.ads, libgnat/a-cohama.adb, - libgnat/a-cohama.ads, libgnat/a-cohase.adb, libgnat/a-cohase.ads, - libgnat/a-coinho.adb, libgnat/a-coinho.ads, - libgnat/a-coinho__shared.adb, libgnat/a-coinho__shared.ads, - libgnat/a-coinve.adb, libgnat/a-coinve.ads, libgnat/a-comutr.adb, - libgnat/a-comutr.ads, libgnat/a-coorma.adb, libgnat/a-coorma.ads, - libgnat/a-coormu.adb, libgnat/a-coormu.ads, libgnat/a-coorse.adb, - libgnat/a-coorse.ads, libgnat/a-strunb.adb, libgnat/a-strunb.ads, - libgnat/a-strunb__shared.adb, libgnat/a-strunb__shared.ads: - Implement Put_Image attibute. - * libgnat/a-stteou.ads, libgnat/s-putima.ads, - libgnat/a-stouut.ads, libgnat/a-stoubu.adb: Make - Ada.Strings.Text_Output, Ada.Strings.Text_Output.Utils, and - System.Put_Images Pure, so they can be with'ed by Pure units - that should have Put_Image defined. - * libgnat/a-stouut.adb: Add missing column adjustments, and - remove a redundant one. - * libgnat/s-putima.adb (Put_Arrow): New routine to print an - arrow. Avoids adding a with clause to some containers. - -2020-10-19 Bob Duff - - * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Require matching - parens or brackets. - * par.adb, par-tchk.adb (T_Right_Bracket): New procedure to give - an error on missing ]. - -2020-10-19 Javier Miranda - - * sem_ch8.adb (Find_Direct_Name): Do not trust in the decoration - of the Entity attribute in constants associated with - discriminals of protected types. - -2020-10-19 Gary Dismukes - - * sem_disp.adb (Check_Dispatching_Context): When the enclosing - subprogram is abstract, bypass early return if the call is - tag-indeterminate, to continue with the later error checking. - -2020-10-19 Javier Miranda - - * sem_ch7.adb (Uninstall_Declarations): Uninstall the - declaration of a subtype declaration defined in the private part - of a package. - -2020-10-19 Arnaud Charlet - - * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Simplify code since - we are always under -gnatX if we encounter a Tok_Left_Bracket. - * scng.adb (Scan): [] is an aggregate under -gnatX and a wide - character otherwise. - -2020-10-19 Piotr Trojanek - - * exp_ch6.adb (Expand_Call_Helper): Cleanup. - -2020-10-19 Piotr Trojanek - - * exp_ch6.adb (Is_Direct_Deep_Call): Refine type from Node_Id to - Entity_Id. - -2020-10-19 Piotr Trojanek - - * exp_ch6.adb (May_Fold): Detect all operators, i.e. both binary - and unary ones. - -2020-10-19 Piotr Trojanek - - * inline.adb (Expand_Inlined_Call): Simplify repeated calls to - Nkind. - -2020-10-18 Alexandre Oliva - - * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Compile Ada.Numerics - child units Aux_Generic_Float, Aux_Long_Long_Float, Aux_Long_Float, - Aux_Float, Aux_Short_Float, Aux_Compat, and Aux_Linker_Options. - (X86_TARGET_PAIRS): Drop dummy body for Aux. Use x86 version - of Aux_Compat. - (X86_64_TARGET_PAIRS): Likewise. - (LIBGNAT_TARGET_PAIRS): On VxWorks, select the nolibm - variants. Drop the darwin version of Aux. Drop the redundant - libc-x86 numaux variants on x86* kfreebsd variants. - * libgnat/a-nagefl.ads: New Aux_Generic_Float. - * libgnat/a-naliop.ads: New Aux_Linker_Options. - * libgnat/a-naliop__nolibm.ads: New. - * libgnat/a-nallfl.ads: New Aux_Long_Long_Float. - * libgnat/a-nalofl.ads: New Aux_Long_Float. - * libgnat/a-nuaufl.ads: New Aux_Float. - * libgnat/a-nashfl.ads: New Aux_Short_Float. - * libgnat/a-ngcefu.adb (Exp): Factor out the Im (X) passed to - Sin and Cos in the Complex variant too. - * libgnat/a-ngcoty.adb: Switch to Aux_Generic_Float. Drop - redundant conversions. - * libgnat/a-ngelfu.adb: Likewise. - * libgnat/a-nuauco.ads: New Aux_Compat. - * libgnat/a-nuauco__x86.ads: New. - * libgnat/a-numaux.ads: Replace with Compat wrapper. - * libgnat/a-numaux__darwin.adb: Remove. - * libgnat/a-numaux__darwin.ads: Remove. - * libgnat/a-numaux__dummy.adb: Remove. - * libgnat/a-numaux__libc-x86.ads: Remove. - * libgnat/a-numaux__vxworks.ads: Remove. - -2020-10-16 Piotr Trojanek - - * checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch6.adb, - freeze.adb, sem_aggr.adb, sem_attr.adb, sem_ch13.adb, - sem_ch13.ads, sem_ch6.adb, sem_eval.adb, sem_util.adb: Fix style - and typos. - -2020-10-16 Arnaud Charlet - - * sem_cat.adb (Is_Primary): Handle N_Range properly. - -2020-10-16 Ghjuvan Lacambre - - * elists.ads (New_Elmt_List): New functions. - * elists.adb (New_Elmt_List): New functions. - * exp_prag.adb: Add dependency on Elists. - (Expand_Pragma_CUDA_Execute): New function. - (Expand_N_Pragma): Add call to Expand_Pragma_CUDA_Execute. - * rtsfind.ads: Add CUDA.Internal, CUDA.Runtime, System.C - packages and RE_Push_Call_Configuration, - RE_Pop_Call_Configuration, RE_Launch_Kernel, RO_IC_Unsigned, - RO_IC_Unsigned_Long_Long entities. - * rtsfind.adb: Extend Interfaces_Descendant to include - Interfaces_C. - -2020-10-16 Bob Duff - - * par-ch4.adb (P_Name): Allow Tok_Left_Bracket in two places to - call P_Qualified_Expression. We don't need to modify other - places that call P_Qualified_Expression, because a - qualified_expression is a name in Ada 2012 and higher, so P_Name - is the right place. The parser already parses aggregates with - brackets; we just need to allow that in qualified expressions. - -2020-10-16 Javier Miranda - - * sem_ch12.adb (Check_Generic_Child_Unit): When the child unit - is a renaming of a generic child unit then traverse the scope - containing the renaming declaration to locate the instance of - its parent. Otherwise the parent is not installed and the - frontend cannot process the instantiation. - -2020-10-16 Bob Duff - - * libgnat/a-numeri.ads: Remove the greek letter. - -2020-10-16 Ed Schonberg - - * exp_imgv.adb (Expand_Image_Attribute): Refine previous patch - to use root type (and not base type) on enumeration types. - -2020-10-16 Ed Schonberg - - * exp_imgv.adb (Expand_Image_Attribute): Use the base type - instead of the root type when type of object is private. Remove - Ada_2020 guard, because it has been checked during prior - analysis. Use Underlying_Type in all cases, as it is a no-op on - types that are not private. - -2020-10-16 Arnaud Charlet - - * aspects.ads, snames.ads-tmpl: Add support for - Exclusive_Functions aspect. - * sem_ch13.adb (Analyze_Aspect_Specifications): Ditto. - * exp_ch9.adb (Build_Protected_Subprogram_Body): Take aspect - Exclusive_Functions into account. - -2020-10-16 Arnaud Charlet - - * gcc-interface/Make-lang.in: Update dependencies on system.ads, - add gnatbind switch -t to avoid timestamp inconsistencies during - build. - * libgnat/system.ads: Move... - * gcc-interface/system.ads: ... here. - -2020-10-16 Gary Dismukes - - * sem_eval.adb (Subtypes_Statically_Match): Retrieve - discriminant constraints from the two types via new function - Original_Discriminant_Constraint rather than - Discriminant_Constraint. - (Original_Discriminant_Constraint): New function to locate the - nearest explicit discriminant constraint associated with a type - that may possibly have inherited a constraint from an ancestor - type. - -2020-10-16 Bob Duff - - * exp_ch6.adb (Expand_Simple_Function_Return): Remove obsolete - comment and code. - -2020-10-16 Arnaud Charlet - - PR ada/95953 - * libgnat/a-suenco.adb (Convert): Fix handling of third UTF-8 - byte. - -2020-10-16 Steve Baird - - * exp_util.adb (Is_Related_To_Func_Return): Cope with the case - where the FE introduces a type conversion. - -2020-10-16 Chris Martin - - * sem_util.ads, sem_util.adb (Is_Access_Variable): New function. - (Is_Synchronized_Object): Call new function when determining if - a constant can be regarded as synchronized. - -2020-10-16 Arnaud Charlet - - * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): - Call Set_BIP_Initialization_Call systematically. - * exp_ch7.adb (Process_Transient_In_Scope): Take - BIP_Initialization_Call into account to decide where to insert - the Hook. - -2020-10-16 Piotr Trojanek - - * sem_util.adb (Is_View_Conversion): Detect qualified types. - * sem_util.ads (Is_Actual_In_Out_Parameter): Fix style in - comment. - -2020-10-16 Arnaud Charlet - - * scil_ll.adb, sem_scil.adb: Update assertions. - -2020-10-16 Ed Schonberg - - * sem_attr.adb (Min_Max): Handle the case where attribute - name (qualified by required type) appears as the reducer of a - 'Reduce attribute reference. - (Resolve_Attribute) : Handle properly the presence of a - procedure or an attribute reference Min/Max as a reducer. - * exp_attr.adb (Expand_Attribute_Reference) : New - subprogram Build_Stat, to construct the combining statement - which appears in the generated loop for Reduce, and which is - either a function call when the reducer is a function or an - attribute, or a procedure call when reducer is an appropriate - procedure. BuilD_Stat is used both when the prefix of 'Reduce - is a value sequence and when it is an object - -2020-10-16 Arnaud Charlet - - * exp_ch4.adb (Expand_Concatenate): Allocate result of string - concatenation on secondary stack when relevant. - -2020-10-16 Ed Schonberg - - * sem_res.adb (Resolve_Declare_Expression): Retrieve the created - block entity that is the scope of the local declarations, from - either a local object declaration or an object renaming - declaration. The block entity does not have an explicit - declaration, but appears as the scope of all locally declared - objects. - -2020-10-16 Eric Botcazou - - * 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. - -2020-10-16 Arnaud Charlet - - * Makefile.rtl, gnat1drv.adb, expander.adb - doc/gnat_rm/implementation_defined_pragmas.rst, - doc/gnat_ugn/building_executable_programs_with_gnat.rst, - doc/gnat_ugn/the_gnat_compilation_model.rst, exp_ch5.ads, - exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb, - exp_util.ads, libgnarl/s-osinte__aix.adb, - libgnarl/s-osinte__android.adb, libgnarl/s-osinte__darwin.adb, - libgnarl/s-osinte__gnu.adb, libgnarl/s-osinte__hpux-dce.adb, - libgnarl/s-osinte__lynxos178.adb, libgnarl/s-osinte__posix.adb, - libgnarl/s-osinte__qnx.adb, libgnarl/s-osinte__rtems.adb, - libgnarl/s-osinte__solaris.adb, libgnarl/s-osinte__vxworks.adb, - libgnarl/s-osinte__x32.adb, libgnarl/s-solita.adb, - libgnarl/s-taasde.adb, libgnarl/s-taprob.adb, - libgnarl/s-taprop__dummy.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-tarest.adb, libgnarl/s-tasini.adb, - libgnarl/s-taskin.adb, libgnarl/s-taspri__dummy.ads, - libgnarl/s-taspri__hpux-dce.ads, libgnarl/s-taspri__lynxos.ads, - libgnarl/s-taspri__mingw.ads, - libgnarl/s-taspri__posix-noaltstack.ads, - libgnarl/s-taspri__posix.ads, libgnarl/s-taspri__solaris.ads, - libgnarl/s-taspri__vxworks.ads, libgnarl/s-tassta.adb, - libgnarl/s-tasuti.adb, libgnarl/s-tposen.adb, - libgnat/a-except.adb, libgnat/a-except.ads, - libgnat/s-dwalin.adb, libgnat/s-dwalin.ads, - libgnat/s-mastop.ads, libgnat/s-soflin.adb, - libgnat/s-stalib.adb, libgnat/s-stalib.ads, - libgnat/s-stchop.adb, libgnat/s-stchop.ads, - libgnat/s-stchop__limit.ads, libgnat/s-traceb.ads, - libgnat/s-traent.adb, libgnat/s-traent.ads, - libgnat/s-trasym.adb, libgnat/s-trasym.ads, - libgnat/s-trasym__dwarf.adb, opt.adb, opt.ads, par-prag.adb, - sem_prag.adb, snames.ads-tmpl, switch-c.adb, targparm.adb, - targparm.ads, usage.adb: Remove support for -gnatP and pragma - Polling. - * gnat_ugn.texi: Regenerate. - * libgnat/a-excpol.adb, libgnat/a-excpol__abort.adb: Removed. - -2020-10-16 Piotr Trojanek - - * sem_ch3.adb (Array_Type_Declaration): Create itype with unique - name. - -2020-10-16 Piotr Trojanek - - * sem_ch3.adb (Analyze_Object_Declaration): Limit scope of a - local object by hiding it from local subprograms; simplify - nested if-then-if-then condition for an Ada 83 restriction. - (Array_Type_Declaration): Confirm with assertion when the else - branch is executed. - (Find_Type_Of_Object): Simplify membership test with a subtype - range. - -2020-10-16 Yannick Moy - - * sem_prag.adb (Analyze_Global_In_Decl_Part): Update check to - reject volatile object for reading. - * sem_res.adb (Resolve_Actuals, Resolve_Entity_Name): Update - check to reject volatile object for reading. - * sem_util.adb, sem_util.ads - (Check_Nonvolatile_Function_Profile, - Has_Effectively_Volatile_Profile): Detect use of volatile object - for reading. - (Has_Enabled_Property): Accept constants as well. - (Is_Effectively_Volatile_For_Reading): New function based on - existing Is_Effectively_Volatile. - (Is_Effectively_Volatile_Object_For_Reading): Adapted from the - existing Is_Effectively_Volatile_Object, using a shared - implementation in Is_Effectively_Volatile_Object_Shared. - -2020-10-16 Gary Dismukes - - * exp_ch7.adb (Check_Unnesting_In_Decls_Or_Stmts): In the case - of an if-statement, call Unnest_If_Statement to determine - whether there are nested subprograms in any of the statement - lists of the "if" parts that require a wrapping procedure to - handle possible up-level refeferences. - (Unnest_Block): Call Check_Unnesting_In_Handlers to do unnesting - of subprograms in exception handlers of the block statement. - (Unnest_If_Statement): New procedure to traverse the parts of an - if-statement and create wrapper procedures as needed to - encapsulate nested subprograms that may make up-level - references. - (Check_Stmts_For_Subp_Unnesting): New support procedure in - Unnest_If_Statement to traverse a statement list looking for - top-level subprogram bodies that require wrapping inside a - procedure (via Unnest_Statement_List) as well as possibly having - other statements (block, loop, if) that may themselves require - an unnesting transformation (via - Check_Unnesting_In_Decls_Or_Stmts). - (Unnest_Statement_List): New support procedure to traverse the - statements of a statement list that contains subprogram bodies - at the top level and replace the statement list with a wrapper - procedure body encapsulating the statements and a call to the - procedure. - -2020-10-16 Arnaud Charlet - - * sem_prag.adb (Check_OK_Stream_Convert_Function): Check for - abstract subprograms. - -2020-10-16 Piotr Trojanek - - * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst - (No_Local_Timing_Events): Package Timing_Events is a child of - Ada.Real_Time, not of Ada. - * gnat_rm.texi: Regenerate. - -2020-10-16 Eric Botcazou - - * doc/gnat_rm/implementation_defined_attributes.rst: Document the - new Max_Integer_Size attribute. - * gnat_rm.texi: Regenerate. - * exp_attr.adb (Get_Integer_Type): Call Small_Integer_Type_For. - (Expand_N_Attribute_Reference) : Replace selection - code with call to Integer_Type_For. - : Likewise. - : Likewise. - : Likewise. - : Raise Program_Error. - * exp_ch3.adb (Expand_Freeze_Enumeration_Type): Replace selection - code with call to Integer_Type_For. - (Simple_Init_Initialize_Scalars_Type): Use Long_Long_Unsigned and - System_Max_Integer_Size to size the largest integer type. - * exp_pakd.adb (Compute_Linear_Subscript): Minor tweak. - (Create_Packed_Array_Impl_Type): Use Small_Integer_Type_For. - * exp_util.ads (Integer_Type_For): New function. - (Small_Integer_Type_For): Likewise. - * exp_util.adb (Adjust_Condition): Use Integer_Type_For. - (Component_May_Be_Bit_Aligned): Use System_Max_Integer_Size. - (Integer_Type_For): New function. - (Small_Integer_Type_For): Likewise. - (Matching_Standard_Type): Use Small_Integer_Type_For. - (Needs_Constant_Address): Replace 64 with System_Max_Integer_Size. - * freeze.adb (Set_Small_Size): Likewise. - (Size_Known): Likewise. - (Check_Suspicious_Modulus): Likewise. - (Check_Large_Modular_Array): Likewise. - (Freeze_Entity): Likewise. - * layout.adb (Layout_Type): Likewise. - * sem_aggr.adb: Add with and use clauses for Ttypes. - (Resolve_Aggregate): Replace 64 with System_Max_Integer_Size. - * sem_attr.ads (Attribute_Impl_Def): Add Attribute_Max_Integer_Size. - * sem_attr.adb (Analyze_Attribute) : New - (Eval_Attribute): Likewise. - * sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): Change max - scalar size to System_Max_Integer_Size. - (Check_Array_Type): Replace 64 with System_Max_Integer_Size and - remove superfluous test. - (OK_Component): Likewise. - * sem_ch5.adb: Add with and use clauses for Ttypes. - (Analyze_Assignment): Replace 64 with System_Max_Integer_Size. - * snames.ads-tmpl (Name_Max_Integer_Size): New attribute name. - (Attribute_Id): Add Attribute_Max_Integer_Size. - * ttypes.ads (System_Max_Integer_Size): New constant. - -2020-10-15 Arnaud Charlet - - * sem_ch10.adb (Install_With_Clause): Fix implementation of Ada - 2005 AI-262 by taking into account generic packages. Minor - reformatting. - * libgnat/a-cbhase.ads, libgnat/a-cbhase.adb: Remove use clause - on runtime unit spec. - -2020-10-15 Arnaud Charlet - - * einfo.ads, einfo.adb (Scope_Depth_Value, - Set_Scope_Depth_Value): Add assertions on valid nodes and update - documentation accordingly. - (Write_Field22_Name): Sync with change in Scope_Depth_Value. - * sem_ch8.adb (Find_Direct_Name): Fix call to Scope_Depth_Value. - -2020-10-15 Javier Miranda - - * sem_prag.adb (Analyze_Pragma): Adding semantic support of - Standard to Default_Storage_Pool. - * freeze.adb (Freeze_Entity): If pragma Default_Storage_Pool - applies and it is set to Standard then use the global pool as - the associated storage pool of the access type. - -2020-10-15 Javier Miranda - - * exp_ch6.ads (Might_Have_Tasks): Update documentation. - * exp_ch6.adb (Might_Have_Tasks): Return also true when the type - has tasks. - (Make_Build_In_Place_Call_In_Allocator): Code cleanup. - * exp_ch3.adb (Ensure_Activation_Chain_And_Master, - Expand_N_Full_Type_Declaration, Expand_N_Object_Declaration): - Code cleanup. - -2020-10-15 Steve Baird - - * checks.adb (Apply_Predicate_Check): Generate "infinite - recursion" warning message even if run-time predicate checking - is disabled. - * exp_ch6.adb (Expand_Simple_Function_Return): In testing - whether the returned expression is a function call, look for the - case where the call has been transformed into a dereference of - an access value that designates the result of a function call. - * sem_ch3.adb (Analyze_Object_Declaration): Legality checking - for a static expression is unaffected by assertion policy (and, - in particular, enabling/disabling of subtype predicates. To get - the right legality checking, we need to call - Check_Expression_Against_Static_Predicate for a static - expression even if predicate checking is disabled for the given - predicate-bearing subtype. On the other hand, we don't want to - call Make_Predicate_Check unless predicate checking is enabled. - * sem_ch7.adb (Uninstall_Declarations.Preserve_Full_Attributes): - Preserve the Predicates_Ignored attribute. - * sem_eval.adb (Check_Expression_Against_Static_Predicate): - Previously callers ensured that this procedure was only called - if predicate checking was enabled; that is no longer the case, - so predicates-disabled case must be handled. - * sem_prag.adb (Analyze_Pragma): Fix bug in setting - Predicates_Ignored attribute in Predicate pragma case. - -2020-10-15 Ed Schonberg - - * freeze.adb (Freeze_Fixed_Point_Type): Do not scale the bounds - of a declared subtype using the 'Small of the type; this is - done during resolution of the bound itself, unlike what is done - for the bounds of the base type, which are used to determine its - required size. Previous code performed this scaling twice, - leading to meaningless values for such a subtype. - -2020-10-15 Piotr Trojanek - - * sem_util.adb (Bad_Predicated_Subtype_Use): Emit an - unconditional error, not a conditional warning. - -2020-10-15 Piotr Trojanek - - * sem_ch3.adb (Process_Subtype): Combine guards for - Null_Exclusion_Present in May_Have_Null_Exclusion; use this - combined guard when checking AI-231. - -2020-10-15 Piotr Trojanek - - * sem_ch3.adb (Process_Subtype): Sync May_Have_Null_Exclusion - with assertion in Null_Exclusion_Present; clarify the scope of - local variables. - -2020-10-15 Piotr Trojanek - - * sem_ch3.adb (Analyze_Subtype_Declaration): Fix style. - (Make_Index): Refactor to avoid repeated detection of subtype - indication; add comment. - -2020-10-15 Piotr Trojanek - - * sem_prag.adb (Is_Acceptable_Dim3): Use Is_RTE to not pull CUDA - package unless necessary; rename local Tmp variable; iterate - with procedural Next. - -2020-10-15 Piotr Trojanek - - * sem_ch3.adb (Array_Type_Declaration): Refine type of a local - variable. - (Make_Index): Simplify to avoid assignment with a type entity - and then backtracking by reassigning to Empty; remove excessive - whitespace. - * sem_ch9.adb (Analyze_Entry_Body): Remove extra parens. - -2020-10-15 Piotr Trojanek - - * sem_ch3.adb (Access_Subprogram_Declaration): Remove extra - parens. - (Make_Index): Remove excessive calls to Is_Type. - -2020-10-15 Arnaud Charlet - - * sem_util.adb (Enter_Name): Remove unnecessary conditions in - Enter_Name that come from the beginning of times. - -2020-10-15 Bob Duff - - * exp_ch6.adb (Expand_Simple_Function_Return): Remove DSP part - of comment, and reformat. - -2020-10-15 Boris Yakobowski - - * exp_attr.adb (Expand_N_Attribute_Reference): Do not expand - 'Initialized in CodePeer mode. - -2020-10-15 Arnaud Charlet - - * sem_ch12.adb (Reset_Entity): Protect against malformed tree. - -2020-10-15 Arnaud Charlet - - * sem_ch13.adb (Add_Predicates): Prevent analyzing twice the - same pragma in case an inner package references the type with a - predicate (as opposed to defining the type). - -2020-10-15 Eric Botcazou - - * libgnat/a-cfinve.adb (Int): Use subtype of Long_Long_Integer. - * libgnat/a-cofove.adb (Int): Likewise. - * libgnat/a-cgcaso.adb (T): Likewise. - * libgnat/a-cogeso.adb (T): Likewise. - * libgnat/g-debpoo.ads (Byte_Count): Use Long_Long_Integer'Size. - -2020-10-15 Piotr Trojanek - - * sem_ch12.adb: Replace list of N_Defining_... enumerations with - N_Entity. - -2020-10-15 Piotr Trojanek - - * sem_ch3.ads, sem_ch3.adb (Make_Index): Refined type of - parameter. - (Constrain_Index): Likewise. - (Array_Type_Declaration): Refine type of a local counter - variable; remove a trivially useless initialization. - -2020-10-15 Piotr Trojanek - - * sem_ch3.adb (Analyze_Subtype_Declaration): Recognize both - identifiers and expanded names; use high-level Is_Scalar_Type - instead of low-level membership test. - -2020-10-15 Arnaud Charlet - - * sem_eval.adb (Eval_Intrinsic_Call, Fold_Shift): Add support - for Shift_Right_Arithmetic and for signed integers. - * exp_ch4.adb (Expand_N_Op_Rotate_Left, - Expand_N_Op_Rotate_Right, Expand_N_Op_Shift_Left, - Expand_N_Op_Shift_Right_Arithmetic): Minor reformatting and code - cleanup to ensure a consistent handling. Update comments and add - assertion. - -2020-10-15 Bob Duff - - * sem_ch13.adb (Visible_Component): Enable this code for task - and protected types, as well as record and private types. - * sem_ch13.ads (Replace_Type_References_Generic): Update - comment. Move the efficiency comment into the body, because - it's about the implementation. - -2020-10-15 Arnaud Charlet - - * par-ch13.adb (Get_Aspect_Specifications): Generate a warning - rather than an error on unknown aspects unless -gnatd2 is used. - (Aspect_Specifications_Present): Improve detection of unknown - aspects. - * debug.adb (Debug_Flag_2): Update document. - -2020-10-15 Arnaud Charlet - - * sem_res.adb (Resolve_Call): Do not try to inline intrinsic - calls. - -2020-10-15 Ed Schonberg - - * exp_aggr.adb (Expand_N_Aggregate): A record aggregate requires - a non-private type. - * sem_ch13.adb (Valid_Assign_Indexed): New subprogram local to - Resolve_Aspect_Aggregate, to handle the case when the - corresponding name appearing in the aspect specification for an - indexed aggregate is an overloaded operation. - * libgnat/a-convec.ads, libgnat/a-convec.adb, - libgnat/a-coinve.ads, libgnat/a-coinve.adb, - libgnat/a-cobove.ads, libgnat/a-cobove.adb, - libgnat/a-cdlili.ads, libgnat/a-cdlili.adb, - libgnat/a-cbdlli.ads, libgnat/a-cbdlli.adb, - libgnat/a-cohama.ads, libgnat/a-cihama.ads, - libgnat/a-cbhama.ads, libgnat/a-cborma.ads, - libgnat/a-ciorma.ads, libgnat/a-coorma.ads, - libgnat/a-cihase.ads, libgnat/a-cohase.ads, - libgnat/a-cbhase.ads, libgnat/a-cborse.ads, - libgnat/a-ciorse.ads, libgnat/a-coorse.ads: Add Ada_2020 aspect - Aggregate to types declared in standard containers, as well as - new subprograms where required. - -2020-10-15 Arnaud Charlet - - * libgnat/g-arrspl.ads, libgnat/g-arrspl.adb (Create, - First_Cursor, Advance, Has_Element): New. - -2020-10-15 Arnaud Charlet - - * Makefile.rtl: Add target pair for interfac.ads. - * libgnat/interfac.ads: Add a comment. - * libgnat/interfac__2020.ads: New, used for bootstrap purposes. - * sem_util.adb (Is_Static_Function): Always return False for pre - Ada 2020 to e.g. ignore the Static aspect in Interfaces for - Ada < 2020. - -2020-10-15 Piotr Trojanek - - * exp_util.adb (Remove_Side_Effects): Move special-casing for - GNATprove to be applied to all object declarations. - -2020-10-12 Alexandre Oliva - - * libgnat/a-ngelfu.ads (Sin, Cos): Make the single-argument - functions inline. - -2020-10-11 Alexandre Oliva - - * libgnat/a-numaux.ads: Make all imports Intrinsic. - * libgnat/a-numaux__darwin.ads: Likewise. - * libgnat/a-numaux__libc-x86.ads: Likewise. - * libgnat/a-numaux__vxworks.ads: Likewise. - -2020-09-28 Eric Botcazou - - * gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the end locus - of body and declaration earlier. - -2020-09-28 Eric Botcazou - - * gcc-interface/decl.c (maybe_saturate_size): Add ALIGN parameter - and round down the result to ALIGN. - (gnat_to_gnu_entity): Adjust calls to maybe_saturate_size. - -2020-09-14 Jakub Jelinek - - * gcc-interface/trans.c (gigi): Adjust build_optimization_node - caller. - -2020-09-12 Eric Botcazou - - * fe.h: Fix pilot error in previous change. - * gcc-interface/gigi.h (enum standard_datatypes): Add ADT_mulv128_decl. - (mulv128_decl): New macro. - (get_target_long_long_long_size): Declare. - * gcc-interface/decl.c (gnat_to_gnu_entity): Use a maximum size of - 128 bits for discrete types if Enable_128bit_Types is true. - * gcc-interface/targtyps.c: Include target.h. - (get_target_long_long_long_size): New function. - * gcc-interface/trans.c (gigi): Initialize mulv128_decl if need be. - (build_binary_op_trapv): Call it for 128-bit multiplication. - * gcc-interface/utils.c (make_type_from_size): Enforce a maximum - size of 128 bits if Enable_128bit_Types is true. - -2020-09-12 Eric Botcazou - - * gcc-interface/trans.c (lvalue_for_aggr_p) : - Return false unconditionally. - -2020-09-12 Eric Botcazou - - * gcc-interface/trans.c (gnat_to_gnu) : Clear - the SLOC of the expression of a tag. - -2020-09-12 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_entity) : Only give - a warning for the overlay of an aliased array with an unconstrained - nominal subtype if the address is absolute. - -2020-09-11 Eric Botcazou - - * gcc-interface/utils.c (type_has_variable_size): New function. - (create_field_decl): In the packed case, also force byte alignment - when the type of the field has variable size. - -2020-09-11 Eric Botcazou - - * gcc-interface/misc.c (get_array_bit_stride): Return TYPE_ADA_SIZE - for record and union types. - -2020-09-11 Eric Botcazou - - * gcc-interface/misc.c (gnat_get_fixed_point_type): Bail out only - when the GNAT encodings are specifically used. - -2020-09-11 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_entity) : Only - create extra subtypes for discriminants if the RM size of the base - type of the index type is lower than that of the index type. - -2020-09-10 Eric Botcazou - - * gcc-interface/decl.c (set_rm_size): Do not take into account the - Value_Size clause if it is not for the entity itself. - -2020-09-10 Eric Botcazou - - * gcc-interface/decl.c (build_subst_list): For a definition, make - sure to instantiate the SAVE_EXPRs generated by the elaboration of - the constraints in front of the elaboration of the type itself. - -2020-09-10 Eric Botcazou - - * gcc-interface/misc.c: Include tree-pass.h. - (internal_error_function): Call emergency_dump_function. - -2020-09-03 Arnaud Charlet - - * fe.h, opt.ads (Enable_128bit_Types): New. - * stand.ads (Standard_Long_Long_Long_Integer, - S_Long_Long_Long_Integer): New. - -2020-09-03 Arnaud Charlet - - * sem_util.ads, sem_util.adb (Get_Fullest_View): New procedure. - * exp_unst.adb (Check Static_Type): Do all processing on fullest - view of specified type. - -2020-08-27 Martin Liska - - * gcc-interface/trans.c (gigi): Set exact argument of a vector - growth function to true. - (Attribute_to_gnu): Likewise. - -2020-07-27 Alexandre Oliva - - * switch.adb (Is_Internal_GCC_Switch): Revert accidental - reintroduction of auxbase and auxbase-strip. - -2020-07-27 Javier Miranda - - * sem_res.adb (Resolve_Actuals): Restrict the check on matching - aliased components to view conversions of array types that are - not placed in an instance. In such case at runtime an object is - created. - * sem_util.ads (Is_Actual_In_Out_Parameter, Is_View_Conversion): - New subprograms. - * sem_util.adb (Is_Actual_In_Out_Parameter, Is_View_Conversion): - New subprograms. - -2020-07-27 Arnaud Charlet - - * lib-xref.adb (Generate_Reference): Protect against malformed - tree in case of severe errors. - * sem_ch8.adb (Add_Implicit_Operator): Ditto. - -2020-07-27 Arnaud Charlet - - * opt.ads (Ada_Version_Runtime): Set to Ada_2020. - * sem_ch3.adb (Analyze_Subtype_Declaration): Propagate - Is_Independent flag to subtypes. - * libgnarl/s-taprop__linux.adb: Adapt to Ada 2020 warning. - * libgnat/a-nbnbin.adb, libgnat/a-nbnbin.ads, - libgnat/a-nbnbin__gmp.adb, libgnat/a-nbnbre.adb, - libgnat/a-nbnbre.ads, 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-strsto.ads, - libgnat/a-ststbo.adb, libgnat/a-ststbo.ads, - libgnat/a-ststun.adb, libgnat/a-ststun.ads, - libgnat/a-stteou.ads, libgnat/s-aoinar.ads, - libgnat/s-aomoar.ads, libgnat/s-atopex.ads, - libgnat/s-putaim.adb, libgnat/s-putaim.ads, - libgnat/s-putima.adb, libgnat/s-putima.ads: Remove pragma - Ada_2020, now redundant. - -2020-07-27 Justin Squirek - - * exp_ch6.adb (Expand_Call_Helper): Modify addition of the extra - accessibility parameter to take into account the extra - accessibility of formals within the calling subprogram. - -2020-07-27 Bob Duff - - * exp_imgv.adb (Expand_Image_Attribute): Add Root_Type, so - constrained subtypes work. - -2020-07-27 Ghjuvan Lacambre - - * exp_prag.adb (Arg1, Arg2, Arg3): Removed. - (Arg_N): New function. - -2020-07-27 Arnaud Charlet - - * sem_ch8.adb (Analyze_Object_Renaming): Allow values in Ada - 2020 mode. - -2020-07-27 Arnaud Charlet - - * sem_res.adb (Resolve_Actuals): Refine 6.4.1 rules as per - AI12-0377. - -2020-07-27 Bob Duff - - * errout.ads, errout.adb (Error_Msg_Ada_2020_Feature): New - procedure analogous to Error_Msg_Ada_2012_Feature. - * sem_attr.adb (Analyze_Image_Attribute): Use - Error_Msg_Ada_2012_Feature and Error_Msg_Ada_2020_Feature to - indicate that Object'Image is allowed in Ada 2012, and that - 'Image is allowed for any type in Ada 2020. - -2020-07-27 Dmitriy Anisimkov - - * libgnat/a-strunb.adb (Sum, Mul, Saturated_Sum, Saturated_Mul): - New routines. Use them when resulting string size more that - length of the strings in parameters. - (Unbounded_Slice): Use "- 1" instead of "+ 1" in opposite side - of condition to avoid overflow. - * libgnat/a-strunb__shared.adb (Sum, Mul): New routines. - (Allocate): New routine with 2 parameters. Use routine above - when resulting string size more that length of the strings in - parameters. - (Aligned_Max_Length): Do not try to align to more than Natural'Last. - (Unbounded_Slice): Use "- 1" instead of "+ 1" in opposite side - of condition to avoid overflow. - -2020-07-27 Arnaud Charlet - - * sem_attr.adb (Resolve_Attribute): Remove dead code. - -2020-07-27 Arnaud Charlet - - * aspects.adb, atree.adb, atree.ads, checks.adb, contracts.adb, - einfo.adb, errout.adb, exp_aggr.adb, exp_attr.adb, exp_cg.adb, - exp_ch11.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_dbug.adb, exp_disp.adb, exp_intr.adb, exp_pakd.adb, - exp_prag.adb, exp_put_image.adb, exp_smem.adb, exp_tss.adb, - exp_unst.adb, exp_util.adb, freeze.adb, ghost.adb, gnat1drv.adb, - inline.adb, lib-writ.adb, lib-xref-spark_specific.adb, - lib-xref.adb, namet.adb, namet.ads, nlists.adb, par-ch10.adb, - par-ch2.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, - par-prag.adb, par-util.adb, par_sco.adb, pprint.adb, - repinfo.adb, restrict.adb, rtsfind.adb, scil_ll.adb, sem.adb, - sem_aggr.adb, sem_attr.adb, sem_aux.adb, sem_cat.adb, - sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch13.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_type.adb, sem_util.adb, sem_warn.adb, - sinfo.adb, sinfo.ads, sprint.adb, styleg.adb, tbuild.adb, - treepr.adb (Nkind_In, Nam_In, Ekind_In): Removed, replaced by - membership tests. - -2020-07-27 Gary Dismukes - - * sem_prag.adb (Analyze_Pragma, Pragma_Max_Entry_Queue_Length): - Refine error message to indicate that the pragma must apply to - an entry declaration, not just an entry. - -2020-07-27 Javier Miranda - - * exp_ch6.adb (Make_Build_In_Place_Iface_Call_In_Allocator): - Revert previous patch, and add a missing type conversion to - displace the pointer to the allocated object to reference the - target dispatch table. - -2020-07-27 Javier Miranda - - * sem_res.adb (Resolve_Actuals): Restore restrictive check on - view conversions which required matching value of - Has_Aliased_Components of formals and actuals. Required to avoid - the regression of ACATS b460005. - -2020-07-27 Eric Botcazou - - * sem_ch12.adb (Instantiate_Package_Body): Add commentary for a - nesting issue with parent handling and private view switching. - (Switch_View): Do not skip specific private-dependent subtypes. - -2020-07-27 Patrick Bernardi - - * Makefile.rtl: Remove X86_TARGET_PAIRS for x86-lynx178elf. - -2020-07-27 Ed Schonberg - - * sem_ch13.adb (Analyze_Address_Specification_Clause): Do not - emit a warning when a constant declaration in a generic unit - overlays a generic In_Parameter. - -2020-07-27 Gary Dismukes - - * sem_ch3.adb (Check_Abstract_Overriding): Remove Scope - comparison test from test related to initial implementation of - AI12-0042, plus remove the related ??? comment. - (Derive_Subprogram): Add test requiring that the type extension - appear in the visible part of its enclosing package when - checking the overriding requirement of 7.3.2(6.1/4), as - clarified by AI12-0382. - -2020-07-27 Piotr Trojanek - - * exp_spark.adb (Expand_SPARK_N_Attribute_Reference) Extend - existing workaround to 'Pos. - -2020-07-27 Bob Duff - - * libgnat/s-rannum.ads, libgnat/s-rannum.adb: Add Put_Image. - This will be inherited by the language-defined packages - Ada.Numerics.Discrete_Random and Ada.Numerics.Float_Random. - * libgnat/a-convec.ads, libgnat/a-convec.adb: Add Put_Image. - * libgnat/s-putima.ads: Add pragma Preelaborate, so this can be - imported into containers packages. - * libgnat/s-putima.adb: Move Digit to private part; otherwise - reference to Base is illegal in Preelaborate generic. - * exp_put_image.adb (Build_Record_Put_Image_Procedure): Use the - base type. - -2020-07-23 Arnaud Charlet - - * aspects.ads: Declare CUDA_Global as aspect. - * einfo.ads: Use Flag118 for the Is_CUDA_Kernel flag. - (Set_Is_CUDA_Kernel): New function. - (Is_CUDA_Kernel): New function. - * einfo.adb (Set_Is_CUDA_Kernel): New function. - (Is_CUDA_Kernel): New function. - * par-prag.adb (Prag): Ignore Pragma_CUDA_Execute and - Pragma_CUDA_global. - * rtsfind.ads: Define CUDA.Driver_Types.Stream_T and - CUDA.Vector_Types.Dim3 entities - * rtsfind.adb: Define CUDA_Descendant subtype. - (Get_Unit_Name): Handle CUDA_Descendant packages. - * sem_prag.ads: Mark CUDA_Global as aspect-specifying pragma. - * sem_prag.adb (Analyze_Pragma): Validate Pragma_CUDA_Execute and - Pragma_CUDA_Global. - * snames.ads-tmpl: Define Name_CUDA_Execute and Name_CUDA_Global. - -2020-07-23 Arnaud Charlet - - * sem_ch13.ads (Same_Representation): Renamed as - Has_Compatible_Representation because now the order of the arguments - are taken into account; its formals are also renamed as Target_Type - and Operand_Type. - * sem_ch13.adb (Same_Representation): Renamed and moved to place the - routine in alphabetic order. - * sem_attr.adb (Prefix_With_Safe_Accessibility_Level): New subprogram. - (Resolve_Attribute): Check that the prefix of attribute Access - does not have a value conversion of an array type. - * sem_res.adb (Resolve_Actuals): Remove restrictive check on view - conversions which required matching value of Has_Aliased_Components of - formals and actuals. - * exp_ch4.adb (Handle_Changed_Representation): Update call to - Same_Representation. - (Expand_N_Type_Conversion): Update call to Same_Representation. - * exp_ch5.adb (Change_Of_Representation): Update call to - Same_Representation. - * exp_ch6.adb (Add_Call_By_Copy_Code): Update call to - Same_Representation. - (Expand_Actuals): Update call to Same_Representation. - (Expand_Call_Helper): Update call to Same_Representation. - -2020-07-23 Arnaud Charlet - - * output.ads (Push_Output, Pop_Output): New procedures. - * output.adb (FD_Array, FD_Stack, FD_Stack_Idx): New type and vars. - (Push_Output, Pop_Output): New procedures. - -2020-07-16 Javier Miranda - - * exp_ch3.adb (Expand_N_Full_Type_Declaration): Ensure a _master - declaration on limited types that might have tasks. - * exp_ch9.adb (Build_Master_Renaming): For private types, if we - are processing declarations in the private part, ensure that - master is inserted before its full declaration; otherwise the - master renaming may be inserted in the public part of the - package (and hence before the declaration of its _master - variable). - -2020-07-16 Arnaud Charlet - - * sem_ch8.adb (Analyze_Subprogram_Renaming): A renames-as-body - freezes the expression of any expression function that it - renames. - -2020-07-16 Ed Schonberg - - * sem_aggr.adb (Resolve_Container_Aggregate): Add semantic - checks for indexed aggregates, including component associations - and iterated component associations. - * exp_aggr.adb (Expand_Iterated_Component): New subprogram, - subsidiary of Expand_Container_Aggreggate, used for positional, - named, and indexed aggregates. - (Aggregate_Size): New subprogram to precompute the size of an - indexed aggregate prior to call to allocate it. - (Expand_Range_Component): New subprogram so generate loop for a - component association given by a range or a subtype name in an - indexed aggregate. - -2020-07-16 Bob Duff - - * bindo-diagnostics.adb (Output_Invocation_Related_Suggestions): - Use Cumulative_Restrictions.Set, because Restriction_Active only - works at compile time. - -2020-07-16 Bob Duff - - * gnatbind.adb (Gnatbind): For No_Tasks_Unassigned_To_CPU, check - that CPU has been set on the main subprogram. - (Restriction_Could_Be_Set): Don't print - No_Tasks_Unassigned_To_CPU if it would violate the - above-mentioned rule. Up to now, all restrictions were checked - by the compiler, with the binder just checking for consistency. - But the compiler can't know which subprogram is the main, so - it's impossible to check this one at compile time. - * restrict.ads, restrict.adb: Misc refactoring. Change Warning - to Warn, for consistency, since most already use Warn. - (Set_Restriction): New convenience routine. - * sem_ch13.adb (Attribute_CPU): Check - No_Tasks_Unassigned_To_CPU. - * sem_prag.adb (Pragma_CPU): Check No_Tasks_Unassigned_To_CPU. - Misc refactoring. - * tbuild.ads, tbuild.adb (Sel_Comp): New functions for building - selected components. - -2020-07-16 Eric Botcazou - - * impunit.adb (Non_Imp_File_Names_95): Remove duplicate entry. - -2020-07-16 Arnaud Charlet - - * Makefile.rtl: replace a-numaux__x86.ads by - a-numaux__libc-x86.ads and a-numaux__x86.adb by - a-numaux__dummy.adb. - * libgnat/a-numaux__x86.ads, libgnat/a-numaux__x86.adb: Removed. - * libgnat/a-numaux__dummy.adb: New. - -2020-07-16 Ed Schonberg - - * sem_ch12.adb (Load_Parent_Of_Generic): If an ancestor is an - instance whose source appears within a formal package of the - current unit, there is no body of the ancestor needed to - complete the current generic compilation. - -2020-07-16 Doug Rupp - - * libgnat/s-thread__ae653.adb (taskVarAdd): Defunct, so remove. - (Current_ATSD): Make it a TLS variable. - (OK): Move to package scope. - (System.Storage_Elements): Import and Use. - -2020-07-16 Eric Botcazou - - * exp_ch9.adb (Expand_N_Accept_Statement): Set Parent of the - created block entity to the created block statement. - -2020-07-16 Arnaud Charlet - - * scng.adb (Scan): Detect wide characters not in NFKC. - * libgnat/a-chahan.adb, libgnat/a-chahan.ads, - libgnat/a-wichha.adb, libgnat/a-wichha.ads, - libgnat/a-wichun.adb, libgnat/a-wichun.ads, - libgnat/a-zchhan.adb, libgnat/a-zchhan.ads, - libgnat/a-zchuni.adb, libgnat/a-zchuni.ads (Is_NFKC): New. - * libgnat/s-utf_32.ads, libgnat/s-utf_32.adb (Is_UTF_32_NFKC): - New. - -2020-07-16 Bob Duff - - * libgnat/s-rident.ads (Restriction_Id): Add - No_Tasks_Unassigned_To_CPU. - -2020-07-16 Bob Duff - - * exp_aggr.adb (Max_Aggregate_Size): Use the small size of 64 - when copying is needed (for example, for the initialization of a - local variable, and for assignment statements). Use the larger - size when static allocation can be done without copying. - -2020-07-16 Bob Duff - - * libgnat/s-rident.ads (No_Dynamic_CPU_Assignment): New - restriction. Add it to all relevant profiles. - * sem_ch13.adb (Attribute_CPU): Check No_Dynamic_CPU_Assignment - restriction. - (Attribute_CPU, Attribute_Dispatching_Domain, - Attribute_Interrupt_Priority): Remove error checks -- these are - checked in the parser. - * sem_prag.adb (Pragma_CPU): Check No_Dynamic_CPU_Assignment - restriction. We've got a little violation of DRY here. - * sem.ads, sem_ch3.ads: Minor comment fix. - -2020-07-16 Gary Dismukes - - * sem_ch4.adb (Try_Container_Indexing): When the prefix type is - an access type, change it to the designated type, change the - prefix to an explicit dereference, and emit a ?d? warning for - the implicit dereference. Include a ??? comment questioning - whether this is the right context in which to perform the - implicit dereferencing. - -2020-07-16 Arnaud Charlet - - * sem_ch13.adb (Validate_Literal_Aspect): Ensure that the - parameter is not aliased. Minor reformatting. - * sem_util.adb (Statically_Names_Object): Update comment. - -2020-07-16 Ghjuvan Lacambre - - * sem_case.adb (Build_Choice): Set Is_Static_Expression flag. - (Lit_Of): Update specification to mention Is_Static_Expression - flag. - * sem_ch13.adb (Membership_Entry): Check for N_Others_Choice. - -2020-07-16 Bob Duff - - * sem_ch6.adb (Null_Exclusions_Match): New function to check - that the null exclusions match, including in the case addressed - by this AI. - (Check_Conformance): Remove calls to Comes_From_Source - when calling Null_Exclusions_Match. These are not - needed, as indicated by an ancient "???" comment. - -2020-07-16 Justin Squirek - - * exp_ch4.adb (Expand_N_Type_Conversion): Remove flawed test for - whether "statically deeper" accessibility rules apply to a given - target type and instead use the new routine - Statically_Deeper_Relation_Applies. - (Statically_Deeper_Relation_Applies): Created to centralize the - calculation of whether a target type within a conversion must - have static accessibility checks. - * sem_ch13.adb (Check_One_Function): Minor comment revision. - -2020-07-16 Eric Botcazou - - * fe.h (Is_OK_Static_Expression): Delete. - * sem_eval.ads (Is_OK_Static_Expression): Remove WARNING note. - -2020-07-16 Justin Squirek - - * einfo.adb, einfo.ads (Is_Named_Access_Type): Created for - readability. - * sem_ch6.adb (Check_Return_Construct_Accessibility): Add - special cases for formals. - * sem_util.adb (Object_Access_Level): Add handling of access - attributes and named access types in the general case. - -2020-07-16 Piotr Trojanek - - * sem_case.adb (Build_Choice): Simplify. - -2020-07-16 Arnaud Charlet - - * frontend.adb: Disable Initialize_Scalars on runtime files. - -2020-07-16 Ghjuvan Lacambre - - * sem_ch3.adb (Analyze_Object_Declaration): Add - Comes_From_Source call. - -2020-07-16 Javier Miranda - - * exp_attr.adb (Expand_Access_To_Protected_Op): Initialize - variable Sub to Empty to avoid false positive reported by - Codepeer. - -2020-07-16 Arnaud Charlet - - * sem_ch8.adb (Note_Redundant_Use): Add missing warning tag. - Do not check for redundant use clauses in predefined units to avoid - misleading warnings that may occur as part of a rtsfind load. - -2020-07-16 Javier Miranda - - * exp_attr.adb (Has_By_Protected_Procedure_Prefixed_View): New - subprogram. - (Expand_Access_To_Protected_Op): Adding support for prefixed - class-wide view with By_Protected_Procedure convention. - * sem_attr.adb (Get_Convention): New subprogram. - (Get_Kind): Adapted to use Get_Convention. - * sem_ch4.adb (Try_By_Protected_Procedure_Prefixed_View): New - subprogram. - (Analyze_Selected_Component): Invoke - Try_By_Protected_Procedure_Prefixed_View. - * sem_util.ads (Is_By_Protected_Procedure): New subprogram. - * sem_util.adb (Is_By_Protected_Procedure): New subprogram. - -2020-07-16 Arnaud Charlet - - * libgnat/s-ststop.ads: Fix typo. - * libgnat/s-ststop.adb (Read, Write): Fix block number - computation to avoid overflows in case of large strings. - -2020-07-16 Arnaud Charlet - - * libgnat/s-genbig.adb ("**"): Remove capacity limit check. - Improve code by using an extended return. - (Normalize): Perform capacity limit check here instead which is - the centralized place where (potentially large) big integers are - allocated. - -2020-07-16 Gary Dismukes - - * exp_ch4.adb (Expand_N_Type_Conversion): Handle the case of - applying an invariant check for a conversion to a class-wide - type whose root type has a type invariant, when the conversion - appears within the immediate scope of the type and the - expression is of a specific tagged type. - * sem_ch3.adb (Is_Private_Primitive): New function to determine - whether a primitive subprogram is a private operation. - (Check_Abstract_Overriding): Enforce the restriction imposed by - AI12-0042 of requiring overriding of an inherited nonabstract - private operation when the ancestor has a class-wide type - invariant and the ancestor's private operation is visible. - (Derive_Subprogram): Set Requires_Overriding on a subprogram - inherited from a visible private operation of an ancestor to - which a Type_Invariant'Class expression applies. - -2020-07-15 Piotr Trojanek - - * sem_util.adb (Find_Overlaid_Entity): Fix style in comment. - (Note_Possible_Modification): Simplify repeated calls to Ekind. - -2020-07-15 Eric Botcazou - - * exp_aggr.adb (Flatten): Adjust description. - (Convert_To_Positional): Remove obsolete ??? comment and use - Compile_Time_Known_Value in the final test. - -2020-07-15 Arnaud Charlet - - * par-ch4.adb (P_Iterated_Component_Association): Extended to - recognzize the similar Iterated_Element_Association. This node - is only generated when an explicit Key_Expression is given. - Otherwise the distinction between the two iterated forms is done - during semantic analysis. - * sinfo.ads: New node N_Iterated_Element_Association, for - Ada202x container aggregates. New field Key_Expression. - * sinfo.adb: Subprograms for new node and newn field. - * sem_aggr.adb (Resolve_Iterated_Component_Association): Handle - the case where the Iteration_Scheme is an - Iterator_Specification. - * exp_aggr.adb (Wxpand_Iterated_Component): Handle a component - with an Iterated_Component_Association, generate proper loop - using given Iterator_Specification. - * exp_util.adb (Insert_Axtions): Handle new node as other - aggregate components. - * sem.adb, sprint.adb: Handle new node. - * tbuild.adb (Make_Implicit_Loop_Statement): Handle properly a - loop with an Iterator_ specification. - -2020-07-15 Arnaud Charlet - - * libgnat/s-stposu.adb (Allocate_Any_Controlled): Fix logic in - lock/unlock. - -2020-07-15 Piotr Trojanek - - * sem_util.adb (Is_Object_Reference): Return True on - N_Target_Name. - -2020-07-15 Arnaud Charlet - - * sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): Add proper - handling of Aspect_Predicate_Failure, consistent with - Check_Aspect_At_Freeze_Point. - -2020-07-15 Arnaud Charlet - - * sem_ch13.adb (Check_Aspect_Too_Late): Mention -gnat2020 switch - in error message. - -2020-07-15 Eric Botcazou - - * einfo.ads (Delayed Freezing and Elaboration): Adjust description. - * freeze.adb (Freeze_Object_Declaration): Likewise. - * sem_ch3.adb (Delayed_Aspect_Present): Likewise. Do not return - true for Alignment. - * sem_ch13.adb (Analyze_Aspect_Specifications): Do not always delay - for Alignment. Moreover, for Alignment and various Size aspects, - do not delay if the expression is an attribute whose prefix is the - Standard package. - -2020-07-15 Eric Botcazou - - * exp_ch6.adb (Requires_Atomic_Or_Volatile_Copy): Return false - inside an initialization procedure. - -2020-07-15 Ghjuvan Lacambre - - * sem_util.adb (Is_Renaming): Add ekind checks. - -2020-07-15 Arnaud Charlet - - * doc/gnat_ugn/gnat_utility_programs.rst: Remove doc on obsolete - tools. - * gnat_ugn.texi: Regenerate. - -2020-07-15 Arnaud Charlet - - * sem_res.adb (Resolve_Type_Conversion): Protect against null - entity. Add proper tag for -gnatwr warning. - -2020-07-15 Arnaud Charlet - - * sem_ch6.adb (Analyze_Procedure_Call): Detect use of operators - in a procedure call. - * sem_util.adb: Minor edit. - -2020-07-15 Piotr Trojanek - - * exp_spark.adb (Expand_SPARK_Delta_Or_Update): Apply scalar - range checks against the base type of an index type, not against - the index type itself. - -2020-07-15 Eric Botcazou - - * einfo.ads (Delayed Freezing and Elaboration): Minor tweaks. - Document the discrepancy between the aspect and the non-aspect - cases for alignment settings in object declarations. - -2020-07-15 Arnaud Charlet - - * exp_ch3.adb (Freeze_Type): Remove warning in expander, - replaced by a corresponding error in sem_ch13.adb. Replace - RTE_Available by RTU_Loaded to avoid adding unnecessary - dependencies. - * sem_ch13.adb (Associate_Storage_Pool): New procedure. - (Analyze_Attribute_Definition_Clause - [Attribute_Simple_Storage_Pool| Attribute_Storage_Pool]): Call - Associate_Storage_Pool to add proper legality checks on - subpools. - -2020-07-15 Yannick Moy - - * libgnat/a-cbdlli.adb, libgnat/a-cbdlli.ads, - libgnat/a-cbhama.adb, libgnat/a-cbhama.ads, - libgnat/a-cbhase.adb, libgnat/a-cbhase.ads, - libgnat/a-cbmutr.adb, libgnat/a-cbmutr.ads, - libgnat/a-cborma.adb, libgnat/a-cborma.ads, - libgnat/a-cborse.adb, libgnat/a-cborse.ads, - libgnat/a-cbprqu.adb, libgnat/a-cbprqu.ads, - libgnat/a-cbsyqu.adb, libgnat/a-cbsyqu.ads, - libgnat/a-cdlili.adb, libgnat/a-cdlili.ads, - libgnat/a-cidlli.adb, libgnat/a-cidlli.ads, - libgnat/a-cihama.adb, libgnat/a-cihama.ads, - libgnat/a-cihase.adb, libgnat/a-cihase.ads, - libgnat/a-cimutr.adb, libgnat/a-cimutr.ads, - libgnat/a-ciorma.adb, libgnat/a-ciorma.ads, - libgnat/a-ciormu.adb, libgnat/a-ciormu.ads, - libgnat/a-ciorse.adb, libgnat/a-ciorse.ads, - libgnat/a-cohama.adb, libgnat/a-cohama.ads, - libgnat/a-cohase.adb, libgnat/a-cohase.ads, - libgnat/a-coinve.adb, libgnat/a-coinve.ads, - libgnat/a-comutr.adb, libgnat/a-comutr.ads, - libgnat/a-convec.adb, libgnat/a-convec.ads, - libgnat/a-coorma.adb, libgnat/a-coorma.ads, - libgnat/a-coormu.adb, libgnat/a-coormu.ads, - libgnat/a-coorse.adb, libgnat/a-coorse.ads: Add SPARK_Mode => - Off. - -2020-07-15 Eric Botcazou - - * sem_ch3.adb (Delayed_Aspect_Present): Fix oversight in loop. - * freeze.adb (Freeze_Object_Declaration): Use Declaration_Node - instead of Parent for the sake of consistency. - -2020-07-15 Javier Miranda - - * sem_attr.adb (Resolve_Attribute): Resolve overloaded - N_Selected_Component prefix of 'Access. Required to handle - overloaded prefixed view of protected subprograms. - -2020-07-15 Arnaud Charlet - - * doc/gnat_ugn/about_this_guide.rst: Remove old section and - update for Ada 202x. - * doc/gnat_ugn/getting_started_with_gnat.rst: Add a system - requirements section. Remove obsolete section and minimal - rewording on the getting started section. - * gnat_ugn.texi: Regenerate. - -2020-07-15 Piotr Trojanek - - * exp_ch5.adb (Expand_Assign_Array): Use short-circuit operator - (style). - * sem_res.adb (Resolve_Indexed_Component): Fix style in comment. - * sem_util.adb (Is_Effectively_Volatile_Object): Handle slices - just like indexed components; handle qualified expressions and - type conversions lie in Is_OK_Volatile_Context. - (Is_OK_Volatile_Context): Handle qualified expressions just like - type conversions. - -2020-07-15 Piotr Trojanek - - * sem_prag.adb (Atomic_Components): Simplify with Ekind_In. - (Complex_Representation): Fix type of E_Id, which just like when - for pragma Atomic_Components will hold an N_Identifier node, not - an entity. - * sem_util.adb (Is_Effectively_Volatile): Refactor to avoid - unnecessary computation. - -2020-07-15 Arnaud Charlet - - * inline.adb, inline.ads - (Inline_Static_Expression_Function_Call): Renamed - Inline_Static_Function_Call. - * sem_ch13.adb (Analyze_Aspect_Static): Allow static intrinsic - imported functions under -gnatX. - * sem_util.ads, sem_util.adb (Is_Static_Expression_Function): - Renamed Is_Static_Function. - (Is_Static_Expression_Function_Call): Renamed - Is_Static_Function_Call. - * sem_ch6.adb, sem_elab.adb, sem_res.adb: Update calls to - Is_Static_Function*. - * sem_eval.adb (Fold_Dummy, Eval_Intrinsic_Call, Fold_Shift): - New. - (Eval_Call): Add support for intrinsic calls, code refactoring. - (Eval_Entity_Name): Code refactoring. - (Eval_Logical_Op): Update comment. - (Eval_Shift): Call Fold_Shift. Update comments. - * par-prag.adb (Par [Pragma_Extensions_Allowed]): Set - Ada_Version to Ada_Version_Type'Last to handle - Extensions_Allowed (On) consistently. - * opt.ads (Extensions_Allowed): Update documentation. - * sem_attr.adb: Update comment. - * doc/gnat_rm/implementation_defined_pragmas.rst: Update - documentation of Extensions_Allowed. - * gnat_rm.texi: Regenerate. - -2020-07-15 Arnaud Charlet - - * sem_aggr.adb (Resolve_Iterated_Component_Association): Ensure - Typ is never accessed uninitialized. - -2020-07-15 Piotr Trojanek - - * doc/gnat_rm/representation_clauses_and_pragmas.rst: Fix typo. - * gnat_rm.texi: Regenerate. - * libgnat/s-secsta.ads (Memory_Alignment): Likewise. - -2020-07-15 Gary Dismukes - - * exp_ch6.adb: Add a comma and fix a typo (machinary => - machinery) in comment. - * exp_aggr.adb: Reformat, fix capitalization, and add a couple - of commas in a comment. Adjust columns in several code - fragments. - * sem_aggr.adb: Reformat and add a comma in a comment. - -2020-07-15 Eric Botcazou - - * exp_ch9.adb (Expand_N_Timed_Entry_Call): Use the Sloc of - the delay statement in the expansion. - -2020-07-15 Ed Schonberg - - * sem_aggr.adb (Resolve_Iterated_Component_Association): New - procedure, internal to Resolve_Container_Aggregate, to complete - semantic analysis of Iterated_Component_Associations. - * exp_aggr.adb (Expand_Iterated_Component): New procedure, - internal to Expand_Container_Aggregate, to expand the construct - into an implicit loop that performs individual insertions into - the target aggregate. - -2020-07-15 Justin Squirek - - * exp_ch6.adb (Make_Build_In_Place_Call_Allocator): Normalize - the associated node for internally generated objects to be like - their SOAAT counter-parts. - -2020-07-15 Arnaud Charlet - - * libgnat/g-socket.adb (Wait_On_Socket): Fix potentially - uninitialized variable. - -2020-07-10 Piotr Trojanek - - * sem_ch8.adb (Find_Direct_Name): Fix code to match the comment. - -2020-07-10 Eric Botcazou - - * sem_ch13.adb (Analyze_Attribute_Definition_Clause)
: - Issue an unconditional warning for an overlay that changes the - scalar storage order. - -2020-07-10 Piotr Trojanek - - * sem_ch8.adb (Is_Actual_Parameter): Fix processing when parent - is a procedure call statement; extend comment. - -2020-07-10 Bob Duff - - * sem_res.adb (Resolve_Expression_With_Actions): Check the rules - of AI12-0368, and mark the declare expression as static or known - at compile time as appropriate. - * sem_ch4.adb: Minor reformatting. - * libgnat/a-stoufo.ads, libgnat/a-stoufo.adb: Allow up to 9 - replacement parameters. I'm planning to use this in the test - case for this ticket. - -2020-07-10 Ed Schonberg - - * exp_ch3.adb (Build_Access_Subprogram_Wrapper_Body): Create a - proper signature when the access type denotes a parameterless - subprogram. - * exp_ch6.adb (Expand_Call): Handle properly a parameterless - indirect call when the corresponding access type has contracts. - -2020-07-10 Eric Botcazou - - * exp_aggr.adb - (Convert_To_Positional): Add Dims local variable - and pass it in calls to Is_Flat and Flatten. - (Check_Static_Components): Pass Dims in call to - Is_Static_Element. - (Nonflattenable_Next_Aggr): New predicate. - (Flatten): Add Dims parameter and Expr local variable. Call - Nonflattenable_Next_Aggr in a couple of places. In the case - when an Others choice is present, check that the element is - either static or a nested aggregate that can be flattened, - before disregarding the replication limit for elaboration - purposes. Check that a nested array is flattenable in the case - of a multidimensional array in any position. Remove redundant - check in the Others case and pass Dims in call to - Is_Static_Element. Use Expr variable. - (Is_Flat): Change type of Dims parameter from Int to Nat. - (Is_Static_Element): Add Dims parameter. Replace tests on - literals with call to Compile_Time_Known_Value. If everything - else failed and the dimension is 1, preanalyze the expression - before calling again Compile_Time_Known_Value on it. Return - true for null. - (Late_Expansion): Do not expand further if the assignment to the - target can be done directly by the back end. - -2020-07-10 Arnaud Charlet - - * osint-c.adb (Set_File_Name): Preserve casing of file. - * osint.adb (File_Names_Equal): New. - (Executable_Name): Use File_Equal instead of - Canonical_Case_File_Name. - -2020-07-10 Pascal Obry - - * libgnat/g-socket.adb (Wait_On_Socket): Fix memory leaks and - file descriptor leaks. A memory leak was created each time the - routine was called without a selector (Selector = Null). Also, - in case of exception in the routine a memory leak and descriptor - leak was created as the created file selector was not closed. - -2020-07-10 Pascal Obry - - * libgnat/g-socket.adb: Minor style fixes. - -2020-07-10 Javier Miranda - - * sem_util.adb - (Immediate_Context_Implies_Is_Potentially_Unevaluated): New - subprogram. - (Is_Potentially_Unevaluated): Do not stop climbing the tree on - the first candidate subexpression; required to handle nested - expressions. - -2020-07-10 Gary Dismukes - - * exp_aggr.adb, exp_spark.adb, sem_ch13.ads, sem_ch13.adb, - snames.ads-tmpl: Minor reformatting and typo fixes. - -2020-07-10 Yannick Moy - - * sem_util.adb (Has_Enabled_Property): Add handling of - non-variable objects. - -2020-07-10 Piotr Trojanek - - * sem_ch3.adb (Check_Completion): Refactor chained - if-then-elsif-... statement to be more like a case - statement (note: we can't simply use case statement because of - Is_Intrinsic_Subprogram in the first condition). - -2020-07-10 Piotr Trojanek - - * einfo.ads (E_Protected_Object): Enumeration literal removed. - * lib-xref.ads (Xref_Entity_Letters): Remove reference to - removed literal. - * sem_ch3.adb (Check_Completion): Likewise. - * sem_util.adb (Has_Enabled_Property): Likewise. - -2020-07-10 Arnaud Charlet - - * exp_aggr.adb (Max_Aggregate_Size): Use small limit for - aggregate inside subprograms. - * sprint.adb (Sprint_Node_Actual [N_Object_Declaration]): Do not - print the initialization expression if the No_Initialization - flag is set. - * sem_util.ads, sem_util.adb (Predicate_Enabled): New. - * exp_ch4.adb (Expand_N_Type_Conversion): Code cleanup and apply - predicate check consistently. - * exp_ch6.adb (Expand_Actuals.By_Ref_Predicate_Check): Ditto. - * sem_ch3.adb (Analyze_Object_Declaration): Ditto. - * exp_ch3.adb (Build_Assignment): Revert handling of predicate - check for allocators with qualified expressions, now handled in - Freeze_Expression directly. - * sem_aggr.adb: Fix typos. - * checks.adb: Code refactoring: use Predicate_Enabled. - (Apply_Predicate_Check): Code cleanup. - * freeze.adb (Freeze_Expression): Freeze the subtype mark before - a qualified expression on an allocator. - * exp_util.ads, exp_util.adb (Within_Internal_Subprogram): - Renamed Predicate_Check_In_Scope to clarify usage, refine - handling of predicates within init procs which should be enabled - when the node comes from source. - * sem_ch13.adb (Freeze_Entity_Checks): Update call to - Predicate_Check_In_Scope. - -2020-07-10 Eric Botcazou - - * exp_ch4.adb (Expand_Array_Comparison): Reformat. - (Expand_Concatenate): Use standard size values directly and use - Standard_Long_Long_Unsigned instead of RE_Long_Long_Unsigned. - (Expand_Modular_Op): Use Standard_Long_Long_Integer in case the - modulus is larger than Integer. - (Expand_N_Op_Expon): Use standard size value directly. - (Narrow_Large_Operation): Use Uint instead of Nat for sizes and - use a local variable for the size of the type. - (Get_Size_For_Range): Return Uint instead of Nat. - (Is_OK_For_Range): Take Uint instead of Nat. - -2020-07-10 Javier Miranda - - * exp_ch6.adb (Make_Build_In_Place_Iface_Call_In_Allocator): - Build the internal anonymous access type using as a reference - the designated type imposed by the context (instead of using the - return type of the called function). - -2020-07-10 Yannick Moy - - * sem_res.adb (Resolve_Actuals): Protect call to - Is_Valued_Procedure. - -2020-07-10 Piotr Trojanek - - * sem_ch3.adb (Process_Discriminants): Revert recent change to - location of Set_Ekind; detect effectively volatile discriminants - by their type only. - -2020-07-10 Joffrey Huguet - - * libgnat/a-nbnbin.ads, libgnat/a-nbnbre.ads: Add global - contract (Global => null) to all functions. - -2020-07-10 Ed Schonberg - - * aspects.ads: Add Aspect_Aggregate. - * exp_aggr.adb (Expand_Container_Aggregate): Expand positional - container aggregates into separate initialization and insertion - operations. - * sem_aggr.ads (Resolve_Container_Aggregate): New subprogram. - * sem_aggr.adb (Resolve_Container_Aggregate): Parse aspect - aggregate, establish element types and key types if present, and - resolve aggregate components. - * sem_ch13.ads (Parse_Aspect_Aggregate): Public subprogram used - in validation, resolution and expansion of container aggregates - * sem_ch13.adb - (Parse_Aspect_Aggregate): Retrieve names of primitives specified - in aspect specification. - (Validate_Aspect_Aggregate): Check legality of specified - operations given in aspect specification, before nane - resolution. - (Resolve_Aspect_Aggregate): At freeze point resolve operations - and verify that given operations have the required profile. - * sem_res.adb (Resolve): Call Resolve_Aspect_Aggregate if aspect - is present for type. - * snames.ads-tmpl: Add names used in aspect Aggregate: Empty, - Add_Named, Add_Unnamed, New_Indexed, Assign_Indexed. - -2020-07-10 Arnaud Charlet - - * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-shabig.o. - * libgnat/s-shabig.ads: New file to share definitions. - * libgnat/s-genbig.ads, libgnat/s-genbig.adb: Reorganized to - make it more generic and flexible in terms of memory allocation - and data structure returned. - (To_String): Moved to System.Generic_Bignums to allow sharing - this code. - (Big_And, Big_Or, Big_Shift_Left, Big_Shift_Right): New. - * libgnat/s-bignum.adb, libgnat/s-bignum.ads: Adapt to new - System.Generic_Bignums spec. - * libgnat/a-nbnbin.adb: Likewise. - (To_String): Moved to System.Generic_Bignums to allow sharing - this code. - * libgnat/a-nbnbre.adb (Normalize): Fix handling of Num = 0 - leading to an exception. - -2020-07-10 Eric Botcazou - - * freeze.adb (Freeze_Expr_Types): Replace call to Find_Aspect - with call to Find_Value_Of_Aspect and adjust accordingly. - -2020-07-10 Eric Botcazou - - * einfo.adb (Write_Field24_Name): Handle E_Loop_Parameter. - * freeze.adb (Freeze_Expr_Types): Freeze the iterator type used as - Default_Iterator of the name of an N_Iterator_Specification node. - -2020-07-10 Eric Botcazou - - * checks.adb (Determine_Range): Deal with Min and Max attributes. - * exp_ch6.adb (Expand_Call_Helper): When generating code to pass - the accessibility level to the caller in the case of an actual - which is an if-expression, also remove the nodes created after - the declaration of the dummy temporary. - * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Use Natural as - the type of the minimum accessibility level object. - -2020-07-10 Piotr Trojanek - - * sem_ch3.adb (Process_Discriminants): Set Ekind of the - processed discriminant entity before passing to - Is_Effectively_Volatile, which was crashing on a failed - assertion. - * sem_prag.adb (Analyze_External_Property_In_Decl_Part): Prevent - call to No_Caching_Enabled with entities other than variables, - which was crashing on a failed assertion. - (Analyze_Pragma): Style cleanups. - * sem_util.adb (Is_Effectively_Volatile): Enforce comment with - an assertion; prevent call to No_Caching_Enabled with entities - other than variables. - (Is_Effectively_Volatile_Object): Only call - Is_Effectively_Volatile on objects, not on types. - (No_Caching_Enabled): Enforce comment with an assertion. - -2020-07-10 Yannick Moy - - * debug.adb: Update comments to free usage of -gnatdF. - -2020-07-10 Piotr Trojanek - - * exp_spark.adb (Expand_SPARK_Delta_Or_Update): Refactored from - Expand_SPARK_N_Attribute_Reference; rewrite into N_Aggregate or - N_Delta_Aggregate depending on what is being rewritten. - (Expand_SPARK_N_Delta_Aggregate): New routine to expand - delta_aggregate. - (Expand_SPARK_N_Attribute_Reference): Call the refactored - routine. - -2020-07-10 Piotr Trojanek - - * exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Fix - expansion of attribute Update. - -2020-07-10 Arnaud Charlet - - * sem.adb (Walk_Library_Items): Fix handling of Ghost units. - -2020-07-08 Eric Botcazou - - * tracebak.c [generic implementation]: Add pragma GCC diagnostic - to disable warning about __builtin_frame_address. - -2020-07-08 Dmitriy Anisimkov - - * socket.c [_WIN32] (__gnat_minus_500ms): Parentheses around && - operations. Remove notes about TN in comment. - -2020-07-08 Eric Botcazou - - * adaint.h (__gnat_expect_portable_execvp): Fix prototype. - (__gnat_expect_poll): Likewise. - * expect.c [_WIN32]: Include adaint.h file. - (__gnat_waitpid): Remove useless variable. - (__gnat_expect_portable_execvp): Add ATTRIBUTE_UNUSED on parameter. - * raise-gcc.c [SEH] (__gnat_personality_v0): Add ATTRIBUTE_UNUSED. - * socket.c [_WIN32] (__gnat_getservbyport): Add ATTRIBUTE_UNUSED on - a couple of parameters. - (__gnat_gethostbyname): Likewise. - (__gnat_gethostbyaddr): Likewise. - (__gnat_getservbyname): Likewise. - (__gnat_last_socket_in_set): Use variables local to loops. - (__gnat_socket_ioctl): Cast 3rd parameter to proper type if _WIN32. - (__gnat_inet_pton): Cast 2nd parameter to proper type if _WIN32. - * sysdep.c (__gnat_localtime_tzoff): Remove superfluous test. - * terminals.c [_WIN32]: Include io.h file. - (is_gui_app): Remove useless variables and fix unsigned comparison. - (nt_spawnve): Add ATTRIBUTE_UNUSED on first parameter. Initialize a - local variable and remove others that are useless. Add missing cast - (__gnat_setup_child_communication): Remove useless variable and call - Use proper formatting string in call to sprintf. - (__gnat_setup_parent_communication): Cast to proper type. - (find_child_console): Fix prototype and remove useless variable. - (find_process_handle): Likewise. - (_gnat_interrupt_process): Move to after __gnat_interrupt_pid. - (__gnat_reset_tty): Add ATTRIBUTE_UNUSED on parameter, remove return - (__gnat_setup_winsize): Add ATTRIBUTE_UNUSED on all parameters. - -2020-07-08 Eric Botcazou - - * exp_ch4.adb (Expand_N_Allocator): In the subtype mark case, do - not apply constraint checks if the No_Initialization flag is set. - -2020-07-08 Javier Miranda - - * exp_ch9.adb - (Build_Class_Wide_Master): Insert the declaration of _Master - before its use; required to avoid assertion failure in the - backend. - -2020-07-08 Arnaud Charlet - - * libgnat/i-cexten.ads (long_long, unsigned_long_long): Now - subtypes of Interfaces.C types. - * libgnat/a-calcon.ads, libgnat/a-calcon.adb - (To_Unix_Nano_Time): Use Interfaces.C.long_long instead of - Interfaces.C.Extensions.long_long. - -2020-07-08 Vasiliy Fofanov - - * debug.adb: Document new switch. - * exp_ch6.adb (Warn_BIP): New function that warns if the switch - is on. Call it from Make_Build_In_Place_* functions. Warn_BIP - is not needed in Make_Build_In_Place_Iface_*, because those call - Make_Build_In_Place_Call_In_Object_Declaration or similar. - -2020-07-08 Piotr Trojanek - - * erroutc.adb (Matches): Fix comments. - -2020-07-08 Eric Botcazou - - * freeze.adb (Has_Decl_In_List): New predicate to check that an - entity is declared in a list of nodes. - (Freeze_Expression): Use it to deal with Expression_With_Actions, - short-circuit expression, if- and case-expression and ensure that - the freeze node is put onto their Actions list if the entity is - declared locally. - -2020-07-08 Eric Botcazou - - * freeze.adb (In_Expanded_Body): Return true for the body of a - generated predicate function. - -2020-07-08 Gary Dismukes - - * sem_attr.adb: Remove hyphens in comments, plus minor code - reformatting. - * sem_ch13.adb: Fix typo (that => than). - * sem_util.adb: Add hyphen in comment ("class-wide"). - -2020-07-08 Eric Botcazou - - * freeze.adb (Freeze_Array_Type): Add comment on implementation - choice for byte-packed array types. - -2020-07-08 Piotr Trojanek - - * sem_attr.adb (Analyze_Attribute): Correct prefix of 'Result - this prefix is a generic function but the enclosing aspect or - pragma is attached to its instance. - * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Analyze - generic subprogram formal parameters (including the implicit - result of a generic function) and only then analyse its aspects, - because with Relaxed_Initialization the aspect expression might - refer to those formal parameters. - * sem_ch13.adb (Analyze_Aspect_Relaxed_Initialization): Accept - aspect on generic subprograms; install formal parameters of a - generic subprogram but not formal parameters of the generic unit - itself (the previous code was inspired by aspects Post and - Depends, where both kinds of formals are allowed). - * sem_util.ads (Enter_Name): Fix name of a subprogram referenced - in comment. - -2020-07-08 Piotr Trojanek - - * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Call - Analyze_Aspect_Specifications after setting Ekind of the - analyzed entity. - * sem_ch13.adb (Analyze_Aspect_Yield): Remove minimal decoration - of generic subprograms. - -2020-07-08 Arnaud Charlet - - * sem_prag.adb (Process_Inline): Check for duplicate - pragma+aspect Inline. Minor code cleanup. - (Check_Duplicate_Pragma): Add warning for duplicate - pragma [No_]Inline under -gnatwr. - * sinfo.ads, sinfo.adb (Next_Rep_Item): Allow N_Null_Statement - which can appear when a pragma is rewritten. - * sem_util.ads, sem_util.adb, bindo-writers.adb: Fix bad - copy/paste now flagged. - * libgnat/s-mmap.ads: Remove redundant pragma Inline. - -2020-07-08 Ed Schonberg - - * sem_util.adb (Build_Class_Wide_Clone_Body): Update entities to - refer to the right spec. - -2020-07-08 Bob Duff - - * sem_ch13.adb (Predicate_Failure): Check that the type has - predicates. Remove the setting of Has_Delayed_Aspects and - Freeze_Node, because (if the code is legal) it should have - already been done by the predicate aspect. - -2020-07-08 Gary Dismukes - - * par-ch4.adb (P_Iterated_Component_Association): Typo - corrections. - -2020-07-08 Ed Schonberg - - * par.adb (P_Iterator_Specification): Make public for use in - other parser subprograms. - * par-ch4.adb (P_Iterated_Component_Association): In Ada_2020, - recognize use of Iterator_Specification in an element iterator. - To simplify disambiguation between the two iterator forms, mark - the component association as carrying an Iterator_Specification - only when the element iterator (using "OF") is used. - * par-ch5.adb (P_Loop_Parameter_Specification): In Ada_2020, - parse iterator filter when present. - (P_Iterator_Specification): Ditto. Remove declaration of - P_Iterator_Specification, now in parent unit. - * exp_ch5.adb (Expand_N_Loop_Statement): Apply Iterator filter - when present. - (Expand_Iterator_Loop_Over_Array): Ditto. - (Expand_Iterator_Loop_Over_Container): Ditto. - * sem_aggr.adb (Resolve_Array_Aggregate): Emit error nessage if - an iterated component association includes a iterator - specificcation with an element iterator, i.e. one that uses the - OF keyword. - * sem_ch5.adb (Analyze_Iterator_Specification): Analyze Iterator - filter when present. - (Analyze_Loop_Parameter_Specification): Ditto. - * sinfo.adb: Suprogram bodies for new syntactic element - Iterator_Filter. - * sinfo.ads: Add Iterator_Filter to relevant nodes. Structure - of Component_Association and Iteroted_Component_Association - nodes is modified to take into account the possible presence of - an iterator specification in the latter. - -2020-07-08 Yannick Moy - - * sem_util.ads, sem_util.adb (Is_Attribute_Loop_Entry): New - function for GNATProve. - -2020-07-08 Ghjuvan Lacambre - - * sem_ch13.adb (Analyze_Record_Representation_Clause, - Check_Record_Representation_Clause): Add expected and actual - size to error message. - -2020-07-08 Piotr Trojanek - - * sem_util.ads, sem_util.adb (Safe_To_Capture_Value): Return - True for in-parameters. - -2020-07-08 Justin Squirek - - * exp_attr.adb (Expand_Attribute): Set - Stores_Attribute_Old_Prefix to generated renamings of 'Old - constants for later use in generating finalization routines. - * exp_ch7.adb (Build_Finalizer): Minor reformatting. Use "or - else" operators. - -2020-07-08 Gary Dismukes - - * exp_ch6.adb (Expand_Simple_Function_Return): Remove ugly code - that was copying the return expression, resetting Analyzed - flags, etc. for the return expression of static expression - functions. - * inline.adb (Inline_Static_Expression_Function_Call): Set the - Parent of the copied expression to that of the call. This avoids - a blowup in Insert_Actions when GNATprove_Mode is set and there - are nested SEF calls. Add ??? comment. - * sem_ch6.adb (Analyze_Expression_Function): In the case of a - static expression function, create a new copy of the expression - and replace the function's expression with the copy; the - original expression is used in the expression function's body - and will be analyzed and rewritten, and we need to save a clean - copy for later use in processing static calls to the function. - This allows removing the kludgy code that was in - Expand_Simple_Function_Return. - * sem_eval.adb (Eval_Qualified_Expression): Return immediately - if any errors have been posted on the qualified expression, to - avoid blowups when GNATprove_Mode is enabled (or with -gnatd.F), - since illegal static expressions are handled differently in that - case and attempting to fold such expressions would fail. - -2020-07-08 Eric Botcazou - - * repinfo.adb (Compute_Max_Length): Skip hidden discriminants. - (List_Record_Layout): Likewise. - (List_Structural_Record_Layout): Use First_Discriminant instead - of First_Stored_Discriminant and Next_Discriminant instead of - Next_Stored_Discriminant to walk the list of discriminants. - -2020-07-08 Piotr Trojanek - - * sem_ch13.adb (Analyze_Aspect_Relaxed_Initialization): Analyze - optional boolean expressions. - * sem_util.ads, sem_util.adb (Has_Relaxed_Initialization): Adapt - query; update comment. - -2020-07-08 Piotr Trojanek - - * einfo.ads (Current_Value): Fix typo in comment. - * exp_ch2.adb (Expand_Current_Value): Remove unnecessary "Start - of processing ..." comment. - * exp_util.adb (Set_Entity_Current_Value): Fix unbalanced paren - in comment. - (Get_Current_Value_Condition): Fix layout in comment. - * sem_ch5.adb (Analyze_Cond_Then): Replace commented condition - with pragma Assert. - -2020-07-08 Piotr Trojanek - - * exp_ch5.adb (Expand_N_If_Statement): Detect True/False - prefixed with Standard. - -2020-07-08 Bob Duff - - * sem_ch13.adb (Analyze_Aspect_Specifications): Add freeze node - for the Underlying_Full_View if it exists. The freeze node is - what triggers the generation of the predicate function. - * freeze.adb: Minor reformatting. - -2020-07-08 Eric Botcazou - - * exp_ch4.adb (Narrow_Large_Operation): Use the base type instead - of the first subtype of standard integer types as narrower type. - -2020-07-07 Eric Botcazou - - * freeze.adb (Freeze_Array_Type): Use Ctyp more consistently. - Move code setting the alignment in the non-packed case to... - * layout.adb (Layout_Type): ...here. - -2020-07-07 Bob Duff - - * treepr.adb (Print_Node): Add code to test Is_Extension. - -2020-07-07 Arnaud Charlet - - * sem_ch4.adb (Try_Container_Indexing): Add ??? comment. Protect - against malformed tree in case of errors. - -2020-07-07 Piotr Trojanek - - * einfo.adb, sem_ch10.adb, sem_ch12.adb, sem_ch8.adb: Use - Is_Generic_Subprogram. - -2020-07-07 Piotr Trojanek - - * sem_ch8.adb (Analyze_Use_Package): Replace low-level, - error-prone Ekind_In tests with high-level Is_Generic_Subprogram - and Is_Subprogram. - -2020-07-07 Arnaud Charlet - - * sem_ch6.adb (Check_Formal_Subprogram_Conformance): New - subprogram to handle checking without systematically emitting an - error. - (Check_Conformance): Update call to - Check_Formal_Subprogram_Conformance and fix handling of Conforms - and Errmsg parameters. - -2020-07-07 Arnaud Charlet - - * exp_ch4.adb (Tagged_Membership): Generate a call to - CW_Membership instead of using Build_CW_Membership. - (Expand_N_In): Remove wrong handling of null access types and - corresponding comment. - * exp_intr.adb (Expand_Dispatching_Constructor_Call): Generate a - call to CW_Membership instead of using Build_CW_Membership. - * rtsfind.ads: Add CW_Membership. - * exp_atag.ads, exp_atag.adb (Build_CW_Membership): Removed. - * einfo.ads: Fix typo. - * libgnat/a-tags.ads, libgnat/a-tags.adb (CW_Membership): Moved - back to spec. - -2020-07-07 Ed Schonberg - - * exp_ch3.adb (Build_Access_Subprogram_Wrapper_Body): Create - proper subprogram specification for body, using names in the - subprogram declaration but distinct entities. - * exp_ch6.adb (Expand_Call): If this is an indirect call - involving a subprogram wrapper, insert pointer parameter in list - of actuals with a parameter association, not as a positional - parameter. - -2020-07-07 Justin Squirek - - * exp_ch6.adb (Expand_Branch): Verify the original node is a - conditional expression before recursing further. - (Insert_Level_Assign): Transform assertion into an explicit - raise. - -2020-07-07 Steve Baird - - * sem_attr.adb (Eval_Attribute): Generalize static evaluation of - Size attribute references to also handle - Max_Size_In_Storage_Elements references. - -2020-07-07 Javier Miranda - - * sem_util.adb (Is_Potentially_Unevaluated): Code cleanup. - -2020-07-07 Eric Botcazou - - * checks.ads (Expander Routines): Update the description of the - Do_Range_Check mechanism. - * checks.adb (Selected_Range_Checks): Fix typo. - * exp_ch9.adb: Add with and use clause for Checks. - (Actual_Index_Expression): Generate a range check if requested. - (Entry_Index_Expression): Likewise. - * sem_attr.adb (Resolve_Attribute) : Call - Apply_Scalar_Range_Check instead of Apply_Range_Check. - * sem_ch9.adb (Analyze_Accept_Statement): Likewise. - * sem_res.adb (Resolve_Entry): Likewise, after having set the - actual index type on the prefix of the indexed component. - (Resolve_Indexed_Component): Remove useless conditional construct. - -2020-07-07 Piotr Trojanek - - * contracts.adb (Analyze_Entry_Or_Subprogram_Contract, - Process_Preconditions_For): Freeze expression that has been - relocated to pragma Precondition, not the expression which is - still in the aspect. - -2020-07-07 Arnaud Charlet - - * sem_ch6.adb (Check_Conformance): Remove unnecessary (and - wrong) code. - * sem_ch8.adb (Check_Null_Exclusion): Post error at proper - location. Introduce new helper Null_Exclusion_Mismatch and fix - implementation wrt formal subprograms used in generic bodies. - (Analyze_Subprogram_Renaming): Fix missing setting of - Error_Msg_Sloc. - (Analyze_Object_Renaming): Replace "in Anonymous_Access_Kind" by - Is_Anonymous_Access_Type. - * sem_util.adb (Has_Null_Exclusion): Fix handling of - N_Parameter_Specification. - * sem_ch12.adb (Instantiate_Object): Replace "in - Anonymous_Access_Kind" by Is_Anonymous_Access_Type. - -2020-07-07 Ed Schonberg - - * freeze.adb (Freeze_Expr_Types): Freeze the designated type of - the explicit dereference. - -2020-07-07 Javier Miranda - - * sem_util.adb (Is_Potentially_Unevaluated): Protect reading - attribute Etype. - -2020-07-07 Bob Duff - - * libgnat/g-catiio.adb (Value, Parse_ISO_8601): Unsuppress - checks, and don't rely on 'Valid. - -2020-07-07 Arnaud Charlet - - * Makefile.rtl: Remove dead code. - * doc/gnat_ugn/building_executable_programs_with_gnat.rst: - Document gnatbind -xdr switch. - * gnat_ugn.texi: Regenerate. - -2020-07-07 Piotr Trojanek - - * doc/gnat_ugn/building_executable_programs_with_gnat.rst - (Validity Checking): Add "p" to the list of switches enabled by - -gnatVa. - * gnat_ugn.texi: Regenerate. - -2020-07-07 Ghjuvan Lacambre - - * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Add call - to Check_Restriction_No_Specification_Of_Aspect. - * sem_prag.adb (Analyze_Pragma): Likewise. - * restrict.ads (Check_Restriction_No_Specification_Of_Aspect): - Mention possible new node kinds in documentation. - * restrict.adb (Check_Restriction_No_Specification_Of_Aspect): - Retrieve aspect id from different fields if given node is an - N_Pragma or an N_Attribute_Definition_Clause. - -2020-07-07 Gary Dismukes - - * contracts.adb (Add_Invariant_And_Predicate_Checks): Relax the - condition for doing invariant checks so that in-mode parameters - of procedures are also checked (required by AI05-0289, and - restricted to procedures by AI12-0044). This is done in a - procedure's nested postconditions procedure. - * exp_ch6.adb (Expand_Actuals): Also perform postcall invariant - checks for in parameters of procedures (but not functions). - Moved invariant-checking code to end of Expand_Actuals - (including the nested function Is_Public_Subp). - -2020-07-07 Piotr Trojanek - - * sem_aggr.adb (Resolve_Delta_Array_Aggregate): Make Index_Type - a constant. - -2020-07-07 Piotr Trojanek - - * exp_aggr.adb (Expand_N_Delta_Aggregate): Use type of the delta - base expression for the anonymous object of the delta aggregate. - -2020-07-07 Javier Miranda - - * sem_util.ads (Interval_Lists): Reordering routine. - * sem_util.adb (Interval_Lists): Reordering routines to keep - them alphabetically ordered. - -2020-07-07 Piotr Trojanek - - * sem_attr.adb (Resolve_Attribute): Do not call - Check_Non_Static_Context. - -2020-07-07 Arnaud Charlet - - * sem_elab.adb (Is_Guaranteed_ABE): Take into account null - procedures. - -2020-07-07 Piotr Trojanek - - * sem_ch5.adb (Analyze_Assignment): Reuse Is_Assignable. - -2020-07-07 Piotr Trojanek - - * exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Add scalar - range checks for 'Update on arrays just like for 'Update on - records. - * sem_attr.adb (Analyze_Array_Component_Update): Do not set - range checks for single-dimensional arrays. - (Resolve_Attribute): Do not set range checks for both single- - and multi- dimensional arrays. - -2020-07-07 Piotr Trojanek - - * sem.ads (Sem): Fix description. - -2020-07-07 Piotr Trojanek - - * sem_ch13.adb (Analyze_Relaxed_Parameter): Fix for protected - entries. - -2020-07-06 Piotr Trojanek - - * checks.adb (Apply_Scalar_Range_Check): Use Is_RTE. - -2020-07-06 Bob Duff - - * libgnat/g-catiio.ads: Document newly supported format. Add - ISO_Time constant, for convenience. - * libgnat/g-catiio.adb (Image_Helper): New helper function to do - all the formatting work, called by the two exported Image - functions. Add support for "%:::z" here. Add a Time_Zone - parameter used by the "%:::z" processing. This parameter is not - used for the actual time zone computations; local time is always - used for that, for ease of implementation reasons. It would - make sense to use Append throughout this function, but that's a - cleanup for another day. - (Image): Modify these to pass the local time zone, or the - specified time zone, as appropriate. - -2020-07-06 Bob Duff - - * libgnat/g-catiio.ads: Change the regular expression that - documents the allowed format to match what ISO-8601 allows. - * libgnat/g-catiio.adb (Scan_Subsecond): Rewrite so it doesn't - assume the subsecond comes last. - (Parse_ISO_8601): Parse an optional subsecond, followed by an - optional time zone, rather than making these alternatives to - each other. - -2020-07-06 Bob Duff - - * libgnat/g-catiio.adb (Parse_ISO_8601): Minor cleanups: - Give some objects clearer names. - Make some objects more local to where they are used. - Remove some validity checks that can't fail, because some of - the variables tested have been moved so they're not visible here. - Anyway, Wrong_Syntax is about errors in the input, not data - validity. - Use Time_Zone_Seen instead of Local_Sign = ' ' to determine - that a time zone indication was seen. - We don't need to distinguish two different kinds of - syntax error (End_Of_Source_Reached and Wrong_Syntax), - so use Wrong_Syntax always. - Remove comment, "Certain scanning scenarios may handle - this exception on their own."; there are no such scenarios. - -2020-07-06 Bob Duff - - * libgnat/g-catiio.ads, libgnat/g-catiio.adb (Image): New - function. It might seem like the local-time Image should be - implemented in terms of the Time_Zone Image, but that would be - far harder to implement, so we do it the other way around. - -2020-07-06 Thomas Quinot - - * libgnat/g-sechas.ads, libgnat/g-sechas.adb: Refactor to use - Stream_Element_Array as the internal buffer type. - * libgnat/g-shshco.adb: Adjust to use Stream_Element_Offset - instead of Integer as the index in the internal state buffer. - -2020-07-06 Gary Dismukes - - * doc/gnat_rm/implementation_defined_pragmas.rst, errout.ads, - erroutc.adb, exp_ch4.adb, exp_ch6.adb, freeze.adb: Comment - rewording/reformatting/typo fixes. Replace "ie." with "that is" - in comment; "can not" -> "cannot", and remove an extraneous - underscore in another comment. - * gnat_rm.texi, gnat_ugn.texi: Regenerate. - -2020-07-06 Javier Miranda - - * sem_util.ads (Interval_Lists.Aggregate_Intervals): New - subprogram. - * sem_util.adb (Has_Null_Others_Choice, - Non_Static_Or_Null_Range, Interval_Lists.Aggregate_Intervals): - New subprograms. - (Is_Potentially_Unevaluated): Adding support to detect - potentially unevaluated components of array aggregates. - -2020-07-06 Bob Duff - - * libgnat/g-catiio.adb (Parse_ISO_8601): New name for - Parse_ISO_8861_UTC. 8601 is the correct ISO standard number. - Also, "UTC" was confusing. All Time values are represented in - UTC, but the ISO 8601 date strings include a time zone. - If a time zone was specified, call - Ada.Calendar.Formatting.Time_Of instead of - GNAT.Calendar.Time_Of, because the latter adjusts to the current - time zone, whereas we want to use (just) the time zone specified - in the ISO string. This allows us to pass Time_Zone instead to - Time_Of, instead of adjusting by Local_Disp by hand. - If no time zone was specified, call GNAT.Calendar.Time_Of as - before. - Use expanded names to clarify which Time_Of is being called. - Remove redundant comment, and move nonredundant part of the - commment to the spec. - (Value): Minor: use "not in" instead of "or else". - * libgnat/g-catiio.ads: Comment moved here. Correct the ISO - standard number. - * libgnat/g-calend.adb: Add ??? comments. - * libgnat/a-calend.ads, libgnat/a-calend.adb: Update obsolete - comments regarding the representation of type Time. Move the - information about the epoch (year 2150) to the spec, and avoid - uttering "2150" more than once. - * libgnat/a-catizo.ads (Time_Offset): Add comment. - -2020-07-06 Ed Schonberg - - * exp_ch5.adb (Find_Component): If the target type is a derived - record type and the required component is a discriminant that is - renamed in the derived type declaration, use the name of the - original discriminant to locate the intended target component. - -2020-07-06 Justin Squirek - - * sem_ch12.adb (Analyze_Associations): Add check for errors on - the generic formal before continuing with instantiation. - -2020-07-06 Arnaud Charlet - - * libgnat/a-nbnbin.ads, libgnat/a-nbnbin.adb, - libgnat/a-nbnbin__gmp.adb: Use more Valid_Big_Integer. - -2020-07-06 Piotr Trojanek - - * exp_util.ads (Get_Index_Subtype): Fix duplicate "Last". - -2020-07-06 Ed Schonberg - - * sinfo.ads: Indicate that Field 1 of an N_Delta_Aggregate is - unused. Previously it was erroneously labelled as holding an - Expressions list, in analogy with other aggregate constructs, - but there are no Expressions attached to this node syntactically - or semantically. - -2020-07-06 Piotr Trojanek - - * sem_attr.adb (Eval_Attribute): Check if constant has an - initialization expression. - -2020-07-06 Piotr Trojanek - - * exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Apply - scalar range checks. - * sem_attr.adb (Resolve_Attribute): Do not set scalar range - checks when resolving attribute Update. - -2020-07-06 Gary Dismukes - - * sem_attr.adb (Analyze_Attribute, Attribute_Constrained): Issue - a warning if the attribute prefix is a current instance - reference within an aspect of a type or subtype. - (Address_Checks): Replace test of Is_Object (Ent) with - Is_Object_Reference (P) so that testing for current instances - will be done. - (Eval_Attribute): Add test for current instance reference, to - ensure that we still fold array attributes when current - instances are involved, since value prefixes are allowed for - array attributes, and will now be excluded by - Is_Object_Reference. - * sem_util.ads (Is_Current_Instance_Reference_In_Type_Aspect): - New exported query function. - * sem_util.adb (Is_Object_Reference): Return False for the case - where N is a current instance reference within an - aspect_specification of a type or subtype (basically if the - reference occurs within a predicate, invariant, or DIC aspect - expression). - (Is_Current_Instance_Reference_In_Type_Aspect): New function - that tests whether a node is a reference to a current instance - formal of a predicate, invariant, or - Default_Initial_Condition (DIC) subprogram. - -2020-07-06 Ed Schonberg - - * sem_res.adb (Resolve_Declare_Expression): New subprogram, to - install the scope holding local declarations of the expression, - before completing its resolution. - (Resolve): For an Expression_With_Actions that comes from a - source occurrence of a Declare_Expression, call new subprogram. - -2020-07-06 Piotr Trojanek - - * sem_attr.adb (Analyze_Attribute): Reuse SPARK_Implicit_Load. - -2020-07-06 Piotr Trojanek - - * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Propagate - exception when switch -gnatdk is used and no previous errors are - present. - * sem_eval.adb (Compile_Time_Known_Value, Is_In_Range): - Likewise. - * sem_warn.adb (Operand_Has_Warnings_Suppressed): Likewise. - -2020-07-06 Richard Kenner - - * exp_unst.adb (Needs_Fat_Pointer): Don't check for formal. - (Unnest_Subprogram): Use 'Unchecked_Access instead of 'Access - when populating activation record. - -2020-07-06 Eric Botcazou - - * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Rename parameter - from Bit_Packed_Array to Force. - (Expand_Actuals): Do not apply BIP processing if the subprogram - is intrinsic. Adjust calls to Add_Simple_Call_By_Copy_Code and - add one for In parameters whose actual is a CPP constructor call. - -2020-07-06 Eric Botcazou - - * sem_attr.adb (Eval_Attribute): Do not apply range checks in - the case of 'Pos applied to an integer type here. - -2020-07-06 Ed Schonberg - - * sem_ch3.adb (Analyze_Object_Declaration): If the type is an - Unchecked_Union, and the expression is an aggregate. complete - the analysis and resolution of the aggregate, and treat like a - regular object declaration, instead of as a renaming - declarattion. - -2020-07-06 Eric Botcazou - - * exp_ch9.adb (Is_Potentially_Large_Family): Add documentation. - (Actual_Index_Expression): Use Entry_Index_Type. - (Build_Entry_Count_Expression): Likewise. - (Build_Find_Body_Index): Likewise. - (Collect_Entry_Families): Likewise. Use directly the bounds of - the index type to find out whether the family is large. - (Entry_Index_Expression): Likewise. - -2020-07-06 Piotr Trojanek - - * sem_res.adb (Resolve_Range): Resolve both low and high bounds - with the range type. - -2020-07-06 Arnaud Charlet - - * aspects.ads (Is_Representation_Aspect): - Default_Component_Value is a representation aspect. - * sem_ch13.adb (Check_Aspect_Too_Late, Rep_Item_Too_Late): Relax - RM 13.1(10) rule wrt primitive operations for Ada 202x. - -2020-07-06 Eric Botcazou - - * exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Move to library - level and use a new predicate Is_OK_Aggregate to recognize the - aggregates suitable for direct assignment by the back-end. - (Convert_Array_Aggr_In_Allocator): If neither in CodePeer mode nor - generating C code, generate a direct assignment instead of further - expanding if Aggr_Assignment_OK_For_Backend returns true. - -2020-07-06 Gary Dismukes - - * sem_aux.adb: Add a with clause for Nlists. - (Nearest_Ancestor): Test for the case of concurrent - types (testing for both Is_Concurrent_Type and - Is_Concurrent_Record_Type), and return the first ancestor in the - Interfaces list if present (otherwise will return Empty if no - interfaces). - * sem_ch13.adb (Build_Predicate_Functions): Add a ??? comment - about missing handling for adding predicates when they can be - inherited from multiple progenitors. - -2020-07-06 Arnaud Charlet - - * par-ch6.adb (P_Return_Object_Declaration): Set - Has_Init_Expression flag. - -2020-07-02 Eric Botcazou - - * debug.adb (d.K): Document new usage. - * fe.h (Debug_Flag_Dot_KK): Declare. - * gcc-interface/decl.c (gnat_to_gnu_field): Give an error when the - component overlaps with the parent subtype, except with -gnatd.K. - -2020-06-26 Eric Botcazou - - * exp_ch4.adb (Expand_Set_Membership): Expand the membership test - using left associativity instead of right associativity. - -2020-06-23 Eric Botcazou - - * gcc-interface/utils2.c (build_binary_op): Remove space. - -2020-06-23 Eric Botcazou - - * gcc-interface/trans.c (gnat_to_gnu) : Minor tweaks. - Call Has_Constrained_Partial_View on base type of designated type. - -2020-06-23 Eric Botcazou - - * gcc-interface/utils.c (gnat_write_global_declarations): Output - integral global variables first and the imported functions later. - -2020-06-23 Eric Botcazou - - * gcc-interface/decl.c (elaborate_expression_1): When GNAT encodings - are not used, do not create a variable for debug info purposes if - the expression is itself a user-declared variable. - -2020-06-23 Eric Botcazou - - * gcc-interface/ada-tree.h (DECL_RENAMED_OBJECT): Delete. - * gcc-interface/decl.c (gnat_to_gnu_entity) : Always use - the stabilized reference directly for renaming and create a variable - pointing to it separately if requested. - * gcc-interface/misc.c (gnat_print_decl): Adjust for deletion. - * gcc-interface/trans.c (Identifier_to_gnu): Likewise. - (gnat_to_gnu) : - Do not deal with side-effects here. - : Likewise. - -2020-06-23 Eric Botcazou - - * gcc-interface/decl.c (elaborate_expression): Replace calls to - Is_OK_Static_Expression with Compile_Time_Known_Value. - -2020-06-23 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_entity) : Set - debug type to the base type and only if the subtype is artificial. - -2020-06-23 Eric Botcazou - - * gcc-interface/trans.c (gnat_to_gnu) : Do - not test Is_Bit_Packed_Array in the memset path. - -2020-06-19 Eric Botcazou - - * gcc-interface/trans.c (lvalue_required_for_attribute_p): Do not deal - with 'Pos or 'Val. - (Attribute_to_gnu): Likewise. - * gcc-interface/utils.c (create_field_decl): Small formatting fix. - -2020-06-19 Eric Botcazou - - * gcc-interface/trans.c (adjust_for_implicit_deref): Delete. - (maybe_implicit_deref): Likewise. - (Attribute_to_gnu): Replace calls to maybe_implicit_deref by calls - to maybe_padded_object. - (Call_to_gnu): Likewise. - (gnat_to_gnu) : Likewise. - : Likewise. - : Likewise. - : Remove call to adjust_for_implicit_deref and - manually make sure that the designated type is complete. - * gcc-interface/utils2.c (build_simple_component_ref): Add comment. - -2020-06-19 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_param): Tidy up. - (gnat_to_gnu_subprog_type): For a variadic C function, do not - build unnamed parameters and do not add final void node. - * gcc-interface/misc.c: Include snames.h. - * gcc-interface/trans.c (Attribute_to_gnu): Tidy up. - (Call_to_gnu): Implement support for unnamed parameters in a - variadic C function. - * gcc-interface/utils.c: Include snames.h. - (copy_type): Tidy up. - -2020-06-19 Eric Botcazou - - * exp_ch5.adb (Expand_N_Assignment_Statement): Do not apply - range checks to allocators here. - -2020-06-19 Justin Squirek - - * lib.adb (Check_Same_Extended_Unit): Add check to determine if - the body for the subunits exist in the same file as their - specifications. - -2020-06-19 Eric Botcazou - - * exp_aggr.adb (In_Place_Assign_OK): In an allocator context, - check the bounds of an array aggregate against those of the - designated type, except if the latter is unconstrained. - -2020-06-19 Eric Botcazou - - * sem_ch3.adb (Is_Visible_Component): Reason only on the private - status of the original type in an instance body. - -2020-06-19 Eric Botcazou - - * sem_res.adb (Resolve_Qualified_Expression): Do not override the - type of the node when it is unconstrained if it is for an allocator. - -2020-06-19 Eric Botcazou - - * sem_res.adb (Resolve_Allocator): Call Resolve_Qualified_Expression - on the qualified expression, if any, instead of doing an incomplete - type resolution manually. - (Resolve_Qualified_Expression): Apply predicate check to operand. - -2020-06-19 Eric Botcazou - - * sem_ch4.adb (Analyze_Selected_Component): In an instance body, - also invoke Find_Component_In_Instance on the parent subtype of - a derived tagged type immediately visible. Remove obsolete case. - -2020-06-19 Eric Botcazou - - * exp_attr.adb (Get_Integer_Type): Return the largest supported - unsigned integer type if need be. - -2020-06-19 Justin Squirek - - * sem_warn.adb (Warn_On_Known_Condition): Add general sanity - check that asserts the original source node being checked - contains an entity. If not, it could be the result of special - case expansion for type conversions. - -2020-06-19 Ed Schonberg - - * sem_ch6.adb (Analyze_Expression_Function): Do not indicate - that the function has a completion if it appears within a Ghost - generic package. - -2020-06-19 Bob Duff - - * libgnat/a-ststbo.adb (Write): Replace pragma Assert with "if - ... raise Constraint_Error". - -2020-06-19 Justin Squirek - - * widechar.adb, widechar.ads (Skip_Wide): Catch validity check - failure when skipping over characters, and update comment to - reflect Skip_Wide's usage in error printing. - -2020-06-19 Javier Miranda - - * exp_ch3.ads (Ensure_Activation_Chain_And_Master): New - subprogram. - * exp_ch3.adb (Ensure_Activation_Chain_And_Master): New - subprogram that factorizes code. - (Expand_N_Object_Declaration): Call new subprogram. - * sem_ch6.adb (Analyze_Function_Return): Returning a - build-in-place unconstrained array type defer the full analysis - of the returned object to avoid generating the corresponding - constrained subtype; otherwise the bounds would be created in - the stack and a dangling reference would be returned pointing to - the bounds. - -2020-06-19 Arnaud Charlet - - * libgnat/a-nbnbin.adb, libgnat/a-nbnbin.ads, - libgnat/a-nbnbin__gmp.adb, libgnat/a-nbnbre.adb, - libgnat/a-nbnbre.ads: Update spec according to AI12-0366. - -2020-06-19 Piotr Trojanek - - * checks.ads: Remove excessive whitespace in declarations of - functions for check suppression. - -2020-06-19 Eric Botcazou - - * sem_ch7.adb (Hide_Public_Entities): Split handling of objects - and subprograms, and do not reject the latter upfront in nested - instance specs if there are no referencer subprograms at all. - (Analyze_Package_Body_Helper): Also call Hide_Public_Entities on - nested generic instances. - -2020-06-19 Piotr Trojanek - - * sem_attr.adb (Analyze_Attribute): Reject illegal positional - component associations; fix syntax in comment about named - component associations. - -2020-06-19 Piotr Trojanek - - * sem_aggr.adb (Resolve_Delta_Record_Aggregate): Modify a nested - Get_Component_Type routine to return a component and not just - its type; use this routine to decorate the identifier within the - delta aggregate. - -2020-06-19 Arnaud Charlet - - * sem_ch4.adb (Find_Equality_Types.Check_Access_Attribute): New. - (Find_Equality_Types): Move universal_access related checks at - the end of the processing and add call to - Check_Access_Attribute. - -2020-06-19 Eric Botcazou - - * sem_prag.adb (Process_Convention): Revert previous change. - -2020-06-19 Eric Botcazou - - * checks.ads (Apply_Static_Length_Check): Move up. - (Apply_Range_Check): Add parameter Insert_Node. - * checks.adb (Apply_Selected_Range_Checks): Merge into... - (Apply_Range_Check): ...this. Add parameter Insert_Node, - pass it as Warn_Node to Selected_Range_Checks and use it - as insertion point for the checks. - * sem_ch3.adb (Analyze_Subtype_Declaration): Rewrite block - dealing with the range checks for the subtype indication. - Use local variable and call Apply_Range_Check in both cases. - -2020-06-19 Piotr Trojanek - - * exp_attr.adb (Expand_N_Attribute_Reference): Call Ensure_Valid - on the expression of an object declaration that captures the - value of 'Old prefix. - -2020-06-19 Piotr Trojanek - - * exp_attr.adb (Expand_N_Attribute_Reference): Add comment. - * sem_attr.adb (Analyze_Attribute): Add ??? comment. - * sem_util.ads (Valid_Scalars): This routine is only used for - 'Valid_Scalars and not for 'Valid. - -2020-06-19 Piotr Trojanek - - * exp_attr.adb (Expand_N_Attribute_Reference): Do not call - Scalar_Part_Present on the array component's type. - (Build_Array_VS_Func): Remove Comp_Typ parameter, because it can - be easily computed from the Array_Top parameter *and redundant - parameters are confusing and error-prone). - -2020-06-19 Piotr Trojanek - - * exp_attr.adb (Build_Record_VS_Func): Strip privacy and type - derivation from the root type when 'Valid_Scalars is applied to - a class-wide type. - -2020-06-19 Piotr Trojanek - - * checks.adb (Apply_Parameter_Validity_Checks): Remove testing - of Check_Validity_Of_Parameters for every formal parameter and - function result. - -2020-06-19 Arnaud Charlet - - * sem_warn.adb (Warn_On_Overlapping_Actuals): Add missing - warning tag. - -2020-06-18 Eric Botcazou - - * exp_ch4.adb (Get_Size_For_Range): Only make sure to return a - size lower than that of the original type if possible. - * libgnat/s-rannum.adb (Random_Discrete): Back out optimization - added for 32-bit types. - -2020-06-18 Arnaud Charlet - - * sem_ch6.ads, sem_ch6.adb (Check_Formal_Conformance): New - subprogram. - (Check_Conformance): Move code to Check_Formal_Conformance. - * sem_ch8.adb (Analyze_Subprogram_Renaming): Check for formal - conformance when needed. - -2020-06-18 Eric Botcazou - - * exp_ch4.adb (Narrow_Large_Operation): New procedure to try - and narrow large arithmetic and comparison operations. - (Expand_N_In): Call it. - (Expand_N_Op_Abs): Likewise. - (Expand_N_Op_Add): Likewise. - (Expand_N_Op_Divide): Likewise. - (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_Minus): Likewise. - (Expand_N_Op_Mod): Likewise. - (Expand_N_Op_Multiply): Likewise. - (Expand_N_Op_Ne): Likewise. - (Expand_N_Op_Plus): Likewise. - (Expand_N_Op_Rem): Likewise. - (Expand_N_Op_Subtract): Likewise. - (Expand_N_Type_Conversion): Use Convert_To procedure. - * exp_ch9.adb (Is_Pure_Barrier) : Skip all - numeric types. - : Use explicit criterion. - -2020-06-18 Eric Botcazou - - * exp_ch4.adb (Expand_Allocator_Expression): Apply constraint - and predicate checks for the qualified expression on entry, - followed by constraint and predicate checks for the allocator - itself, and return early if this results in a static error. - (Expand_N_Allocator): Do not do the same here. Instead apply - constraint and predicate checks for arrays in the subtype - indication case. - * exp_ch5.adb (Expand_N_Assignment_Statement): Do not apply - range checks to allocators here. - -2020-06-18 Javier Miranda - - * exp_ch6.adb (BIP_Suffix_Kind, Is_Build_In_Place_Entity): Move - declarations... - * exp_ch6.ads: Here. - * exp_util.adb (Is_Secondary_Stack_BIP_Func_Call): Do not rely - on the name of the scope to locate the extra formal BIPalloc - since they are copied when the pointer type associated with - dispatching calls is built; rely on routines - Is_Build_In_Place_Entity and BIP_Suffix_Kind. - * exp_disp.adb (Expand_Dispatching_Call): Set the scope of the - first extra formal of the internally built pointer type. - * sem_ch3.adb (Derive_Subprogram): Do not inherit extra formals - from a limited interface parent since limitedness is not - inherited in such case (AI-419) and this affects the extra - formals. - * sprint.adb (Write_Itype): Output extra formals of subprogram - types. - -2020-06-18 Ghjuvan Lacambre - - * errout.adb (Write_Error_Summary): Display number of warnings - treated as errors. - * errutil.ads: Update comment. - -2020-06-18 Eric Botcazou - - * exp_attr.adb (Analyze_Attribute) : Alphabetize. - : Add check for universal integer attribute. - , , , , - : Raise Program_Error on them. - * sem_attr.adb (Eval_Attribute) : Add comment on - the packed array case. - -2020-06-18 Steve Baird - - * sem_util.adb (Object_Access_Level): Treat a 'Old attribute - reference like an aggregate in determining its static - accessibility level; after the evaluation of the relevant - post-condition, the implicitly declared constant associated with - an Old attribute reference ceases to exist. Similarly for - Loop_Entry attribute. - * exp_ch6.adb (Expand_Call_Helper): For an attribute reference - that is expanded into a reference to an implicitly declared - constant (e.g., a 'Old or 'Loop_Entry attribute), compute the - dynamic accessibility level of that constant by looking at the - declaration of the constant (as opposed to looking at the - attribute reference). - -2020-06-18 Steve Baird - - * exp_ch3.adb (Expand_N_Object_Declaration): Do not generate a - default initial condition check for the declaration of an - imported object. - -2020-06-18 Arnaud Charlet - - * Makefile.rtl: Add s-statxd.o. - * bindgen.adb (Gen_Adainit): Add support for XDR_Stream. - * bindusg.adb (Display): Add mention of -xdr. - * gnatbind.adb: Process -xdr switch. - * init.c (__gl_xdr_stream): New. - * opt.ads (XDR_Stream): New. - * libgnat/s-stratt__xdr.adb: Rename to... - * libgnat/s-statxd.adb: this and adjust. - * libgnat/s-statxd.ads: New. - * libgnat/s-stratt.ads, libgnat/s-stratt.adb: Choose between - default and XDR implementation at runtime. - * libgnat/s-ststop.ads: Update comments. - * doc/gnat_rm/implementation_advice.rst: Update doc on XDR - streaming. - * gnat_rm.texi: Regenerate. - -2020-06-18 Eric Botcazou - - * sem_attr.adb (Analyze_Attribute) : Use the address - size of the target instead of the host when checking the value of - a static expression. Also use standard idiom for exponentiation. - -2020-06-18 Eric Botcazou - - * sem_prag.adb (Process_Convention): Give a warning on C_Variadic_n - being applied to a subprogram with exactly n parameters. - -2020-06-18 Arnaud Charlet - - * libgnarl/s-osinte__linux.ads, libgnat/g-io.adb, - libgnat/g-socket.adb, libgnat/g-socthi.adb, - libgnat/g-socthi.ads, libgnat/g-socthi__vxworks.adb, - libgnat/g-socthi__vxworks.ads, libgnat/g-sothco.ads, - libgnat/s-io.adb, libgnat/a-except.adb: Fix function profile - mismatch with imported C functions. - -2020-06-18 Eric Botcazou - - * exp_ch6.adb (Expand_Call_Helper): Remove superfluous calls - to Relocate_Node and merge calls to Analyze and Resolve in a - couple of places. Do not attempt to generate a range check - for an actual parameter against the formal's type of a derived - subprogram after generating a conversion to the formal's type - of the parent subprogram. - -2020-06-18 Eric Botcazou - - * checks.adb (Compute_Range_For_Arithmetic_Op): New procedure to - compute a range for an arithmetical operation extracted from... - (Minimize_Eliminate_Overflows): ...here. Call it. - (Determine_Range_Cache_O): New cache for Original_Node nodes. - (Determine_Range): Call Compute_Range_For_Arithmetic_Op for all - arithmetic expressions. Use Attribute_Id in lieu of Attribute_Name - for attributes. Add handling for Range_Length alongside Length. - Add specific handling for Alignment, Bit, First_Bit, Last_Bit, - Max_Size_In_Storage_Elements, Position, Bit_Position, - Component_Size, Object_Size, Size, Value_Size, Descriptor_Size. - (Enable_Overflow_Check): Omit the check for Abs and Minus if the - operand cannot be the largest negative number. - (Selected_Length_Checks): Use Pos for Number_Dimensions. - * exp_attr.adb (Expand_N_Attribute_Reference): Move compile-time - handling of Bit_Position, Descriptor_Size, First_Bit, Last_Bit - and Position to... - * sem_attr.adb (Eval_Attribute): ...here. Move up Alignment for - objects and use Compile_Time_Known_Attribute in this case too. - -2020-06-18 Ghjuvan Lacambre - - * erroutc.ads: Declare new Is_Compile_Time_Msg boolean, - add new Compile_Time_Pragma field to Error_Msg_Object type. - (Count_Compile_Time_Pragma_Warnings): New function. - * erroutc.adb (Count_Compile_Time_Pragma_Warnings): New - function. - (Compilation_Errors): Take Compile_Time warnings into account - when tallying Errors/Warnings. - * errout.ads (Error_Msg): New procedure. - * errout.adb (Error_Msg): New procedure. - (Error_Msg_Internal): Set new Compile_Time_Pragma field in - Error_Msg_Object. - * errutil.adb (Error_Msg): Set new Compile_Time_Pragma field in - Error_Msg_Object. - * sem_prag.adb (Validate_Compile_Time_Warning_Or_Error): Pass - True to new Error_Msg procedure. - * doc/gnat_rm/implementation_defined_pragmas.rst: Update doc for - the Compile_Time_Warning pragma. - * gnat_rm.texi: Regenerate. - * opt.ads: Update comment. - -2020-06-18 Arnaud Charlet - - * sem_ch4.adb (Check_Compatible_Profiles): Add explicit - initialization. - -2020-06-18 Piotr Trojanek - - * checks.adb (Generate_Index_Checks): Handle - N_Subtype_Indication returned from Scalar_Range. - -2020-06-18 Piotr Trojanek - - * checks.adb, sem_ch3.adb: Minor refactorings. - * sem_eval.adb (Eval_Qualified_Expression): Fix reference to RM - rule in comment; only set a local variable Hex in the branch - where it is used. - -2020-06-18 Piotr Trojanek - - * sem_eval.adb (Check_Non_Static_Context): Use Is_RTE. - -2020-06-18 Arnaud Charlet - - * sem_ch4.adb (Find_Equality_Types.Check_Access_Object_Types): - New function, used to implement RM 4.5.2 (9.6/2). - (Find_Equality_Types.Check_Compatible_Profiles): New function, - used to implement RM 4.5.2(9.7/2). - (Find_Equality_Types.Reference_Anonymous_Access_Type): New - function. - (Find_Equality_Types.Try_One_Interp): Fix handling of anonymous - access types which was accepting both too much and too little. - Remove accumulated special and incomplete cases for - instantiations, replaced by Has_Compatible_Type. - (Analyze_Overloaded_Selected_Component): Use - Is_Anonymous_Access_Type instead of Ekind_In. - * sem_res.adb: Code cleanup and bug fix: use - Is_Anonymous_Access_Type instead of Ekind_In. Relax checking of - anonymous access parameter when universal_access "=" is - involved. - * sem_type.adb: Likewise. - (Find_Unique_Type): Move code from here... - (Specific_Type): ...to here. Also add missing handling of access - to class wide types. - * einfo.ads, einfo.adb (Is_Access_Object_Type): New. - -2020-06-18 Bob Duff - - * libgnat/a-strsto.ads, libgnat/a-ststbo.adb, - libgnat/a-ststbo.ads, libgnat/a-ststun.adb, - libgnat/a-ststun.ads: New files, containing packages - Ada.Streams.Storage, Ada.Streams.Storage.Bounded, and - Ada.Streams.Storage.Unbounded. - * impunit.adb, Makefile.rtl: Add new file names. - -2020-06-18 Javier Miranda - - * sem_ch13.adb (Has_Good_Profile): Enforce strictness in the - check. Required to detect wrong profiles for Input and Output. - (Analyze_Stream_TSS_Definition): Minor enhancement in the text - of the error for class-wide attributes. - -2020-06-18 Eric Botcazou - - * exp_attr.adb (Get_Integer_Type): Pick an unsigned type based - on the Esize of the base type of the input type. - -2020-06-18 Eric Botcazou - - * exp_ch4.adb (Expand_Array_Equality): For the optimization of - the 2-element case, build new expression lists for the indices. - -2020-06-18 Richard Kenner - - * sem_util.adb (Enclosing_Subprogram): No longer need - Convention_Protected. - -2020-06-18 Claire Dross - - * sem_util.adb (Is_OK_Volatile_Context): Return False on - definitions of constants declared in declare expressions. - -2020-06-18 Piotr Trojanek - - * doc/gnat_rm/implementation_defined_aspects.rst - (Relaxed_Initialization): New implementation-defined aspect. - * doc/gnat_rm/implementation_defined_attributes.rst - (Initialized): New implementation-defined attribute. - * gnat_rm.texi: Regenerate. - -2020-06-18 Javier Miranda - - * exp_disp.adb (Expand_Dispatching_Call): Add missing decoration - of attribute Extra_Accessibility_Of_Result. - * freeze.adb (Check_Extra_Formals): No check required if - expansion is disabled; Adding check on - Extra_Accessibilty_Of_Result. - (Freeze_Subprogram): Fix decoration of - Extra_Accessibility_Of_Result. - * sem_ch3.adb (Derive_Subprogram): Fix decoration of - Extra_Accessibility_Of_Result - -2020-06-18 Eric Botcazou - - * exp_ch4.adb (Optimize_Length_Comparison): Accept 32-bit values - in the full unsigned range. - -2020-06-17 Eric Botcazou - - * checks.adb (Apply_Universal_Integer_Attribute_Checks): Do not do - anything when the type of the node is already Universal_Integer. - -2020-06-17 Arnaud Charlet - - * sem_ch10.adb (Expand_With_Clause): Add missing handling of - N_Generic_Subprogram_Declaration, N_Subprogram_Declaration, - N_Subprogram_Body. - -2020-06-17 Ed Schonberg - - * sem_ch13.adb: (Check_Inherited_Indexing): Check that a type - derived from an indexable container type cannot specify an - indexing aspect if the same aspect is not specified for the - parent type (RM 4.1.6 (6/5), AI12-160). Add a check that a - specified indexing aspect for a derived type is confirming. - -2020-06-17 Gary Dismukes - - * exp_ch9.adb (Build_Protected_Subp_Specification): Add ??? - comment about the flag Has_Nested_Subprogram not being set here. - (Expand_N_Protected_Body): If the original body for a protected - subprogram has the flag Has_Nested_Subprogram set, then set that - flag on the new unprotected subprogram body that's created for - it, and reset the Scope fields of its top level declarations, - which have been effectively taken from the original protected - subprogram body. Add ??? comment about unclear testing of - Corresponding_Spec. - -2020-06-17 Javier Miranda - - * aspects.ads (type Aspect_Id): Add Aspect_Yield as a Boolean - aspect, and update the Is_Representation_Aspect, Aspect_Names, - and Aspect_Delay arrays. - * einfo.ads, einfo.adb (Has_Yield_Aspect, Yield_Aspect): New - subprograms. - * exp_ch6.adb (Add_Return, Expand_Non_Function_Return, - Expand_Simple_Function_Return): Add calls to Yield. - * exp_ch9.adb (Build_Accept_Body, Expand_N_Accept_Statement): - Add calls to Yield. - * rtsfind.ads (RE_Yield): Adding support to generate calls to - the runtime service Ada.Dispatching.Yield - * sem_ch13.adb (Analyze_Aspect_Yield): New subprogram. - * sem_ch3.adb (Derive_Subprogram): Inherit attribute - Has_Yield_Aspect. - * sem_ch8.adb (Analyze_Subprogram_Renaming): Check consistency - of Has_Yield in the actual subprogram of a generic - instantiation. - * sem_disp.adb (Check_Dispatching_Operation): Check that if the - Yield aspect is specified for a dispatching subprogram that - inherits the aspect, the specified value shall be confirming. - * sem_prag.adb (Analyze_Pragma [Pragma_Implemented]): Check that - the implementation kind By_Protected_Procedure cannot be applied - to a procedure that has aspect Yield. - -2020-06-17 Eric Botcazou - - * exp_ch4.adb (Expand_N_Op_Expon): Replace all occurrences of - the original right operand with the relocated version. - -2020-06-17 Javier Miranda - - * exp_ch6.adb (Has_BIP_Extra_Formal): New subprogram. - (Needs_BIP_Task_Actuals): Add support for the subprogram type - internally generated for dispatching calls. - * exp_disp.adb (Expand_Dispatching_Call): Adding code to - explicitly duplicate the extra formals of the target subprogram. - * freeze.adb (Check_Extra_Formals): New subprogram. - (Freeze_Subprogram): Fix decoration of Extra_Formals. - * sem_ch3.adb (Derive_Subprogram): Fix decoration of - Extra_Formals. - -2020-06-17 Bob Duff - - * par.adb (P_Basic_Declarative_Items): Update comment about - Declare_Expression. - * par-ch3.adb (P_Declarative_Items): Pass in Declare_Expression - flag, and if True, skip the call to Style.Check_Indentation. - * par-ch4.adb (P_Declare_Expression): Fix incorrect comment. - -2020-06-17 Arnaud Charlet - - * sem_res.adb (Valid_Conversion): Change error message to make - it more user-friendly. - -2020-06-17 Eric Botcazou - - * checks.ads (Apply_Length_Check_On_Assignment): Declare. - * checks.adb (Apply_Length_Check_On_Assignment): New procedure - to apply a length check to an expression in an assignment. - * exp_ch5.adb (Expand_Assign_Array): Call it instead of calling - Apply_Length_Check to generate a length check. - * sem_ch5.adb (Analyze_Assignment): Likewise. - -2020-06-17 Piotr Trojanek - - * einfo.adb (Is_Relaxed_Initialization_State): Add reference to - SPARK RM. - * sem_attr.adb (Analyze_Attribute_Old_Result): Likewise. - * sem_ch13.adb (Analyze_Aspect_Relaxed_Initialization): Reject - aspect on completions of private types and deferred constants. - * sem_util.ads, sem_util.adb (Has_Relaxed_Initialization): - Adjust comments; support queries for constants. - -2020-06-17 Eric Botcazou - - * cstand.adb (Stloc): Change to a renaming. - (Staloc): Likewise. - (Build_Unsigned_Integer_Type): Remove Nam parameter, use local - constants and do not call Make_Name. - (Make_Dummy_Index): Use local constants. - (Create_Standard): Pass the name of entities as parameter in - calls to New_Standard_Entity and remove calls to Make_Name. - Adjust calls to Build_Unsigned_Integer_Type. - (Identifier_For): Use local constant. - (Make_Component): Pass the name of the component as parameter - in call to New_Standard_Entity and remove call to Make_Name. - (Make_Formal): Likewise. Rename Formal_Name parameter into - Nam and use local constant. - (Make_Name): Delete. - (New_Operator): Use local constant. - (New_Standard_Entity): Rename S parameter into Nam and build - the name here. Remove call to Make_Name. - (Register_Float_Type): Pass the name of the type as parameter - in call to New_Standard_Entity and remove call to Make_Name. - -2020-06-17 Eric Botcazou - - * exp_attr.adb (Expand_N_Attribute_Reference) : - Remove condition added for scalar types. - -2020-06-17 Gary Dismukes - - * exp_ch3.ads (Build_Access_Subprogram_Wrapper_Body): Adjust - colon columns; reformat comment. - * exp_ch3.adb - (Build_Access_Subprogram_Wrapper_Body): Likewise. - * sem_ch3.adb (Build_Access_Subprogram_Wrapper): Reformat spec - comment and reformat comment in body. - (Analyze_Full_Type_Declaration): Reformat comment. - (Replace_Type_Name): Fixed three typos, plus reformatting of - comment. - * sem_prag.adb (Analyze_Pre_Post_Condition): Fix typos. - * sem_warn.adb (Warn_On_Overlapping_Actuals): Edit comments: - remove hyphen, add missing word. - -2020-06-17 Bob Duff - - * 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-cdlili.adb, libgnat/a-chtgbk.adb, - libgnat/a-chtgke.adb, libgnat/a-cidlli.adb, - libgnat/a-cihama.adb, libgnat/a-cihase.adb, - libgnat/a-cimutr.adb, libgnat/a-ciorma.adb, - libgnat/a-ciorse.adb, libgnat/a-cobove.adb, - libgnat/a-cohama.adb, libgnat/a-cohase.adb, - libgnat/a-coinve.adb, libgnat/a-comutr.adb, - libgnat/a-convec.adb, libgnat/a-coorma.adb, - libgnat/a-coorse.adb, libgnat/a-crbtgk.adb, - libgnat/a-crbtgo.adb, libgnat/a-rbtgso.adb: Move tampering - checks earlier. - -2020-06-17 Eric Botcazou - - * exp_attr.adb (Get_Integer_Type): Use standard types without - a specific size. - * sem_res.adb (Resolve_Unchecked_Type_Conversion): Remove a - redundant intermediate conversion to Universal_Integer. - -2020-06-17 Piotr Trojanek - - * sem_util.ads, sem_util.adb (Get_Iterable_Type_Primitive): Fix - comment and enforce it with an assertion in the body. - -2020-06-17 Ed Schonberg - - * sem_ch3.adb (Analyze_Full_Type_Declaration): For an - access_to_subprogram declaration that has aspect specifications, - call Build_Access_ Subprogram_Wrapper at once, so that pre- and - postcondition aspects are analyzed in the context of a - subprogram declaration. - (Build_Access_Subprogram_Wrapper): Examine aspect specifications - of an Access_To_Subprogram declaration. If pre- or - postconditions are declared for it, create declaration for - subprogram wrapper and add the corresponding aspect - specifications to it. Replace occurrences of the type name by - that of the generated subprogram, so that attributes 'Old and - 'Result can appear in a postcondition. - * exp_ch3.adb (Build_Access_Subprogram_Wrapper_Body): Moved - here from sem_prag.adb. - * exp_ch3.ads (Build_Access_Subprogram_Wrapper_Body): Visible - subprogram. - * sem_prag.adb (Build_Access_Subprogram_Wrapper / _Body): Moved - to sem_ch3.adb and exp_ch3.adb. - -2020-06-17 Piotr Trojanek - - * atree.adb (Preserve_Comes_From_Source): Rewrite using - Set_Comes_From_Source and Comes_From_Source, which enforce that - the parameters are valid. - * exp_ch4.adb, exp_ch5.adb, sem_ch12.adb, sem_ch6.adb, - sem_res.adb: Rewrite using Preserve_Comes_From_Source. - -2020-06-17 Arnaud Charlet - - * libgnat/a-nbnbin.ads, libgnat/a-nbnbre.ads: Remove obsolete - comments. - -2020-06-17 Gary Dismukes - - * aspects.ads (type Aspect_Id): Add Aspect_Static as a Boolean - aspect, and update the Is_Representation_Aspect, Aspect_Names, - and Aspect_Delay arrays. - * exp_ch6.adb (Expand_Simple_Function_Return): In the case of a - return for a static expression function, capture a copy of the - expression of the return statement before it's expanded and - reset its Analyzed flags. Then, just before leaving this - procedure, if the expression was rewritten, set the - Original_Node of the rewritten expression to the new copy and - also set the Expression of the associated static expression - function to designate that copy. This ensures that later copies - of the expression made via New_Copy_Tree will fully copy all - nodes of the expression tree. - * inline.ads (Inline_Static_Expression_Function_Call): New - procedure to evaluate and produce the result of a static call to - a static expression function. - * inline.adb: Add with and use for Sem_Res. - (Establish_Actual_Mapping_For_Inlined_Call): New procedure - extracted from code in Expand_Inlined_Call that traverses the - actuals and formals of an inlined call and in some cases creates - temporaries for holding the actuals, plus establishes an - association between formals and actuals (via the Renamed_Object - fields of the formals). - (Formal_Is_Used_Once): Function removed from Expand_Inlined_Call - and now nested in the above procedure. - (Expand_Inlined_Call): Code for doing the formal/actual - traversal is moved to Create_Actual_Temporaries and replaced - with a call to that new procedure. - (Inline_Static_Expression_Function_Call): New procedure to - evaluate a static call to a static expression function, - substituting actuals for their corresponding formals and - producing a fully folded and static result expression. The - function has subsidiary functions Replace_Formal and Reset_Sloc - that take care of doing the mapping of formals to actuals and - resetting the Slocs of subnodes of the mapped expression to that - of the call so errors will be flagged on the call rather than - function. - * sem_ch6.adb (Analyze_Expression_Function): In the case of a - static expression function, perform an additional preanalysis of - the function's expression to ensure that it's a potentially - static expression (according to the requirements of - 6.8(3.2/5-3.4/5)), and issue an error if it's not. The global - flag Checking_Potentially_Static_Expression is set and unset - around this checking. - * sem_ch13.adb (Analyze_Aspect_Static): New procedure to enforce - selected requirements of the new aspect Static on expression - functions, including checking that the language version is - Ada_2020 and that the entity to which it applies is an - expression function whose formal parameters are of a static - subtype and have mode 'in', its result subtype is a static - subtype, and it has no pre- or postcondition aspects. A ??? - comment is added to indicate the need for adding checking that - type invariants don't apply to the result type if the function - is a boundary entity. - (Analyze_One_Aspect): Call Analyze_Aspect_Static for aspect - Static. - * sem_elab.adb (Build_Call_Marker): Return without creating a - call marker when the subprogram is a static expression function, - since no ABE checking is needed for such functions. - * sem_eval.ads (Checking_Potentially_Static_Expression): New - function to return whether the checking for potentially static - expressions is enabled. - (Set_Checking_Potentially_Static_Expression): New procedure to - enable or disable checking of potentially static expressions. - * sem_eval.adb (Checking_For_Potentially_Static_Expression): New - global flag for determining whether preanalysis of potentially - static expression is being done, which affects the behavior of - certain static evaluation routines. - (Checking_Potentially_Static_Expression): New function to return - whether the checking for potentially static expressions is - enabled. - (Eval_Call): When evaluating a call within a static expression - function with checking of potentially static expression - functions enabled, substitutes a static value in place of the - call to allow folding of the expression. - (Eval_Entity_Name): When evaluating a formal parameter of a - static expression function with checking of potentially static - expression functions enabled, substitutes a static value in - place of the reference to the formal to allow folding of the - expression. - (Set_Checking_Potentially_Static_Expression): New procedure to - enable or disable checking of potentially static expressions. - * sem_res.adb (Resolve_Call): Test for a recursive call - occurring within a static expression function and issue an error - for such a call. Prevent the establishment of a transient scope - in the case this is a call to a (string-returning) static - expression function. When calling a static expression function, - if no error has been posted on the function, call - Inline_Static_Expression_Function_Call to convert the call into - its equivalent static value. - * sem_util.ads (Is_Static_Expression_Function): New function - returning whether the subprogram entity passed to it is a static - expression function. - (Is_Static_Expression_Function_Call): New function to determine - whether the call node passed to it is a static call to a static - expression function. - * sem_util.adb (Compile_Time_Constraint_Error): Suppress - compile-time Constraint_Error reporting when checking for a - potentially static expression. - (Is_Static_Expression_Function): New function returning whether - the subprogram entity passed to it is a static expression - function by testing for the presence of aspect Static. - (Has_All_Static_Actuals): New function in - Is_Static_Expression_Function_Call that traverses the actual - parameters of a function call and returns True only when all of - the actuals are given by static expressions. In the case of a - string-returning function, we call Resolve on each actual to - ensure that their Is_Static_Expression flag properly reflects - whether they're static, to allow suppressing creation of a - transient scope within Resolve_Call. A prominent ??? comment is - added to explain this rather unconventional call to Resolve. - (Is_Static_Expression_Function_Call): New function that - determines whether a node passed to it is a call to a static - expression function all of whose actual parameters are given by - static expressions. - -2020-06-17 Eric Botcazou - - * exp_ch4.adb (Optimize_Length_Comparison): New local variable to - record whether this may be a dynamic superflat case. - (Is_Optimizable): Accept 0 as lower bound and set it in this case, - but return false if the operand is not a length too. - (Rewrite_For_Equal_Lengths): New procedure. - Optimize the comparison of two lengths in the superflat case when - the arrays have the same bounds. - -2020-06-17 Eric Botcazou - - * doc/gnat_rm/implementation_defined_attributes.rst (Bit): Sharpen - the comparison with System.Storage_Unit. - (Descriptor_Size): Clear confusion about alignment and padding. - * gnat_rm.texi: Regenerate. - -2020-06-17 Eric Botcazou - - * exp_attr.adb (Expand_N_Attribute_Reference) : - Do not replace the bound for an array type if it is public. - -2020-06-17 Eric Botcazou - - * exp_ch4.adb (Optimize_Length_Comparison): Make sure the base - types are the same when comparing Y'Last and X'Last directly. - -2020-06-17 Eric Botcazou - - * exp_attr.adb (Expand_N_Attribute_Reference) : - Replace it with a direct reference to an entity which is not a - discriminant for constrained array types. Add same condition - for scalar types. - : Merge with above implementation. - * exp_ch4.adb (Optimize_Length_Comparison): Be prepared for a - second entity whose length is compared. Rename Prepare_64 to - Convert_To_Long_Long_Integer. If the second entity is present, - compute the difference of the 'First attributes and compare the - sum of 'Last of the second entity with this difference against - 'Last of the first entity. Add a special case when the 'First - attributes are equal. Suppress overflow checks in all cases. - -2020-06-17 Piotr Trojanek - - * doc/gnat_rm/implementation_defined_pragmas.rst, lib-writ.ads, - par-prag.adb, sem_ch12.adb, sem_ch8.adb, sem_prag.adb: Fix - casing of GNATprove. - * gnat_rm.texi: Regenerate. - -2020-06-17 Piotr Trojanek - - * checks.adb (Generate_Range_Check): Simplify redundant - condition. - * sem_ch3.adb (Check_Initialization, Process_Discriminants): - Likewise. - * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Likewise. - -2020-06-17 Eric Botcazou - - * exp_fixd.adb (Build_Conversion): Also preserve the - Conversion_OK flag of an inner conversion. - -2020-06-17 Piotr Trojanek - - * sem_ch5.adb (Analyze_Iterator_Specification): Enable expansion - that creates a renaming that removes side effects from the - iterated object in the GNATprove mode; then analyze reference to - this renaming (it is required for GNATprove and harmless for - GNAT). - -2020-06-16 Eric Botcazou - - * sinfo.ads (Conversion_OK): Document use for 'Pos and 'Val. - * exp_attr.adb (Get_Integer_Type): New function returning a - small integer type appropriate for an enumeration type. - (Expand_N_Attribute_Reference) : Call it. - : For an enumeration type with a standard - representation, expand to a conversion with Conversion_OK. - : Likewise. - * exp_ch4.adb (Expand_N_Type_Conversion): Do not expand when - the target is an enumeration type and Conversion_OK is set. - -2020-06-16 Eric Botcazou - - * sem_ch4.adb (Common_Type): Go to Underlying_Full_View, if any. - -2020-06-16 Richard Kenner - - * exp_unst.adb (Subp_Index): Change way we detect internal - protected subprograms. - -2020-06-16 Richard Kenner - - * comperr.adb (Compiler_Abort): Clarify message displayed to - customers. - -2020-06-16 Piotr Trojanek - - * checks.adb, doc/gnat_ugn/the_gnat_compilation_model.rst, - einfo.ads, exp_ch5.adb, exp_ch7.adb, lib-xref.ads, - libgnat/g-spitbo.ads, make.adb, sem_aux.adb, sem_ch3.adb, - sem_ch4.adb, sem_ch5.adb, urealp.adb: Fix wrong casing. - * gnat_ugn.texi: Regenerate. - -2020-06-16 Piotr Trojanek - - * einfo.adb, exp_spark.adb, exp_util.adb, sem_eval.adb: Replace - "Ekind ... in Object_Kind" with "Is_Object (...)". - -2020-06-16 Piotr Trojanek - - * sem_warn.adb (Warn_On_Overlapping_Actuals): Fix typo in - comment. - -2020-06-16 Piotr Trojanek - - * exp_util.adb (Evaluate_Name): Force evaluation of aggregates; - recursively evaluate expression of a qualified expression; fix - location of the comment for an attribute referenced and an - indexed component. - -2020-06-16 Eric Botcazou - - * freeze.adb (Freeze_Expression): Use consistent style and - formatting in a couple of cases. - -2020-06-16 Steve Baird - - * libgnat/a-nbnbin.ads, libgnat/a-nbnbre.ads: Uncomment the - commented-out Integer_Literal aspect specification for type - Big_Integer. - -2020-06-16 Javier Miranda - - * exp_ch6.adb (BIP_Suffix_Kind, Check_BIP_Actuals, - Is_Build_In_Place_Entity): New subprograms. - (Make_Build_In_Place_Call_In_Allocator, - Make_Build_In_Place_Call_In_Anonymous_Context, - Make_Build_In_Place_Call_In_Assignment, - Make_Build_In_Place_Call_In_Object_Declaration): Add assertions. - (Needs_BIP_Task_Actuals): Add missing support for thunks. - (Expand_Actuals): Ensure that the BIP call has available an - activation chain and the _master variable. - * exp_ch9.adb (Find_Enclosing_Context): Initialize the list of - declarations of empty blocks when the _master variable must be - declared and the list was not available. - -2020-06-16 Bob Duff - - * par-ch4.adb (P_Case_Expression): Move to be local. - (P_Declare_Expression): New parsing routine. - (P_Unparen_Cond_Expr_Etc): New name for - P_Unparen_Cond_Case_Quant_Expression which was missing one case - in its name (iterated component association), and we're adding a - new case (declare expression), so lets use "Etc" instead of - trying to pack all those things into the name. Add call to - P_Declare_Expression, and check for missing parens. - (P_Expression_If_OK, P_Expression_Or_Range_Attribute_If_OK): Add - Tok_Declare. - * par.adb (P_Basic_Declarative_Items): Add parameter - Declare_Expression so we can tailor the error message about - incorrect bodies. - (P_Case_Expression): Move to body. - * par-ch3.adb (P_Basic_Declarative_Items): Tailor the error - message about incorrect bodies. - * par-ch7.adb (P_Package): Pass Declare_Expression => False to - P_Basic_Declarative_Items. - * sem.ads (In_Declare_Expr): Counter used to determine whether - we are analyzing a declare_expression. Needed to give errors - about things that are not allowed in declare_expression, such as - the 'Access attribute. - * sem.adb (Do_Analyze): Save/restore In_Declare_Expr. - * sem_ch4.adb (Analyze_Expression_With_Actions): Give this node - its own scope. That seems better in general, but it is - necessary for declare_expressions. For example, an identifier - declared in a declare_expression should not clash with the same - identifier in an outer scope. If this is a declare_expression, - indicated by Comes_From_Source, then check legality rules, and - incr/decr In_Declare_Expr. - * sem_aggr.adb (Resolve_Aggregate): Allow an applicable index - constraint for a declare_expression, so if its expression is an - array aggregate, it can have "others => ...". - * sem_attr.adb (Analyze_Access_Attribute): Disallow these - attributes in declare_expressions. Add comment to make it clear - that Unrestricted_Access is included. - * sinfo.ads, sinfo.adb, atree.ads, atree.adb: Remove the - now-incorrect comment in sinfo.ads that says - N_Expression_With_Actions has no proper scope. Add 17-parameter - versions of Nkind_In. Remove the 16-parameter versions of - Nkind_In. - -2020-06-16 Arnaud Charlet - - * sem_aux.ads, sem_aux.adb (Is_Record_Or_Limited_Type): New - function. - * exp_ch4.adb, sem_ch4.adb (Analyze_Membership_Op, - Expand_Set_Membership.Make_Cond): Choose between primitive and - predefined equality for membership tests. - -2020-06-16 Ed Schonberg - - * sem_warn.adb (Warn_On_Overlapping_Actuals): Simplify code and - implement AI12-0216 which clarifies the conditions under which - overlapping actuals in a call are illegal. If proper warnings - are enabled, GNAT also emits warnings in legal cases of - overlopping actuals. - -2020-06-16 Eric Botcazou - - * freeze.adb (Freeze_Expression): Stop climbing the parent chain - at a N_{Case,If}_Expression node for a type or an entity that - does not come from source. - -2020-06-16 Steve Baird - - * snames.ads-tmpl: Define names of the three new aspects. - * aspects.ads: Define the three new aspects. - * sem_util.ads, sem_util.adb, sem_dim.adb: Move the function - String_From_Numeric_Literal from being declared in the body of - package Sem_Dim to being declared in the visible part of package - Sem_Util. - * sem_ch13.ads, sem_ch13.adb: Declare new visible procedure - Validate_Literal_Aspect. This is where most of the legality - checking occurs for an aspect specification for one of the three - new aspects, as well as resolution of the subprogram named in - the aspect specification. Follow example of other aspects (e.g., - Validate_Literal_Aspect is called in much the same way as - Validate_Iterable_Aspect in Analyze_Aspects_At_Freeze_Point; a - small amount of legality checking is performed in - Analyze_One_Aspect in much the same way as for Default_Value or - Default_Component_Value aspects). Most of the work is done in - Validate_Literal_Aspect. - * contracts.adb (Add_Contract_Item): Call - Validate_Literal_Aspect in much the same way that - Validate_Iterable_Aspect was already being called. - * sem_res.adb (Resolve): Rewrite a literal as a call if it is a - user-defined literal. This is where the dynamic semantics of - the 3 new aspects are implemented. - * sem_ch6.adb (Fully_Conformant_Expressions): Two numeric - literals that have different text but the same value (e.g., - 12345 and 12_345) do not conform if they are user-defined - literals. Introduce a new function - User_Defined_Numeric_Literal_Mismatch to avoid duplication in - making this check. - * sem_type.adb (Has_Compatible_Type): A numeric literal can be - compatible with a non-numeric type (and a string literal can be - compatible with a non-string type) if it can be interpreted as a - user-defined literal. - -2020-06-16 Arnaud Charlet - - * sem_aggr.adb (Resolve_Extension_Aggregate): Fix implementation - of AI05-0115 by checking the correct type. - -2020-06-16 Arnaud Charlet - - * sem_ch6.adb (Analyze_Subprogram_Specification): Generate error - message for functions returning interfaces. - -2020-06-16 Piotr Trojanek - - * sem_ch13.adb (Membership_Entry): Relax assertion to also - recognize qualified identifiers. - -2020-06-16 Piotr Trojanek - - * exp_util.adb (Evaluate_Name): Force evaluation of operators. - -2020-06-16 Arnaud Charlet - - * sem_ch4.adb (Analyze_Membership_Op): Reset entity of equality - nodes for membership tests with singletons. - (Analyze_User_Defined_Binary_Op): Always perform the analysis - since nodes coming from the expander also may refer to non - standard operators as part of membership expansion. - * exp_ch4.adb (Expand_Set_Membership.Make_Cond): Reset entity of - equality node. - * sem_type.ads: Fix typo in comment. - -2020-06-16 Ghjuvan Lacambre - - * sem_attr.adb (Analyze_Attribute): Add - Check_Not_Incomplete_Type call. - -2020-06-16 Gary Dismukes - - * sem_ch6.adb: Add closing paren in a comment. - * sem_util.adb: Correct comment typo (aggreate => aggregate). - -2020-06-16 Javier Miranda - - * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings): - Code cleanup. - -2020-06-16 Eric Botcazou - - * freeze.adb (In_Expanded_Body): Remove unreachable code. - (Freeze_Expression): Rename a couple of local variables. - In the case of an expanded body, also freeze locally the - entities declared in a nested block. - -2020-06-16 Eric Botcazou - - * sem_ch4.adb (Transform_Object_Operation): Document that it - may be partially destructive for the parent of the node. - (Try_Object_Operation): Undo the changes made above on failure. - -2020-06-16 Javier Miranda - - * restrict.adb (Global_No_Tasking): Adding - Targparm.Restrictions_On_Target Fixes regressions with zfp. - -2020-06-16 Ed Schonberg - - * freeze.adb: (Freeze_Expression, In_Expanded_Body): Treat the - generated body of an expression function like other bodies - generated during expansion (e.g. stream subprograms) so that - those bodies are not treated as freezing points. Handle properly - other global references in such completions. - -2020-06-16 Piotr Trojanek - - * sem_ch8.adb (Analyze_Object_Renaming): Remove trivially - useless initialization of Is_Object_Reference. - * sem_util.adb (Is_Object_Reference): Simplify detection of - binary and unary operators; literally implement rules about - aggregates and qualified expressions; recognize string literals - as object references. - -2020-06-16 Eric Botcazou - - * sem_ch12.adb (Validate_Derived_Type_Instance): Reword error - message for 12.5.1(8) subclause and add secondary message if - the incompatibility comes from the predicates. - * sem_ch3.adb (Check_Constraining_Discriminant): New procedure - to give the error required by the 3.7(15) subclause. Mention - "statically" in the error message and add secondary message - if the incompatibility comes from the predicates. - (Build_Derived_Concurrent_Type): Call it when a new discriminant - constrains an old one. - (Build_Derived_Record_Type): Likewise. - * sem_eval.ads (Predicates_Compatible): Declare. - * sem_eval.adb (Predicates_Compatible): New function to implement - the compatibility of predicates specified by the 4.9.1 clause. - (Subtypes_Statically_Compatible): Call it. - -2020-06-15 Eric Botcazou - - * sem_eval.ads (Predicates_Match): Fix description. - * sem_eval.adb (Predicates_Match): Rewrite. - -2020-06-15 Ed Falis - - * Makefile.rtl: Change name of hie/g-io__vxworks-ppc-cert.adb. - -2020-06-15 Arnaud Charlet - - * sem_ch8.adb (Premature_Usage): Add support for subtype - references and replace set of if-then-else by a case statement. - -2020-06-15 Piotr Trojanek - - * sem_prag.adb (Analyze_Depends_In_Decl_Part, - Analyze_Global_In_Decl_Part): Bring back task discriminants for - analysis of the Global/Depends contracts; add comments. - -2020-06-15 Eric Botcazou - - * einfo.ads (Return_Applies_To): Document special usage for E_Block. - * einfo.adb (Write_Field8_Name): Write it for E_Block too. - * exp_ch4.adb (Expand_N_Type_Conversion): Remove implementation of - the check prescribed by AI05-0073. - * exp_ch6.adb (Apply_CW_Accessibility_Check): New procedure to apply - the check prescribed by AI95-344 extracted from... - (Expand_N_Extended_Return_Statement): Apply the check prescribed by - AI95-344 to the expression, if present. Suppress only access checks - when analyzing the rewritten result. - (Expand_Simple_Function_Return): ...here. Rename local variable. - Call Apply_CW_Accessibility_Check to apply the check prescribed by - AI95-344, but do not do it for the simple return statement generated - by the expansion of an extended return statement. Apply the check - prescribed by AI05-0073 to all functions returning anonymous access - type designating a specific tagged type, but not if the expression - was null or tag checks are suppressed for the type, and use Not In - operator rather than comparing the tags explicitly. - * sem.adb (Analyze): Handle all Suppress values. - * sem_ch6.adb (Analyze_Function_Return): Do not explicitly apply - predicate checks in the case of an extended return statement. - Do not apply an implicit conversion to the anonymous access result - type in the case of the simple return statement generated by the - expansion of an extended return statement. - (New_Overloaded_Entity): Small comment tweak. - * treepr.adb (Print_Node): Fix typo in flag string. - -2020-06-15 Bob Duff - - * exp_put_image.ads, exp_put_image.adb - (Image_Should_Call_Put_Image): New function to determine whether - the call to Put_Image should be generated. - (Build_Image_Call): New procedure to generate the call to - Put_Image. - * exp_imgv.adb (Expand_Image_Attribute): Use underlying types to - bypass privacy (only in Ada 2020). If - Image_Should_Call_Put_Image is True (which happens only in Ada - 2020), then call Build_Image_Call. - * rtsfind.ads, rtsfind.adb: Add the necessary declarations in - Ada.Strings.Text_Output.Buffers. - * sem_attr.adb (Check_Image_Type): Enable the Ada 2020 case. - * libgnat/a-stoufo.ads, libgnat/a-stoufo.adb: Use the less - restrictive type that allows newline characters. - -2020-06-15 Gary Dismukes - - * exp_ch9.ads (Build_Master_Declaration): Add commas. - * exp_ch9.adb (Build_Master_Entity): Spelling fix ("build" => - "built"). - (Build_Task_Activation_Call): Fix word order. - -2020-06-15 Arnaud Charlet - - * libgnat/a-nbnbin.ads (Big_Positive, Big_Natural): Fix - predicate. - -2020-06-15 Piotr Trojanek - - * sem_ch13.adb (Analyze_Aspect_Relaxed_Initialization): Fix - dealing with scopes on subprogram bodies that act as specs. - * sem_util.adb (Has_Relaxed_Initialization): Fix trivial - mistake. - -2020-06-15 Javier Miranda - - * restrict.ads (Set_Global_No_Tasking, Global_No_Tasking): New - subprograms. - * restrict.adb (Set_Global_No_Tasking, Global_No_Tasking): New - subprograms. - * sem_ch3.adb (Access_Definition): Do not skip building masters - since they may be required for BIP calls. - (Analyze_Subtype_Declaration): Propagate attribute - Is_Limited_Record in class-wide subtypes and subtypes with - cloned subtype attribute; propagate attribute - Is_Limited_Interface. - * sem_ch6.adb (Check_Anonymous_Return): Do not skip building - masters since they may be required for BIP calls. Use - Build_Master_Declaration to declare the _master variable. - (Create_Extra_Formals): Add decoration of Has_Master_Entity when - the _master formal is added. - * exp_ch3.adb (Init_Formals): Adding formal to decorate it with - attribute Has_Master_Entity when the _master formal is added. - (Build_Master): Do not skip building masters since they may be - required for BIP calls. - (Expand_N_Object_Declaration): Ensure activation chain and - master entity for objects initialized with BIP function calls. - * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings): - Adding support to detect and save restriction No_Tasking when - set in the run-time package System or in a global configuration - pragmas file. - * sem_util.adb (Current_Entity_In_Scope): Overload this - subprogram to allow searching for an entity by its Name. - * sem_util.ads (Current_Entity_In_Scope): Update comment. - * exp_ch4.adb (Expand_N_Allocator): Do not skip building masters - since they may be required for BIP calls. - * exp_ch6.ads (Might_Have_Tasks): New subprogram. - * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Add - support for BIP calls returning objects that may have tasks. - (Make_Build_In_Place_Call_In_Allocator): Build the activation - chain if the result might have tasks. - (Make_Build_In_Place_Iface_Call_In_Allocator): Build the class - wide master for the result type. - (Might_Have_Tasks): New subprogram. - (Needs_BIP_Task_Actuals): Returns False when restriction - No_Tasking is globally set. - * exp_ch9.ads (Build_Master_Declaration): New subprogram. - * exp_ch9.adb (Build_Activation_Chain_Entity): No action - performed when restriction No_Tasking is globally set. - (Build_Class_Wide_Master): No action performed when restriction - No_Tasking is globally set; use Build_Master_Declaration to - declare the _master variable. - (Build_Master_Declaration): New subprogram. - (Build_Master_Entity): No action performed when restriction - No_Tasking is globally set; added support to handle transient - scopes and _finalizer routines. - (Build_Master_Renaming): No action performed when restriction - No_Tasking is globally set. - (Build_Task_Activation_Call): Skip generating the call when - the chain is an ignored ghost entity. - (Find_Master_Scope): Generalize the code that detects transient - scopes with master entity. - * einfo.ads (Has_Nested_Subprogram): Minor comment reformatting. - -2020-06-15 Arnaud Charlet - - * sem_attr.adb (Eval_Attribute): Protect against previous - errors. - * sem_ch13.adb (Analyze_Aspect_Default_Value): Remove redundant - error checking, handling in Analyze_Aspect_Specifications. - (Analyze_Aspect_Specifications): Refine error messages on - Default_[Component_]Value. - (Check_Aspect_Too_Late): New procedure. - (Rep_Item_Too_Late.Is_Derived_Type_With_Constraint): Remove, - dead code. - * aspects.ads (Is_Representation_Aspect): Default_Value is a - representation aspect. - -2020-06-15 Arnaud Charlet - - * libgnat/a-wichha.ads, libgnat/a-wichha.adb, - libgnat/a-wichun.ads, libgnat/a-wichun.adb (Is_Basic, To_Basic): - New. - * libgnat/s-utf_32.ads, libgnat/s-utf_32.adb (Is_UTF_32_Basic, - To_UTF_32_Basic, Decomposition_Search): New subprograms. - (Unicode_Decomposition): New table. - -2020-06-15 Gary Dismukes - - * exp_ch6.adb (Add_Call_By_Copy_Code): In the case of a view - conversion passed to a scalar out-mode parameter where the - formal has Default_Value set, declare the copy temp with the - base type of the formal's subtype and initialize the copy temp - with the actual's value. - -2020-06-15 Justin Squirek - - * exp_ch4.adb (Expand_N_Case_Expression): Set default value for - Target to silence potential warnings. - (Expand_N_If_Expression): Add calculation to check when the if - expression is used directly in the context of an actual of an - anonymous access type and add a special path to force expansion - of the if expression in this case. - * exp_ch6.adb (Expand_Branch): Generate an assignment to the - level temporary for a given branch. - (Expand_Call_Helper): Add expansion to allow for creating a - temporary to store associated accessiblity levels on each branch - of the conditional expression. Also perform expansion of - function calls into expressions with actions, and fixup - references to N with Call_Node. - (Insert_Level_Assign): Move through nested conditional - expressions to each branch. - * sem_util.ads, sem_util.adb (Is_Anonymous_Access_Actual): Added - to detect when to force expansion of if expressions. - -2020-06-15 Piotr Trojanek - - * sem_prag.adb (Analyze_Depends_In_Decl_Part, - Analyze_Global_In_Decl_Part): Do not install task discriminants - for analysis of the Global/Depends contracts. - -2020-06-15 Piotr Trojanek - - * contracts.adb (Analyze_Object_Contract): Do not expect - Global/Depends on single protected units. - -2020-06-15 Justin Squirek - - * sem_res.adb (Valid_Conversion): Add missing condition to - trigger proper static accessiblity failiures when the target - type is an anonymous access. - -2020-06-15 Piotr Trojanek - - * exp_ch6.adb (Expand_Call_Helper): Replace repeated Ekind with - Ekind_In. - -2020-06-15 Piotr Trojanek - - * exp_ch6.adb, sem_util.adb: Remove excessive parents, - especially since they don't make the code any easier to read. - -2020-06-15 Piotr Trojanek - - * aspects.ads (Aspect_Id): Add Aspect_Relaxed_Initialization. - (Implementation_Defined_Aspect): Add new aspect. - (Aspect_Argument): Add new aspect with Optional_Expression - argument. - (Is_Representation_Aspect): Add new aspect as a - non-representation one. - (Aspect_Names): Add name for the new aspect. - (Aspect_Delay): Add new aspect as a non-delayed one. - * sem_ch3.adb: Minor reformatting. - * einfo.ads, einfo.adb (Is_Relaxed_Initialization_State): New - query; reuses existing code for querying abstract state options. - * exp_attr.adb (Expand_N_Attribute_Reference): For now ignore - attribute 'Initialized. - * sem_attr.adb (Analyze_Attribute_Old_Result): Allow attribute - 'Result to be used in the aspect Relaxed_Initialization - expression. - (Analyze_Attribute): Analyze attribute 'Initialized; based on - existing code for attribute 'Valid_Scalars. - (Eval_Attribute): Do not expect attribute 'Initialized, just - like attribute 'Valid_Scalars is not expected. - * sem_ch13.adb (Analyze_Aspect_Relaxed_Initialization): New - routine. - (Analyze_Aspect_Specifications): Analyze new aspect in a - dedicated routine. - (Check_Aspect_At_Freeze_Point): Do not expect new aspect. - * sem_prag.adb (Analyze_Abstract_State): Support option - Relaxed_Initialization on abstract states. - * sem_util.ads, sem_util.adb (Has_Relaxed_Initialization): New - query for the GNATprove backend. - * snames.ads-tmpl (Snames): Add Name_Ids for the new aspect and - attribute; add an Attribute_Id for the new attribute. - -2020-06-15 Bob Duff - - * exp_put_image.adb, libgnat/s-putima.adb, libgnat/s-putima.ads, - rtsfind.ads: Enable Put_Image if Is_Access_Subprogram_Type (Typ). - Remove comment saying it's disabled in that case. Rename - Put_Image_Access_Prot to be Put_Image_Access_Prot_Subp to - clarify that we're talking about access-to-subprogram, not - access-to-protected-object. - -2020-06-15 Bob Duff - - * sem_attr.adb (Check_Image_Type): New procedure for checking - the type, depending on language version. Disable the Ada 2020 - support until the corresponding expander work is done. - (Analyze_Image_Attribute): Call Check_Image_Type. Rearrange the - code to be simplier and more logical. When P_Type is modified, - modify P_Base_Type accordingly. - * sem_util.adb (Is_Object_Image): Do not return False if the - prefix is a type. X'Image should be considered an image of an - object iff X is an object (albeit illegal pre-2020 if - nonscalar). - -2020-06-15 Bob Duff - - * libgnat/s-putima.ads, libgnat/s-putima.adb - (Put_Image_Access_Subp, Put_Image_Access_Prot): New procedures - for printing access-to-subprogram objects. Remove an explicit - " ", because Put_Image includes the annoying leading blank. - * rtsfind.ads: Add new procedures in s-putima. - * exp_put_image.adb: Call new procedures as appropriate. - -2020-06-15 Bob Duff - - * exp_imgv.adb (Expand_Image_Attribute): Allow private types. - Put_Image generates Image for numeric types, and private types - whose full type is numeric. This requires the Conversion_OK flag - for integer and floating-point types. For fixed point, we need - the extra conversion. - * exp_put_image.adb (Build_Elementary_Put_Image_Call): Remove - special handling of real types. - (Enable_Put_Image): Enable for reals. - -2020-06-15 Bob Duff - - * exp_attr.adb (Put_Image): Use underlying type for strings. - Remove unchecked union processing. - * exp_put_image.adb (Tagged_Put_Image_Enabled): Use -gnatd_z to - enable default Put_Image for tagged types. This allows testing - that feature. - (Build_String_Put_Image_Call): Set Conversion_OK flag. - (Make_Component_List_Attributes): Remove unchecked union - processing. - (Enable_Put_Image): Disable for unchecked unions. Enable for - nonscalar types (which were mistakenly disabled in earlier - changes). - * debug.adb: Document -gnatd_z switch. - * libgnat/s-putima.adb (Put_Image_String, Put_Image_Wide_String, - Put_Image_Wide_Wide_String): Double double-quote characters. - Forget about special handling of control characters for now -- - that's rare enough to not be a priority, and it's not clear what - the right thing to do is anyway. - * namet.adb: Minor: Improve debugger-friendliness. - * sinfo.ads: Minor: Add "???" comment. - -2020-06-15 Piotr Trojanek - - * sem_util.ads, sem_util.adb (Is_Renaming_Declaration): Remove. - -2020-06-15 Ed Schonberg - - * freeze.adb (Freeze_Expression): When traversing the tree - looking for the proper insertion point for the freeze node of an - entity that is declared in an outer scope, set the candidate - subprogram body node properly. Previous code has an off-by-one - error. - -2020-06-15 Eric Botcazou - - * exp_attr.adb (Expand_N_Attribute_Reference) : - Do not do superfluous work. Add the condition (X'Size /= 0) on - both paths and turn binary AND into short-circuit AND THEN. - -2020-06-15 Steve Baird - - * sem_attr.adb (Analyze_Attribute): In the Loop_Entry case, - replace a call to Statically_Denotes_Object with a call to - Statically_Names_Object and clean up the preceding comment. - -2020-06-15 Eric Botcazou - - * sem_res.adb (Resolve_Set_Membership): Remove local variable. - In the non-overloaded case, call Intersect_Types on the left - operand and the first alternative to get the resolution type. - But test the subtype of the left operand to give the warning. - -2020-06-12 Steve Baird - - * sem_res.adb (Valid_Conversion): The simpler cases of - violations of the aforementioned 8.6 rule are already handled - correctly. These include cases where the operand of the type - conversion is an access parameter or a stand-alone object of an - anonymous access type. Add code to detect violations where the - operand of the type conversion is an access discriminant whose - accessibility level is tied to one of the other simpler cases. - This is implemented in a new function, - Valid_Conversion.Is_Discrim_Of_Bad_Access_Conversion_Argument, - which is called in place of the previous test. - -2020-06-12 Bob Duff - - * exp_attr.adb (Put_Image): Remove assertion. This assertion is - False in mixed-Ada-version programs. - * exp_put_image.adb (Tagged_Put_Image_Enabled): New flag to make - it easy to experiment with Put_Image on tagged types. False in - this version. - (Enable_Put_Image): Enable in pre-2020. Workarounds: Disable - for tagged types if Tagged_Put_Image_Enabled is False. Disable - for access-to-subprogram types. Disable if errors have been - detected, or Sink is unavailable. - (Preload_Sink): Move all conditionals here, from Sem_Ch10, so - they can be nearby related code in Enable_Put_Image. Load Sink - only if we have seen a tagged type. This removes the dilemma - about calling Preload_Sink when compiling the compiler, which - caused unwanted dependences. - * exp_put_image.ads (Preload_Sink): New formal Compilation_Unit, - needed to move all conditionals here, from Sem_Ch10. - * libgnat/a-stouut.adb (Put_UTF_8): Make this suitable for - inlining, so we don't get warnings about inlining in some tests. - And so it can be inlined! - * opt.ads (Tagged_Seen): New flag (see Preload_Sink). - * scng.adb (Scan): Set new Tagged_Seen flag. - * sem_ch10.adb (Analyze_Compilation_Unit): Move conditionals and - comments regarding Preload_Sink into Preload_Sink. - -2020-06-12 Arnaud Charlet - - * sem_res.adb (Resolve_Actuals): Check for AI12-0074. - -2020-06-12 Olivier Hainque - - * libgnat/s-secsta.ads (Memory_Alignment): New constant, memory - alignment for chunks and allocated blocks. Initialize to - Standard'Maximum_Alignment * 2. - (Chunk_Memory): Use it. - * libgnat/s-secsta.adb (Round_Up): Likewise. - -2020-06-12 Piotr Trojanek - - * par-prag.adb: Fix ordering. - * snames.ads-tmpl (Name_Test_Case, Pragma_Test_Case): Likewise. - * sem_prag.adb (Sig_Flags): Likewise. - -2020-06-12 Arnaud Charlet - - * sem_res.adb (Resolve_Entity_Name): Fix handling of expressions - containing array attributes wrt Ada 83 detection. - -2020-06-12 Steve Baird - - * sem_util.ads, sem_util.adb: Define 3 new Boolean-valued - functions - Statically_Denotes_Entity, - Statically_Denotes_Object, and Statically_Names_Object. The - first two were taken from sem_attr.adb. The term "statically - names" is defined in the Ada RM and the new function - Statically_Names_Object is intended to reflect that definition, - or more precisely, as described in a comment in the code, to - reflect the expected future definition of that term. - * sem_attr.adb: Delete functions Statically_Denotes_Object and - Statically_Denotes_Entity; these two functions have been moved - to package Sem_Util. Replace call to Statically_Denotes_Object - with a call to Statically_Names_Object as per AI12-0217 (a - binding interpretation, so no Ada_Version check). - * exp_ch9.adb (Expand_Entry_Barrier.Is_Simple_Barrier): Change - name of function (it was previously Is_Simple_Barrier_Name) - because the function should return True in the case of a static - expression; implement this requirement. Change function to - include a call to Statically_Names_Object so that, for Ada_2020 - and later, it will return True for appropriate subcomponent - names. - (Expand_Entry_Barrier.Is_Pure_Barrier): Handle - N_Indexed_Component and N_Selected_Component cases by calling - Statically_Names_Object. - (Expand_Entry_Barrier): Reorganize to treat Simple_Barriers and - Pure_Barriers more uniformly. Prevent cascaded errors. - -2020-06-12 Ed Schonberg - - * sem_ch12.adb (Find_Matching_Actual): Add guard on search loops - to detect a compilation error when using a compiler built - without assertions. - (Instantiate_Formal_Subprogram): Create a new subprogram name - for the actual only if formal has contract aspects and expansion - is enabled. - -2020-06-12 Eric Botcazou - - * exp_aggr.adb: Add with and use clauses for Sem_Mech. - (Get_Base_Object): New function to get the base object of a node. - (In_Place_Assign_OK): Add Target_Object parameter. Deal with a - qualified expression on entry. Remove short-circuit for array - aggregates with a single "others" choice. Do not look into the - components of the aggregate if the parent is an allocator. - (Check_Component): Add T_OK parameter and rewrite. - (Safe_Component): Invoke Check_Component with T_OK set to False. - (Convert_To_Assignments): Try to use an in-place assignment for - any target; for that, call Get_Base_Object on the target and pass - the result to In_Place_Assign_OK. - (Expand_Array_Aggregate): Use Parent_Kind and Parent_Node more - consistently. For an assignment, call Get_Base_Object on the - target and pass the result to In_Place_Assign_OK. - -2020-06-12 Dmitriy Anisimkov - - * socket.c (__gnat_minus_500ms): Use GetVersionEx to detect - Windows Server version. - * libgnat/g-sothco.ads (Minus_500ms_Windows_Timeout): Remade to - Boolean constant. - * libgnat/g-socket.adb (Set_Socket_Option): Use - Minus_500ms_Windows_Timeout constant instead of function call. - -2020-06-12 Arnaud Charlet - - * libgnat/a-coinho.ads, libgnat/a-coinho.adb, - libgnat/a-coinho__shared.ads, libgnat/a-coinho__shared.adb - (Swap): New procedure. - -2020-06-12 Arnaud Charlet - - * exp_ch6.adb (Expand_N_Subprogram_Declaration): Do nothing for - a subprogram declared in a protected body. - * exp_ch9.ads, exp_ch9.adb - (Build_Private_Protected_Declaration): Moved to sem_ch6.adb. - (Expand_N_Protected_Body): Do nothing for a subprogram declared - in a protected body. - * sem_ch6.adb (Build_Internal_Protected_Declaration): Moved from - exp_ch9.adb and renamed and fixed to ensure in particular that - such subprograms have convention Intrinsic and have no protected - version. - (Analyze_Subprogram_Body_Helper): Call - Build_Internal_Protected_Declaration. - (Move_Pragmas): Moved up and merged with the more general - version from Build_Private_Protected_Declaration. We only want - to copy selected pragmas, most pragmas are not suitable for a - copy on the spec. - -2020-06-12 Ed Schonberg - - * sem_ch6.adb (Check_Overriding_Indicatior): Reject an - overriding indicator on a subprogram declared within a protected - body. - -2020-06-12 Piotr Trojanek - - * contracts.adb, einfo.adb, sem_ch4.adb, sem_ch6.adb, - sem_res.adb, sem_util.adb: Replace Ekind_In with Is_Entry. - -2020-06-12 Piotr Trojanek - - * sem_res.adb (Resolve_Entry_Call): Add call to - Warn_On_Overlapping_Actuals. - -2020-06-12 Arnaud Charlet - - * aspects.ads (Is_Representation_Aspect): New array. - * sem_ch13.adb (Analyze_Aspect_Specifications): Check - 13.1(9.2/5) for representation aspects. - -2020-06-12 Bob Duff - - * exp_put_image.ads, exp_put_image.adb (Preload_Sink): Procedure - for preloading type Sink. This has the side effect of loading - various dependents, including Ada.Strings.UTF_Encoding. - (Enable_Put_Image): Disable Put_Image in pre-2020 versions of - Ada. This limitation can probably be lifted later. Enable for - tagged types except in predefined units. Disable for CPP types; - Put_Image is legal, just prints the type name. - * sem_attr.adb (Check_Put_Image_Attribute): Don't complain about - Put_Image of CPP types; instead call the "unknown" version of - Put_Image. - * sem_ch10.adb (Analyze_Compilation_Unit): Call Preload_Sink. - -2020-06-12 Piotr Trojanek - - * sem_warn.adb (Warn_On_Overlapping_Actuals): Simplify. - -2020-06-12 Piotr Trojanek - - * sem_warn.adb (Warn_On_Overlapping_Actuals): Remove suppression - for internal units. - -2020-06-12 Arnaud Charlet - - * exp_strm.adb (Build_Elementary_Input_Call): Add support for 24 - bits elementary types. - * rtsfind.ads: Add 24 bits integer streaming routines. - * sem_ch13.adb (Analyze_Attribute_Definition_Clause - [Attribute_Stream_Size]): Add support for 24 bits elementary - types. - * libgnat/s-stratt.ads, libgnat/s-stratt.adb, - libgnat/s-stratt__xdr.adb: Add support for signed and unsigned - 24 bits integers. - -2020-06-12 Piotr Trojanek - - * sem_ch3.adb (Get_Discr_Value): Cleanup. - -2020-06-12 Eric Botcazou - - * rtsfind.ads (RTU_Id): Add System_Address_To_Access_Conversions. - * sem_elab.adb (Elaboration_Phase_Active): Alphabetize. - (Finalize_All_Data_Structures): Likewise. - (Error_Preelaborated_Call): New procedure. - (Build_Call_Marker): Set Is_Preelaborable_Call flag in marker. - (Build_Access_Marker): Likewise. - (Build_Subprogram_Invocation): Likewise. - (Build_Task_Activation): Likewise. - (Check_Preelaborated_Call): Return when the call is preelaborable. - Call Error_Preelaborated_Call to give the error otherwise. - (Check_Elab_Call): Likewise. - * sem_util.adb (Is_Preelaborable_Function): New predicate. - (Is_Non_Preelaborable_Construct.Visit): Recurse on the - Explicit_Actual_Parameter field of N_Parameter_Association. - (Is_Non_Preelaborable_Construct.Visit_Subexpression): In Ada 2020, - for a call to a preelaborable function, visit the parameter list; - otherwise, raise Non_Preelaborable exception. - (Is_Preelaborable_Construct): Likewise, but recursively check the - parameters instead and return false upon failure, otherwise true. - * sinfo.ads (Is_Preelaborable_Call): New flag in call marker nodes. - (Is_Preelaborable_Call): New inline function. - (Set_Is_Preelaborable_Call): New inline procedure. - * sinfo.adb (Is_Preelaborable_Call): New inline function. - (Set_Is_Preelaborable_Call): New inline procedure. - -2020-06-12 Bob Duff - - * stringt.ads: Remove "use System;". - -2020-06-12 Eric Botcazou - - * sem_ch4.adb (Try_Container_Indexing): Replace call to - First_Discriminant by Get_Reference_Discriminant to get the - reference discriminant. - * sem_ch13.adb (Check_Indexing_Functions): Likewise. - * sem_ch5.adb (Preanalyze_Range): Call Get_Reference_Discriminant - to get the reference discriminant. - * sem_util.adb (Is_OK_Variable_For_Out_Formal): Treat all - Ada 2012 implicit dereferences in only one place. - (Is_Variable): Minor tweak. - -2020-06-12 Ed Schonberg - - * sem_ch12.adb (Has_Contracts): New predicate to check whether a - formal subprogram carries an aspect specification for a pre- or - postcondition. - (Build_Subprogram_Wrappers): If actual is overloaded, create a - new name to be used in call inside wrapper body. This names - carries the interpretations of the actual, and is resolved when - the body is analyzed. - (Build_Subprogram_Body_Wrapper): Use this generated name in - call. - (Build_Subprogram_Decl_Wrapper): Build profile of wrapper from - the profile of formal, and reset type entities for subsequent - analysis. - -2020-06-12 Bob Duff - - * debug.adb: Remove usage of -gnatd_z. - * exp_attr.adb, exp_put_image.ads, exp_put_image.adb: Clean up - the enable/disable code. If Put_Image is disabled for a type, - systematically call the "unknown" version. Improve comments. - Consolidate workarounds. Remove usage of -gnatd_z. - -2020-06-12 Eric Botcazou - - * sem_elab.adb: Fix typos in comments. - -2020-06-12 Justin Squirek - - * sem_util.adb (Object_Access_Level): Add processing of implicit - dereferences. - -2020-06-12 Bob Duff - - * libgnat/a-nbnbin.adb, libgnat/a-nbnbin.ads, - libgnat/a-nbnbin__gmp.adb, libgnat/a-nbnbre.adb, - libgnat/a-nbnbre.ads: Update Put_Image, and uncomment the aspect - specification. Add pragmas Ada_2020. - * libgnat/a-stouut.ads, libgnat/a-stteou.ads: Add Preelaborate, - because the Big_Numbers packages have Preelaborate, and now - depend on these Text_Output packages. - -2020-06-12 Eric Botcazou - - * einfo.ads (No_Return): Document it for all subprograms. - * einfo.adb (Set_No_Return): Adjust assertion accordingly. - * sem_ch3.adb (Check_Abstract_Overriding): Implement the - check prescribed by RM 6.5.1(6/2) here instead of... - (Derive_Subprogram): Adjust comment accordingly. - * sem_disp.adb (Override_Dispatching_Operation): ...here. - Remove superfluous return statement. - * sem_ch6.adb (Check_No_Return_Expression): New procedure. - (Analyze_Function_Return): Call it to implement the check - prescribed by AI12-0269 for simple return statements of - No_Return functions, and also checks extended statements. - (Analyze_Return_Statement): Only give an error on a return - statement in No_Return procedures. Use idiomatic form. - * sem_ch8.adb (Analyze_Subprogram_Renaming): Adjust error - message for No_Return renaming subprogram. - * sem_prag.adb (Analyze_Pragma) : Accept - it on functions and generic functions in Ada 2020. - -2020-06-11 Eric Botcazou - - * sem_res.adb (Resolve_Implicit_Dereference): In an instance, - reset the type of the prefix if it is private before building - the dereference. - -2020-06-11 Eric Botcazou - - * exp_util.adb (Safe_Unchecked_Type_Conversion): Add missing - Is_Type guard before calling Has_Discriminants on Etype. - -2020-06-11 Bob Duff - - * libgnat/a-nbnbin__gmp.adb: There's no Optional_Big_Integer - anymore. Invalid_Big_Integer is not used. - Greatest_Common_Divisor returns Big_Positive. - -2020-06-11 Piotr Trojanek - - * sem_aggr.adb (Get_Value): Refine type of the Compon parameter. - -2020-06-11 Piotr Trojanek - - * sem_aggr.adb (Resolve_Record_Aggregate): Refine type of - Others_Box. - -2020-06-11 Piotr Trojanek - - * checks.adb, exp_ch7.adb, exp_ch9.adb, exp_smem.adb, lib.adb, - nlists.adb, sem.adb, sem_aggr.adb, sem_ch3.adb, sem_ch6.adb, - sem_ch8.adb, sem_dim.adb, sem_res.adb, sem_util.adb, - sem_warn.adb: Replace uses of Next function with procedure. - -2020-06-11 Eric Botcazou - - * exp_pakd.ads: Add paragraph about scalar storage order. - * exp_pakd.adb (Install_PAT): Do not set the scalar storage - order of the PAT here but... - (Set_PB_Type): ...here instead and... - (Create_Packed_Array_Impl_Type): ...here as well. - * rtsfind.ads (RE_Id): Add RE_Rev_Packed_Bytes{1,2,4}. - (RE_Unit_Table): Likewise. - * libgnat/s-unstyp.ads (Rev_Packed_Bytes1): New derived type. - (Rev_Packed_Bytes2): Likewise. - (Rev_Packed_Bytes4): Likewise. - -2020-06-11 Piotr Trojanek - - * sem_ch4.adb, sem_ch6.adb, sem_res.adb, sem_util.ads: Fix - references to SPARK RM 7.1.3 rule numbers. - -2020-06-11 Ed Schonberg - - * sem_warn.adb (Warn_On_Overlapping_Actuals): Simplify code, - remove inner predicate Is_Covered_Formal, preserve warning for - two overlapping composite types when only one is writable, and - for two overlapping and writable elementary types. - -2020-06-11 Steve Baird - - * contracts.adb (Add_Contract_Item): Support specifying - volatility refinement aspects for types. - (Analyze_Contracts): Add call to Analyze_Type_Contract in the - case of a contract for a type. - (Freeze_Contracts): Add call to Analyze_Type_Contract in the - case of a contract for a type. - (Check_Type_Or_Object_External_Properties): A new procedure - which performs the work that needs to be done for both object - declarations and types. - (Analyze_Object_Contract): Add a call to - Check_Type_Or_Object_External_Properties and remove the code in - this procedure which did much of the work that is now performed - by that call. - (Analyze_Type_Contract): Implement this new routine as nothing - more than a call to Check_Type_Or_Object_External_Properties. - * contracts.ads: Update comment for Add_Contract_To_Item because - types can have contracts. Follow (questionable) precedent and - declare new routine Analyze_Type_Contract as visible (following - example of Analyze_Object_Contract), despite the fact that it is - never called from outside of the package where it is declared. - * einfo.adb (Contract, Set_Contract): Id argument can be a type; - support this case. - (Write_Field34_Name): Field name is "contract" for a type. - * einfo.ads: Update comment describing Contract attribute. - * sem_ch3.adb (Build_Derived_Numeric_Type): Is_Volatile should - return same answer for all subtypes of a given type. Thus, when - building the base type for something like type Volatile_1_To_10 - is range 1 .. 10 with Volatile; that basetype should be marked - as being volatile. - (Access_Type_Declaration): Add SPARK-specific legality check - that the designated type of an access type shall be compatible - with respect to volatility with the access type. - * sem_ch12.adb (Check_Shared_Variable_Control_Aspects): Add - SPARK-specific legality check that an actual type parameter in - an instantiation shall be compatible with respect to volatility - with the corresponding formal type. - * sem_ch13.adb (Analyze_Aspect_Specifications): Perform checks - for aspect specs for the 4 volatility refinement aspects that - were already being performed for all language-defined aspects. - * sem_prag.adb (Analyze_External_Property_In_Decl_Part, - Analyze_Pragma): External properties (other than No_Caching) may - be specified for a type, including a generic formal type. - * sem_util.ads: Declare new subprograms - Async_Readers_Enabled, - Async_Writers_Enabled, Effective_Reads, Effective_Writes, and - Check_Volatility_Compatibility. - * sem_util.adb (Async_Readers_Enabled, Async_Writers_Enabled, - Effective_Reads, Effective_Writes): Initial implementation of - new functions for querying aspect values. - (Check_Volatility_Compatibility): New procedure intended for use - in checking all SPARK legality rules of the form "<> shall be - compatible with respect to volatility with <>". - (Has_Enabled_Property): Update comment because Item_Id can be a - type. Change name of nested Variable_Has_Enabled_Property - function to Type_Or_Variable_Has_Enabled_Property; add a - parameter to that function because recursion may be needed, - e.g., in the case of a derived typ). Cope with the case where - the argument to Has_Enabled_Property is a type. - -2020-06-11 Piotr Trojanek - - * sem_aggr.adb (Add_Association): Add assertion about the formal - parameters. - (Propagate_Discriminants): Always add an explicit component - association, so that an "others => <>" association is never - needed. - -2020-06-11 Bob Duff - - * exp_put_image.adb (Build_Elementary_Put_Image_Call): If the - underlying type is real, call Put_Image_Unknown. - (Build_Unknown_Put_Image_Call): Pass the type name to - Put_Image_Unknown. - * libgnat/s-putima.ads, libgnat/s-putima.adb - (Put_Image_Unknown): Add Type_Name parameter. Remove - overly-detailed documentation of what it does; better to leave - it open. - -2020-06-11 Piotr Trojanek - - * sem_ch3.adb (Build_Constrained_Array_Type, - Build_Constrained_Discriminated_Type): Skip unnecessary loop - iterations. - -2020-06-11 Piotr Trojanek - - * sem_aggr.adb (Build_Constrained_Itype): Move to Sem_Util. - * sem_ch3.adb (Build_Subtype, Inherit_Predicate_Flags): Move... - * sem_util.adb (Build_Subtype): Here. Add parameters for - references to objects previously declared in enclosing scopes. - (Inherit_Predicate_Flags): And here, because it is called by - Build_Subtype. - * sem_util.ads (Build_Overriding_Spec): Reorder alphabetically. - (Build_Subtype): Moved from Sem_Ch3; comments updated. - (Build_Constrained_Itype): Moved from Sem_Aggr; comments - updated. - -2020-06-11 Piotr Trojanek - - * sem_aggr.adb (Case_Table_Type): Change index type from Nat to - Pos. - -2020-06-11 Piotr Trojanek - - * sem_aggr.adb (Build_Constrained_Itype): Previously a declare - block, now a separate procedure; the only change is that now - New_Assoc_List might include components and an others clause, - which we ignore (while we deal with discriminants exactly as we - did before); extend a ??? comment about how this routine is - different from the Build_Subtype - (Resolve_Record_Aggregate): Create a constrained itype not just - for the outermost record aggregate, but for its inner record - aggregates as well. - -2020-06-11 Eric Botcazou - - * checks.adb (Build_Discriminant_Checks): Build an explicit - dereference when the type is an access type. - * exp_atag.adb (Build_CW_Membership): Add explicit dereferences. - (Build_Get_Access_Level): Likewise. - (Build_Get_Alignment): Likewise. - (Build_Inherit_Prims): Likewise. - (Build_Get_Transportable): Likewise. - (Build_Set_Size_Function): Likewise. - * exp_ch3.adb (Build_Offset_To_Top_Function): Likewise. - * exp_ch4.adb (Expand_Allocator_Expression): Likewise. - (Expand_N_Indexed_Component ): Remove code dealing with implicit - dereferences. - (Expand_N_Selected_Component): Likewise. - (Expand_N_Slice): Likewise. - * exp_ch9.adb (Add_Formal_Renamings): Add explicit dereference. - (Expand_Accept_Declarations): Likewise. - (Build_Simple_Entry_Call): Remove code dealing with implicit - dereferences. - (Expand_N_Requeue_Statement): Likewise. - * exp_disp.adb (Expand_Dispatching_Call): Build an explicit - dereference when the controlling type is an access type. - * exp_spark.adb (Expand_SPARK_N_Selected_Component): Delete. - (Expand_SPARK_N_Slice_Or_Indexed_Component): Likewise. - (Expand_SPARK): Do not call them. - * sem_ch4.adb (Process_Implicit_Dereference_Prefix): Delete. - (Process_Indexed_Component): Call Implicitly_Designated_Type - to get the designated type for an implicit dereference. - (Analyze_Overloaded_Selected_Component): Do not insert an - explicit dereference here. - (Analyze_Selected_Component): Likewise. - (Analyze_Slice): Call Implicitly_Designated_Type to get the - designated type for an implicit dereference. - * sem_ch8.adb (Has_Components): New predicate extracted from... - (Is_Appropriate_For_Record): ...this. Delete. - (Is_Appropriate_For_Entry_Prefix): Likewise. - (Analyze_Renamed_Entry): Deal with implicit dereferences. - (Find_Selected_Component): Do not insert an explicit dereference - here. Call Implicitly_Designated_Type to get the designated type - for an implicit dereference. Call Has_Components, Is_Task_Type - and Is_Protected_Type directly. Adjust test for error. - * sem_res.adb (Resolve_Implicit_Dereference): New procedure. - (Resolve_Call): Call Resolve_Indexed_Component last. - (Resolve_Entry): Call Resolve_Implicit_Dereference on the prefix. - (Resolve_Indexed_Component): Call Implicitly_Designated_Type to - get the designated type for an implicit dereference and - Resolve_Implicit_Dereference on the prefix at the end. - (Resolve_Selected_Component): Likewise. - (Resolve_Slice): Likewise. Do not apply access checks here. - * sem_util.ads (Implicitly_Designated_Type): Declare. - * sem_util.adb (Copy_And_Maybe_Dereference): Simplify. - (Implicitly_Designated_Type): New function. - (Object_Access_Level): Fix typo. - * sem_warn.adb (Check_Unset_Reference): Test Comes_From_Source - on the original node. - -2020-06-11 Piotr Trojanek - - * exp_disp.adb: Minor reformatting. - * exp_aggr.adb (Is_Static_Dispatch_Table_Aggregate): Recognize - aggregates of the Ada.Tags.Object_Specific_Data type as static. - * sem_aggr.adb (Check_Static_Discriminated_Subtype): Deconstruct - and do not call it from Build_Constrained_Itype. - -2020-06-11 Piotr Trojanek - - * exp_disp.adb (Make_Secondary_DT): Internally generated OSD - tables are now constant. - -2020-06-11 Piotr Trojanek - - * exp_aggr.adb (Backend_Processing_Possible): Remove useless - call. - -2020-06-11 Piotr Trojanek - - * opt.ads (Building_Static_Dispatch_Tables): Fix punctuation in - comment. - -2020-06-11 Arnaud Charlet - - * libgnat/s-stposu.ads (Root_Storage_Pool_With_Subpools, - Root_Subpool): Mark with Preelaborable_Initialization. - -2020-06-11 Javier Miranda - - * exp_ch9.adb (Expand_N_Conditional_Entry_Call): Replace call to - New_Copy_List by calls to the new routine - New_Copy_Separate_List. - * sem_util.ads (New_Copy_Separate_List, New_Copy_Separate_Tree): - New routines. - * sem_util.adb (New_Copy_Separate_List, New_Copy_Separate_Tree): - New routines. - (New_Copy_Tree): Extend the machinery that detects syntactic - nodes to handle lists of indentifiers with field More_Ids; - otherwise such nodes are erroneously handled as semantic nodes. - Copy aspect specifications attached to nodes. - * sem_ch12.adb (Copy_Generic_Node): Protect reading attribute - Etype. - -2020-06-11 Bob Duff - - * sem_ch13.adb (Analyze_Aspect_Specifications): Do not set the - Has_Predicates flag when the Predicate_Failure aspect is seen. - It is legal (but pointless) to use this aspect without a - predicate. If we set the flag, we generate a half-baked - Predicate procedure, and if that procedure is nested, it causes - unnesting to crash. - -2020-06-11 Bob Duff - - * exp_put_image.adb (Build_Record_Put_Image_Procedure): Remove - special processing of protected types, because those are handled - by Build_Protected_Put_Image_Call. - (Enable_Put_Image): Use the switch -gnatd_z to control enabling - of Put_Image. Disable Put_Image for types in Remote_Types - packages. - * debug.adb: Document -gnatd_z switch. - * exp_imgv.adb, libgnat/a-stteou.ads, opt.ads: Minor cleanups. - -2020-06-11 Piotr Trojanek - - * sem_warn.adb (Warn_On_Overlapping_Actuals): Add label to the - outer loop and use it in the exit statement. - -2020-06-11 Ghjuvan Lacambre - - * exp_ch3.adb (Build_Assignment): Generate predicate check if - subtype mark has predicate. - -2020-06-11 Justin Squirek - - * sem_util.adb (Expand_N_Attribute_Reference): Use original - nodes where required to avoid looking at the expanded tree. - -2020-06-11 Arnaud Charlet - - * libgnat/a-catizo.ads, libgnat/a-nbnbin.ads, - libgnat/a-nbnbre.ads, libgnat/a-nubinu.ads, - libgnat/s-aoinar.ads, libgnat/s-aomoar.ads, - libgnat/s-aotase.ads, libgnat/s-stopoo.ads: Remove aspects that - we will not implement. - -2020-06-11 Arnaud Charlet - - * libgnat/s-aoinar.adb (Atomic_Fetch_And_Add, - Atomic_Fetch_And_Subtract): Add fallback using - compare-and-exchange, in case the integer type does not map to a - machine type. - -2020-06-10 Arnaud Charlet - - * libgnat/s-aomoar.ads, libgnat/s-aomoar.adb: New files. - * libgnat/s-atopar.ads: Move... - * libgnat/s-aoinar.ads: Here. - * libgnat/s-atopar.adb: Move... - * libgnat/s-aoinar.adb: Here. - * impunit.adb: Update list of runtime files. - * Makefile.rtl (GNATRTL_NONTASKING_OBJS=): Adjust. - -2020-06-10 Arnaud Charlet - - * snames.ads-tmpl (Name_Characters_Assertion_Check, - Name_Containers_Assertion_Check, - Name_Interfaces_Assertion_Check, Name_IO_Assertion_Check, - Name_Numerics_Assertion_Check, Name_Strings_Assertion_Check, - Name_System_Assertion_Check): New constants. - * types.ads (Characters_Assertion_Check, - Containers_Assertion_Check, Interfaces_Assertion_Check, - IO_Assertion_Check, Numerics_Assertion_Check, - Strings_Assertion_Check, System_Assertion_Check): New constants. - (All_Checks): Update accordingly. - -2020-06-10 Ghjuvan Lacambre - - * exp_ch3.adb (Build_Equivalent_Record_Aggregate): Return Empty - if Etype of record component has predicates. - -2020-06-10 Arnaud Charlet - - * exp_ch3.adb (Build_Init_Statements): Implement the notion of - "require late initialization". - -2020-06-10 Eric Botcazou - - * sem_util.adb (Copy_And_Maybe_Dereference): Temporarily copy - the parent node of the original tree when dereferencing. - -2020-06-10 Ed Schonberg - - * sem_warn.adb (Warn_On_Overlapping_Actuals): Add a warning when - two actuals in a call overlap, both are composite types that may - be passed by reference, and only one of them is writable. - -2020-06-10 Eric Botcazou - - * exp_ch4.adb (Expand_N_In): Use an expression with actions to - insert the PE raise statement for the Unchecked_Union case. - -2020-06-10 Eric Botcazou - - * sem_ch4.adb (Analyze_Call): Use idiomatic condition. - * sem_res.adb (Resolve_Call): Remove obsolete code. - -2020-06-10 Eric Botcazou - - * sem_util.adb (Copy_And_Maybe_Dereference): New function. - (Build_Access_Record_Constraint): Use it to copy the prefix. - (Build_Actual_Array_Constraint): Likewise. - (Build_Actual_Record_Constraint): Likewise. - -2020-06-10 Bob Duff - - * sem_prag.adb (Invariant): Remove the pragma removing code. It - doesn't work to remove the pragma, because various flags are set - during Build_Invariant_Procedure_Declaration and - Build_Invariant_Procedure_Body that need to be set to avoid the - spurious warnings. - * exp_util.adb (Make_Invariant_Call): Avoid calling the - invariant-checking procedure if the body is empty. This is an - optimization. - -2020-06-10 Vasiliy Fofanov - - * doc/gnat_ugn/gnat_utility_programs.rst: Fix gnatmetric - switches description. - -2020-06-10 Arnaud Charlet - - * repinfo-input.ads, repinfo-input.adb, repinfo.adb, - repinfo.ads: Update header. - -2020-06-10 Eric Botcazou - - * exp_aggr.adb (In_Place_Assign_OK): Do not necessarily return - false for a type with discriminants. - (Convert_To_Assignments): Use Parent_Node and Parent_Kind more - consistently. In the in-place assignment case, first apply a - discriminant check if need be, and be prepared for a rewritten - aggregate as a result. - -2020-06-10 Arnaud Charlet - - * atree.adb, contracts.adb, debug.adb, freeze.adb, - repinfo-input.adb, repinfo.adb, sem_attr.adb, sem_ch10.adb, - sem_ch13.adb, sem_ch3.adb, sem_ch5.adb, sem_ch6.adb, - sem_ch8.adb, sem_ch9.adb, sem_disp.adb, sem_eval.adb, - sem_prag.adb: Remove more references to ASIS. - -2020-06-10 Arnaud Charlet - - * libgnat/s-secsta.adb (Round_Up): Fix typo in exception - message. - -2020-06-10 Piotr Trojanek - - * par-ch4.adb (P_Membership_Test): Fix typo in a grammar rule. - -2020-06-10 Piotr Trojanek - - * exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Remove - expansion of First and Last attributes. - -2020-06-10 Piotr Trojanek - - * exp_attr.adb (Expand_N_Attribute_Reference): Remove folding - for Enum_Rep attribute. - * exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Remove - duplicated code for folding Enum_Rep attribute. - * sem_attr.adb (Eval_Attribute): Relax condition for folding - Enum_Rep attribute; previously dead code is now executed when - the attribute prefix is an enumeration literal; refine type in - processing of Enum_Val. - -2020-06-10 Javier Miranda - - * sem_ch3.adb (Analyze_Declarations): Adjust the machinery that - takes care of late body overriding of initialize, adjust, - finalize. Remove ASIS mode code. - -2020-06-10 Ed Schonberg - - * einfo.ads (Access_Subprogram_Wrapper): New attribute of - Subprogram_Type entities. Denotes subprogram constructed for - Access_To_Subprogram types that include pre- and postconditions. - * einfo.adb: Subprogram bodies for Access_Subprogram_Wrapper. - * exp_ch6.adb (Expand_Call): An indirect call through an - Access_To_subprogram that includes contracts is rewritten as a - call to the corresponding Access_ ubprogram_Wrapper. Handle - derived types that inherit contract from parent. - * sem_prag.adb (Build_Access_Subprogram_Wrapper): Build - subprogram declaration for subprogram that incorporates the - contracts of an Access_To_Subprogram type declaration. Build - corresponding body and attach it to freeze actions for type. - * sem_util.ads, sem_util.adb (Is_Access_Subprogram_Wrapper): - Utility that uses signature of the subprogram to determine - whether it is a generated wrapper for an Access_To_Subprogram - type. - -2020-06-10 Ghjuvan Lacambre - - * par-ch6.adb (P_Subprogram): Make sure the specification - belongs to a procedure. - -2020-06-10 Piotr Trojanek - - * sem_ch13.adb (All_Membership_Choices_Static): Assert an AST - property documented in sinfo.ads and simplify an excessive - condition. - -2020-06-10 Piotr Trojanek - - * exp_attr.adb (Expand_N_Attribute_Reference): Fix a copy-paste - mistake in comment. - * sem_res.adb (Flag_Effectively_Volatile_Objects): Fix a type in - the SPARK RM rule number. - * exp_ch4.adb, sem_util.adb: Fix style in single line comments. - -2020-06-10 Piotr Trojanek - - * sem_aux.ads, sem_aux.adb (Get_Low_Bound): Remove. - -2020-06-10 Arnaud Charlet - - * scn.adb (Determine_License): Remove. - -2020-06-10 Justin Squirek - - * exp_ch3.adb (Expand_N_Object_Declaration): Add condition to - handle processing of objects initialized by a call to a function - return an anonymous access type. - * exp_ch6.adb, exp_ch6.ads - (Has_Unconstrained_Access_Discriminants): Moved to sem_util.adb - (Needs_Result_Accessibility_Level): Moved to sem_util.adb - * sem_util.adb, sem_util.ads - (Has_Unconstrained_Access_Discriminants): Moved from exp_ch6.adb - (Needs_Result_Accessibility_Level): Moved from exp_ch6.adb - * sem_res.adb (Valid_Conversion): Add condition for the special - case where the operand of a conversion is the result of an - anonymous access type - -2020-06-10 Ghjuvan Lacambre - - * par-ch6.adb (P_Subprogram): Reject duplicate subprogram - declarations. - -2020-06-10 Eric Botcazou - - * exp_ch6.adb (Insert_Post_Call_Actions): Deal with the context - of an if-expression and with a call written in prefixed notation. - -2020-06-10 Gary Dismukes - - * einfo.ads: Minor reformatting of a comment. - * exp_aggr.adb: Minor reformatting and a grammar correction. - * exp_attr.adb: Minor reformatting and a typo fix in some - comments. - * sem_ch12.adb: Fix three typos in comments. - -2020-06-09 Javier Miranda - - * sem_ch6.adb (New_Overloaded_Entity): Add missing call to check - subtype conformance of overriding dispatching primitive. - * sem_eval.adb (Subtypes_Statically_Match): Handle derivations - of private subtypes. - * libgnat/g-exptty.adb, libgnat/g-exptty.ads - (Set_Up_Communications): Fix the profile since null-exclusion is - missing in the access type formals. - * sem_disp.ads (Check_Operation_From_Private_View): Adding - documentation. - -2020-06-09 Eric Botcazou - - * einfo.ads (XEINFO section): Update format description. - (Is_Subprogram_Or_Entry): Move pragma to regular section. - (Is_Subprogram_Or_Generic_Subprogram): Likewise. - * xeinfo.adb (Get_B4): Rename to... - (Get_B0): ...this. - (Translate_Expr): New procedure extracted from... - (XEinfo): ...here. Try to apply Get_B0 first and then - call Translate_Expr to translate supported constructs. - -2020-06-09 Eric Botcazou - - * exp_ch6.adb (Freeze_Subprogram): Deal with convention C_Family. - * freeze.adb (Freeze_Profile): Likewise. Add missing guard. - * sem_mech.adb (Set_Mechanisms): Likewise. - * lib-xref.adb (Output_Import_Export_Info): Ditto for C_Variadic. - * repinfo.adb (List_Subprogram_Info): Likewise. - * sem_prag.adb (Set_Convention_From_Pragma): Move main checks for - Stdcall to... - (Process_Convention): ...here. Add checks for C_Variadic. - * snames.ads-tmpl: Add Name_C_Variadic_0 .. Name_C_Variadic_16. - Use consistent format for subtype declarations. - (Convention_Id): Add Convention_C_Variadic_0 .. C_Variadic_16 - and move Convention_CPP up. - (Convention_C_Family): New subtype of Convention_Id. - (Convention_C_Variadic): Likewise. - (Foreign_Convention): Use explicit upper bound. - Add pragma Inline for Is_Configuration_Pragma_Name, - Is_Function_Attribute_Name, Is_Internal_Attribute_Name - and Is_Procedure_Attribute_Name. - * snames.adb-tmpl (Get_Convention_Id): Deal with Name_Variadic_n. - (Get_Convention_Name): Deal with Convention_Variadic_n. - * types.h (Convention_Id): New typedef. - * xsnamest.adb (Name2): New variable. - (Is_Conv): New pattern. - (Get_Subt1): Likewise. - (Get_Subt2): Likewise. - Output subtypes of Convention_Id into the C header file. - -2020-06-09 Arnaud Charlet - - * exp_ch3.adb, exp_ch4.adb, exp_ch6.adb, exp_ch9.adb, - exp_disp.adb, exp_util.adb: Add comments related to errors that - should be moved to semantic analysis. Also replace "?" with "??" - in warning messages. - -2020-06-09 Arnaud Charlet - - * libgnat/a-strunb__shared.ads, libgnat/a-strunb__shared.adb - (Reference, Unreference): No-op for Empty_Shared_String. - Remove unneeded calls to Reference. - -2020-06-09 Arnaud Charlet - - * exp_ch5.adb (Expand_N_Assignment): Remove kludge for - AI05-0087. - * sem_ch12.adb (Validate_Derived_Type_Instance): Implement - AI05-0087 retroactively since it's a binding interpretation. - -2020-06-09 Eric Botcazou - - * einfo.ads (Has_Foreign_Convention): Fix description. - (Component_Alignment): Move around. - (Has_DIC): Likewise. - (Has_Interrupt_Handler): Likewise. - (Has_Invariants): Likewise. - (Is_Atomic_Or_VFA): Likewise. - (Next_Index): Likewise. - (Scope_Depth): Likewise. - (Init_Component_Size): Likewise. - (Init_Component_Location): Likewise. - (Init_Size): Likewise. - (Inline Pragmas for functions): Add Corresponding_Function, - Corresponding_Procedure, Entry_Max_Queue_Lengths_Array, - Finalize_Storage_Only, Has_DIC, Has_Invariants, - Initialization_Statements, Is_Anonymous_Access_Type, - Next_Stored_Discriminant, Address_Clause, Alignment_Clause, - Float_Rep, Has_Foreign_Convention, Has_Non_Limited_View, - Is_Constant_Object, Is_Discriminal, Is_Finalizer, Is_Null_State, - Is_Prival, Is_Protected_Component, Is_Protected_Record_Type, - Is_Subprogram_Or_Entry, Is_Task_Record_Type, Size_Clause, - Stream_Size_Clause, Type_High_Bound, Type_Low_Bound, Known_*, - Unknown_*. - (Inline Pragmas for procedures): Add Set_Corresponding_Function, - Set_Corresponding_Procedure, Set_Finalize_Storage_Only, - Set_Float_Rep, Set_Initialization_Statements, - Init_Normalized_First_Bit, Init_Normalized_Position, - Init_Normalized_Position_Max. - * einfo.adb (Was_Hidden): Move around. - (Is_Packed_Array): Likewise. - (Model_Emin_Value): Likewise. - (Model_Epsilon_Value): Likewise. - (Model_Mantissa_Value): Likewise. - (Model_Small_Value): Likewise. - -2020-06-09 Ed Schonberg - - * sem_ch12.adb (Check_Shared_Variable_Control_Aspects): Require - exact match between formal and actual for aspects Atomic and - Volatile only for formal derived types. - -2020-06-09 Arnaud Charlet - - * exp_util.adb (Side_Effect_Free): Improve handling of - N_Aggregate. - -2020-06-09 Ghjuvan Lacambre - - * sem_res.adb (Resolve_Qualified_Expression): Use Subtype_Mark - type. - -2020-06-09 Arnaud Charlet - - * exp_aggr.adb (Max_Aggregate_Size): New function to factorize - code. - (Convert_To_Positional, Aggr_Size_OK): Use Max_Aggregate_Size. - -2020-06-09 Arnaud Charlet - - * sem_util.ads, sem_util.adb (Set_Debug_Info_Defining_Id): New. - * exp_ch3.adb, exp_ch8.adb: Call Set_Debug_Info_Defining_Id when - relevant. - -2020-06-09 Justin Squirek - - * einfo.ads (Returns_By_Ref): Modify documentation to reflect - that Returns_By_Ref can be applied to E_Subprogram_Type - entities. - -2020-06-09 Justin Squirek - - * exp_attr.adb (Expand_N_Attribute_Reference): Modify expansion - of 'Overlaps_Storage to take into account zero sized arrays. - -2020-06-09 Bob Duff - - * bindo-graphs.adb, bindo-graphs.ads: For each invocation graph, - record the corresponding library graph. - * bindo-writers.adb (Write_Invocation_Graph_Vertex): Print the - lib item name. Remove library graph parameters. - * bindo-augmentors.adb, bindo-augmentors.ads, - bindo-builders.adb, bindo-diagnostics.adb, - bindo-diagnostics.ads, bindo-elaborators.adb: Remove library - graph parameters. - -2020-06-09 Eric Botcazou - - * checks.adb (Apply_Predicate_Check): Extend trick used for - aggregates to qualified aggregates and object declarations - * einfo.ads (Has_Own_DIC): Mention the underlying full view. - (Has_Own_Invariants): Likewise. - (Has_Predicates): Likewise. - * exp_util.adb (Build_DIC_Procedure_Declaration): Do not deal - with base types explicitly but with underlying full views. - (Build_Invariant_Procedure_Declaration): Likewise. - * sem_ch13.adb (Build_Predicate_Functions): Do not deal with - the full view manually but call Propagate_Predicate_Attributes - to propagate attributes to views. - (Build_Predicate_Function_Declaration): Likewise. - * sem_ch3.adb (Build_Assertion_Bodies_For_Type): Build bodies - for private full views with an underlying full view. - (Build_Derived_Private_Type): Small comment tweak. - (Complete_Private_Subtype): Call Propagate_Predicate_Attributes. - (Process_Full_View): Do not deal with base types explicitly for - DIC and Invariant attributes. Deal with underlying full views - for them. Call Propagate_Predicate_Attributes and deal with - underlying full views for them. - * sem_ch7.adb (Preserve_Full_Attributes): Do not cross propagate - DIC and Invariant attributes between full type and its base type. - Propagate Predicate attributes from the full to the private view. - * sem_ch9.adb (Analyze_Protected_Type_Declaration): Likewise. - (Analyze_Task_Type_Declaration): Likewise. - * sem_util.ads (Get_Views): Remove Full_Base parameter and add - UFull_Typ parameter. - (Propagate_Predicate_Attributes): New procedure. - * sem_util.adb (Get_Views): Remove Full_Base parameter and add - UFull_Typ parameter. Retrieve the Corresponding_Record_Type - from the underlying full view, if any. - (Propagate_DIC_Attributes): Remove useless tests. - (Propagate_Invariant_Attributes): Likewise. - (Propagate_Predicate_Attributes): New procedure. - -2020-06-09 Justin Squirek - - * exp_ch5.adb (Expand_Predicated_Loop): Perserve the original - loop identifier within the expansion. - -2020-06-09 Bob Duff - - * bindo-graphs.ads (Library_Graph_Edge_Kind): Reorder enumerals - to reflect the order of adding edges. Clarify comments. - * bindo-graphs.adb (Add_Edge_Kind_Check): Correct the - assertions. Reorder the "when"s to match the order of adding - edges, and therefore the order of enumerals in type - Library_Graph_Edge_Kind. Change names to "Old_" and "New_" to - clarify what's what. Combine Invocation_Edge into the "<=" - test. Fix the "raise Program_Error" message, which was - backwards. - -2020-06-09 Bob Duff - - * bindo-graphs.adb (Add_Edge_Kind_Check): Add the Image of the - old and new Kinds to the raise Program_Error message. - -2020-06-09 Eric Botcazou - - * sem_ch3.adb (Is_Visible_Component): Do not special-case - bodies of instances. - -2020-06-09 Arnaud Charlet - - * exp_ch4.adb (Expand_N_In): Fix handling of null exclusion. - -2020-06-09 Ed Schonberg - - * sem_ch12.adb (Check_Shared_Variable_Control_Aspects): Require - exact match between formal and actual for aspects Atomic, - Atomic_Component, Volatile, and Volatile_Components. - -2020-06-09 Bob Duff - - * doc/gnat_ugn/gnat_utility_programs.rst: Add documentation for - the --no-separate-return switch of gnatpp. - -2020-06-09 Arnaud Charlet - - * sem_warn.adb (Warn_On_Constant_Valid_Condition): Add proper - warning tag. - -2020-06-09 Arnaud Charlet - - * sem_type.adb (Covers): Fix implementation of AI05-0149. - * sem_res.adb: Fix typo. - -2020-06-09 Ed Schonberg - - * exp_ch9.adb (Build_Master_Renaming): Make name in renaming - declaration unique by adding a numeric suffix, to prevent - accidental name conflict when several instantiations of a - package containing an access_to_incomplete type that designate - tasks appear in the same scope. - -2020-06-09 Piotr Trojanek - - * libgnarl/a-synbar.ads, libgnarl/a-synbar.adb, - libgnarl/a-synbar__posix.ads, libgnarl/a-synbar__posix.adb - (Ada.Synchronous_Barriers): Annotate with SPARK_Mode => Off. - -2020-06-09 Arnaud Charlet - - * sem_eval.adb (Eval_Relational_Op, Eval_String_Literal, - Eval_Type_Conversion): Relax rules on relational operators and - type conversions of static string types. - -2020-06-09 Arnaud Charlet - - * sem_util.ads, sem_util.adb (Is_Partially_Initialized_Type): - Take Default_Value and Default_Component_Value into account. - * sem_ch3.adb (Analyze_Object_Declaration): Update comment. - -2020-06-09 Bob Duff - - * bindo-graphs.adb (Add_Edge_Kind_Check): Disable failing part - of the assertion. - -2020-06-08 Steve Baird - - * sem_prag.adb (Analyze_Pragma.Set_Ravenscar_Profile): Add - appropriate call to Set_Restriction_No_Dependence if Ada_Version - >= Ada2012 and Profile is either Ravenscar or a GNAT-defined - Ravenscar variant (i.e., not Jorvik). - -2020-06-08 Arnaud Charlet - - * sem_ch5.adb: Fix typo. - * sem_ch8.adb (Analyze_Renamed_Primitive_Operation): Check that - the prefix of a prefixed view must be renamable as an object. - -2020-06-08 Arnaud Charlet - - * sem_cat.ads: Fix typo. - * sem_cat.adb (Validate_Remote_Access_To_Class_Wide_Type): Add - handling of N_Attribute_Definition_Clause. - * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Call - Validate_Remote_Access_To_Class_Wide_Type for Storage_Size and - Storage_Pool. - * sem_attr.adb, exp_ch4.adb: Update comments. - -2020-06-08 Justin Squirek - - * sem_ch4.adb (Analyze_One_Call): Add extra condition to the - predicate for deciding when a given controlled call is visible. - -2020-06-08 Piotr Trojanek - - * exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Port - changes in frontend expander. - -2020-06-08 Piotr Trojanek - - * sem_ch13.adb (All_Membership_Choices_Static): Fix style. - -2020-06-08 Steve Baird - - * libgnat/s-rident.ads: Add Jorvik to the Profile_Name - enumeration type. Add an element for Jorvik to the array - aggregate that is the initial value of the constant - Profile_Info. - * targparm.adb (Get_Target_Parameters): Handle "pragma Profile - (Jorvik);" similarly to "pragma Profile (Ravenscar);". - * snames.ads-tmpl: Declare Name_Jorvik Name_Id. Unlike - Ravenscar, Jorvik is not a pragma name and has no corresponding - element in the Pragma_Id enumeration type; this means that its - declaration must not occur between those of First_Pragma_Name - and Last_Pragma_Name. - * sem_prag.adb (Analyze_Pragma): Add call to - Set_Ravenscar_Profile for Jorvik, similar to the existing calls - for Ravenscar and the GNAT Ravenscar variants. - -2020-06-08 Arnaud Charlet - - * sem_ch8.adb (Analyze_Object_Renaming): Update Get_Object_Name - to go through N_Qualified_Expression and N_Type_Conversion. Fix - another case of wrong usage of E_Anonymous_Access_Type instead - of Anonymous_Access_Kind. - * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): Work - on the original node. - (Is_Aliased_View): Take into account N_Qualified_Expression. - -2020-06-08 Arnaud Charlet - - * sem_eval.adb (Eval_Type_Conversion): Fix handling of - enumeration to integer conversions. - * exp_attr.adb (Expand_N_Attribute_Reference - [Attribute_Enum_Rep]): Remove special casing for first-level - renaming, best left to the general folding mechanism via - Eval_Type_Conversion. - -2020-06-08 Eric Botcazou - - * atree.adb (New_Copy): Do not clear Has_Dynamic_Range_Check. - * checks.ads (Append_Range_Checks): Remove Flag_Node parameter. - (Insert_Range_Checks): Likewise and remove default value of - Static_Loc parameter. - * checks.adb (Append_Range_Checks): Remove Flag_Node parameter. - Do not test and set Has_Dynamic_Range_Check. - (Insert_Range_Checks): Likewise and remove default value of - Static_Loc parameter. - * csinfo.adb (CSinfo): Remove 'L' from [NEUB]_Fields pattern and - do not handle Has_Dynamic_Range_Check. - * exp_ch5.adb (Expand_N_Assignment_Statement): Remove argument - in call to Insert_Range_Checks. - * sem_ch3.adb (Analyze_Subtype_Declaration): Do not fiddle - with Has_Dynamic_Range_Check. - (Process_Range_Expr_In_Decl): Remove argument in calls to - Insert_Range_Checks and Append_Range_Checks. - * sinfo.ads (Has_Dynamic_Range_Check): Delete. - (Set_Has_Dynamic_Range_Check): Likewise. - * sinfo.adb (Has_Dynamic_Range_Check): Delete. - (Set_Has_Dynamic_Range_Check): Likewise. - * treepr.adb (Print_Node): Do not print Has_Dynamic_Range_Check. - -2020-06-08 Steve Baird - - * sem_ch13.ads: Export new function - All_Membership_Choices_Static. - * sem_ch13.adb: Implement new function - All_Membership_Choices_Static. This involves moving the - functions Is_Static_Choice and All_Membership_Choices_Static, - which were previously declared within the function - Is_Predicate_Static, out to library level so that they can be - called by the new function. The already-exisiting code in - Is_Predicate_Static which became the body of - All_Membership_Choices_Static is replaced with a call to the new - function in order to avoid duplication. - * exp_ch9.adb (Is_Pure_Barrier): Several changes needed to - implement rules of AI12-0290 and RM D.7's definition of - "pure-barrier-eligible". These changes include adding a call to - the new function Sem_13.All_Membership_Choices_Static, as per - the "see 4.9" in RM D.7(1.6/5). - -2020-06-08 Richard Kenner - - * exp_unst.adb (Visit_Node): When visiting array attribute - nodes, in addition to checking the type of Get_Referenced_Object - of the prefix, also check the actual type of the prefix. - -2020-06-08 Gary Dismukes - - * checks.adb (Apply_Predicate_Check): Refine test for being in a - subprogram body to account for no Corresponding_Body case, - avoiding blowups arising due to other changes here. - * exp_ch4.adb (Expand_N_Qualified_Expression): Apply predicate - checks, if any, after constraint checks are applied. - * sem_eval.ads (Check_Expression_Against_Static_Predicate): Add - Check_Failure_Is_Error formal for conditionalizing warning vs. - error messages. - * sem_eval.adb (Check_Expression_Against_Static_Predicate): - Issue an error message rather than a warning when the new - Check_Failure_Is_Error formal is True. In the nonstatic or - Dynamic_Predicate case where the predicate is known to fail, - emit the check to ensure that folded cases get checks applied. - * sem_res.adb (Resolve_Qualified_Expression): Call - Check_Expression_Against_Static_Predicate, passing True for - Check_Failure_Is_Error, to ensure we reject static predicate - violations. Remove code that was conditionally calling - Apply_Predicate_Check, which is no longer needed, and that check - procedure shouldn't be called from a resolution routine in any - case. Also remove associated comment about preventing infinite - recursion and consistency with Resolve_Type_Conversion, since - that handling was already similarly removed from - Resolve_Type_Convesion at some point. - (Resolve_Type_Conversion): Add passing of True for - Check_Failure_Is_Error parameter on call to - Check_Expression_Against_Static_Predicate, to ensure that static - conversion cases that violate a predicate are rejected as - errors. - -2020-06-08 Piotr Trojanek - - * snames.ads-tmpl (Name_SPARK): Restore after being deleted. - -2020-06-08 Arnaud Charlet - - * exp_aggr.adb, exp_ch6.adb, par-ch11.adb, par-ch6.adb, - par-ch7.adb, par-prag.adb, restrict.adb, restrict.ads, - scans.ads, scng.adb, sem_aggr.adb, sem_attr.adb, sem_ch11.adb, - sem_ch12.adb, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, - sem_ch5.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, - sem_res.adb, sem_util.adb, sem_util.ads, snames.ads-tmpl, - gnatbind.adb, libgnat/s-rident.ads, - doc/gnat_rm/standard_and_implementation_defined_restrictions.rst: - Remove processing of SPARK_05 restriction. - * gnat_rm.texi: Regenerate. - * opt.ads: Remove processing of old checksum which is now - handled by gprbuild directly. - -2020-06-08 Arnaud Charlet - - * sem_ch12.adb (Instantiate_Object): Relax rules related to null - exclusions and generic objects. Handle all anonymous types - consistently and not just E_Anonymous_Access_Type. - * sem_ch8.adb (Analyze_Object_Renaming): Change wording so that - it applies to both renamings and instantiations to avoid - confusion. - -2020-06-08 Arnaud Charlet - - * libgnat/a-textio.ads (File_Mode): Fix typo in comment. - -2020-06-08 Eric Botcazou - - * sem_res.adb (Resolve_Indexed_Component): Do not give a warning - for a nonatomic component of an atomic array which is subject to - an address clause in Ada 2020 mode. - (Resolve_Selected_Component): Likewise for an atomic record. - -2020-06-08 Philippe Gil - - * doc/gnat_ugn/the_gnat_compilation_model.rst: in "Handling - Files with Multiple Units" part documents gnatname use for - unmodified files handling and gnatchop use for files - refactoring. - * gnat_ugn.texi: Regenerate. - -2020-06-08 Arnaud Charlet - - * doc/gnat_rm/implementation_defined_attributes.rst: - Enum_Rep/Enum_Val are standard Ada 202x attributes. - * gnat_rm.texi: Regenerate. - -2020-06-08 Javier Miranda - - * exp_aggr.adb (Safe_Component): Remove code that considers as - unsafe components that are aggregates; such removal allows the - frontend to proceed and evaluate if they are safe by means of - invoking Safe_Aggregate. - -2020-06-08 Piotr Trojanek - - * exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Apply - standard expansion to attributes First and Last. - -2020-06-08 Piotr Trojanek - - * exp_attr.adb, exp_util.ads, exp_util.adb (Get_Index_Subtype): - Move from the body of Exp_Attr to Exp_Util and expose from the - spec. - * exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Replace - duplicated code with a call to Get_Index_Subtype. - -2020-06-08 Arnaud Charlet - - * sem_ch8.adb (Analyze_Object_Renaming): Simplify code by moving - many special cases to Is_Object_Reference and removing others by - only checking renamings coming from sources. - * sem_util.adb (Is_Object_Reference): Update for AI12-0226 and - add more regular handling of 'Priority. Remove special cases no - longer needed now that we are only checking renamings coming - from sources. - -2020-06-08 Claire Dross - - * libgnat/a-cofove.adb (Insert_Space): The computation of Index - generates a spurious compiler warning about a value not being in - range for a statically dead branch. Silence it using pragma - Warnings. - -2020-06-08 Bob Duff - - * bindo-graphs.adb (function Add_Edge): Rename - Add_Edge_With_Return to Add_Edge; we can tell it returns because - it's a function, and overloading seems appropriate in this case. - If Activates_Task=True, and we're not going to add a new edge - because an existing Pred-->Succ edge already exists, then set - Activates_Task to True on the preexisting edge. This ensures - that the message: - info: use pragma Restrictions (No_Entry_Calls_In_Elaboration_Code) - appears when appropriate, no matter in what order the edges - happened to be processed. - (procedure Add_Edge): Remove redundant assertions. - (Activates_Task): Other kinds of edges can have - Activates_Task=True. For example, if we had a With_Edge and - then an Invocation_Edge with Activates_Task=True, then the - With_Edge has Activates_Task set to True. - (Add_Edge_Kind_Check): New procedure to prevent other bugs of - this nature. For example, if we were to sometimes call Add_Edge - for a Spec_Before_Body_Edge followed by Add_Edge for a - With_Edge, and sometimes in the other order, that would cause a - similar bug to what we're fixing here. - (Set_Is_Recorded_Edge): Val parameter is not used. Get rid of - it. - (Set_Activates_Task): New procedure to set the Activates_Task flag. - * bindo-graphs.ads (Library_Graph_Edge_Kind): Reorder the - enumeration literals to facilitate Add_Edge_Kind_Check. - * ali.adb (Known_ALI_Lines): The comment about "still available" - was wrong. Fix that by erasing the comment, and encoding the - relevant information in real code. Take advantage of Ada's full - coverage rules by removing "others =>". Also DRY. - -2020-06-08 Ed Schonberg - - * par-ch12.adb (P_Formal_Derived_Type_Definition): Handle - properly formal derived types that include aspect - specifications, so that the "with" keyword appears twice in the - formal type declaration. - * sem_ch13.adb (Has_Generic_Parent): Return true if the type - itself is a generic formal. - -2020-06-08 Dmitriy Anisimkov - - * socket.c (__gnat_minus_500ms): Remove - IsWindowsVersionOrGreater from condition. - -2020-06-08 Claire Dross - - * libgnat/a-cfdlli.ads, libgnat/a-cfhama.ads, - libgnat/a-cfhase.ads, libgnat/a-cforma.ads, libgnat/a-cforse.ads - (Delete): Add Depends contract. - -2020-06-08 Arnaud Charlet - - * snames.ads-tmpl (Name_Program_Error_Check, - Name_Tasking_Check): New constants. - * types.ads (Program_Error_Check, Tasking_Check): New constants. - (All_Checks): Update accordingly. - -2020-06-05 Arnaud Charlet - - * sem_prag.adb (Validate_Compile_Time_Warning_Or_Error): Use ??. - -2020-06-05 Arnaud Charlet - - * cstand.adb (Create_Standard): Update comments. - -2020-06-05 Arnaud Charlet - - * scng.adb (Scan): Fix typo to take into account all future - versions of Ada. - * sem_attr.ads (Attribute_Impl_Def): Add Attribute_Reduce for - now. - * sem_attr.adb (Analyze_Attribute): Only allow 'Reduce under - -gnatX. - * snames.ads-tmpl (Name_Reduce): Update comment. - -2020-06-05 Thomas Quinot - - * exp_disp.adb (Expand_Interface_Thunk): Add comment about - gnatcov reliance on specific name used for thunks. - -2020-06-05 Ed Schonberg - - * sem_ch3.adb (Analyze_Subtype_Declaration): For scalar types, - and for subtype declarations without a constraint, subtype - inherits Atomic flag from base type. - -2020-06-05 Piotr Trojanek - - * doc/gnat_rm/implementation_defined_attributes.rst (Enum_Rep): - Remove extra colon. - * gnat_rm.texi: Regenerate. - -2020-06-05 Eric Botcazou - - * atree.adb (New_Copy): Clear Has_Dynamic_Range_Check on - subexpression nodes. - * checks.adb (Append_Range_Checks): Assert that the node - doesn't have the Has_Dynamic_Range_Check flag set. - (Insert_Range_Checks): Likewise. - * exp_ch3.adb (Expand_N_Subtype_Indication): Do not apply - range checks for a full type or object declaration. - * sem_ch3.ads: Move with and use clauses for Nlists to... - (Process_Range_Expr_In_Decl): Change default to No_List for - the Check_List parameter. - * sem_ch3.adb: ...here. - (Process_Range_Expr_In_Decl): Likewise. When the insertion - node is a declaration, only insert on the list if is present - when the declaration involves discriminants, and only insert - on the node when there is no list otherwise. - -2020-06-05 Piotr Trojanek - - * sem_aggr.adb (Resolve_Record_Aggregate): Create the - N_Aggregate node with its Expressions field set to No_List and - not to an empty list. - -2020-06-05 Dmitriy Anisimkov - - * libgnat/s-os_lib.adb (Is_Dirsep): Moved from Build_Path to - package level to reuse. - (Normalize_Pathname.Final_Value): Reduce 2 'if' statements to - one. - (Normalize_Pathname.Fill_Directory): New procedure instead of - function Get_Directory. Remove slash to backslash conversion and - drive letter uppercasing on Windows. - -2020-06-05 Arnaud Charlet - - * sem.adb (Assert_Done): Relax check for main unit, as it was - overzealous in the case of the main unit itself. - -2020-06-05 Piotr Trojanek - - * exp_ch3.adb, sem_ch8.adb, sem_util.adb: Use Is_Incomplete_Type - to make the code easier to read. - -2020-06-05 Piotr Trojanek - - * einfo.adb: Minor reformatting. - * sem_util.adb (Has_Full_Default_Initialization, - Is_Partially_Initialized_Type, Caller_Known_Size_Record, - Large_Max_Size_Mutable): Iterate with - First_Component/Next_Component; rename Ent to Comp. - -2020-06-05 Eric Botcazou - - * exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Use - Expr_Rep_Value instead of Expr_Value to obtain the equivalent - integer value. - * sem_eval.ads (Expr_Value): Document more supported cases. - * sem_eval.adb (Expr_Rep_Value): Copy missing cases from - Exp_Value. - -2020-06-05 Bob Duff - - * rtsfind.adb, rtsfind.ads: Move subtypes of RTU_Id into package - body, because they are not needed by clients. Change "Child_" to - "Descendant", because grandchildren and great grandchildren are - involved. Replace all the repetitive comments with a single - concise one. Change the parent subtypes to be more consistent; - use the most specific parent. - -2020-06-05 Piotr Trojanek - - * rtsfind.ads, rtsfind.adb (Is_Text_IO_Special_Package): Moved - from the GNATprove backend to the frontend. - -2020-06-05 Yannick Moy - - * sem_util.ads: Add comment about function only used in - CodePeer. - -2020-06-05 Ed Schonberg - - * sem_ch9.adb, (Analyze_Task_Body): After analying the task - body, indicate that all local variables have no delayed aspects. - This prevents improper later calls to - Check_Aspect_At_End_Of_Declarations, that would happen when the - constructed task_procedure body (generated during expansion) is - analyzed. The legality of aspect specifications that may appear - on local declarations has already been established, and it is in - general not possible to recheck them properly during expansion, - when visibility may not be fully established. - -2020-06-05 Piotr Trojanek - - * libgnat/a-cofuve.ads (First): Add Global contract. - -2020-06-05 Arnaud Charlet - - * sem_prag.adb (Set_Convention_From_Pragma): Set the convention - of anonymous access array components. - -2020-06-05 Arnaud Charlet - - * libgnat/a-calfor.ads, libgnat/a-catizo.ads, - libgnat/a-catizo.adb (Local_Time_Offset, Local_Image): New. - (UTC_Time_Offset): Now a renaming of Local_Time_Offset. - -2020-06-05 Eric Botcazou - - * sem_ch3.adb (Available_Full_View): New function returning - either the full or the underlying full view. - (Build_Full_Derivation): Add guard for the full view. - (Copy_And_Build): Retrieve the underlying full view, if any, - also if deriving a completion. - (Build_Derived_Private_Type): Use Available_Full_View throughout - to decide whether a full derivation must be done. - -2020-06-05 Bob Duff - - * exp_attr.adb, exp_ch11.adb, exp_imgv.adb, exp_tss.ads, - par-ch4.adb, sem_attr.adb, sem_util.ads: Misc cleanup. - -2020-06-05 Arnaud Charlet - - * libgnat/a-nudira.ads, libgnat/a-nudira.adb (Random): New - function. - -2020-06-05 Arnaud Charlet - - * sem_attr.ads (Attribute_Impl_Def): Remove Enum_Rep/Val. - * sem_attr.adb (Attribute_20): New, move Enum_Rep/Val here. - (Analyze_Attribute): Take Attribute_20 into account. - -2020-06-05 Arnaud Charlet - - * restrict.ads (Unit_Array): Add a-direct. - -2020-06-05 Arnaud Charlet - - * libgnat/s-stopoo.ads: Mark package Pure and leave room for - Nonblocking once this aspect is supported. - -2020-06-05 Eric Botcazou - - * exp_attr.adb (Expand_N_Attribute_Reference) : - Set the No_Truncation flag on the unchecked conversion built for - scalar types. - -2020-06-05 Bob Duff - - * einfo.adb, einfo.ads, exp_util.adb: Remove Invariants_Ignored - flag. - * sem_prag.adb (Invariant): Instead of setting a flag to be - checked elsewhere, remove the pragma as soon as it is analyzed - and checked for legality. - -2020-06-05 Eric Botcazou - - * checks.ads (Apply_Length_Check): Rename Ck_Node parameter to - Expr. - (Apply_Range_Check): Likewise. - (Get_Range_Checks): Likewise. - * checks.adb (Apply_Float_Conversion_Check): Likewise. - (Apply_Selected_Length_Checks): Likewise. - (Apply_Selected_Range_Checks): Likewise. - (Guard_Access): Likewise. - (Selected_Length_Checks): Likewise. Also avoid shadowing in - child procedures. - (Selected_Range_Checks): Likewise. - -2020-06-05 Arnaud Charlet - - * par-ch3.adb, par-ch4.adb, scng.adb, sem_aggr.adb, - sem_ch10.adb, sem_ch12.adb, sem_prag.adb: Update wording: change - Ada_2020 to Ada 2020 in comments and mention -gnat2020 instead - of -gnatX switch. - -2020-06-04 Arnaud Charlet - - * libgnat/i-c.ads (long_long, unsigned_long_long): New - definitions. - -2020-06-04 Arnaud Charlet - - * Makefile.rtl: add a-tasini object - * impunit.adb (Non_Imp_File_Names_95): Add s-tasini. - * libgnarl/a-tasini.ads, libgnarl/a-tasini.adb: New files. - * libgnarl/s-taskin.ads (Global_Initialization_Handler): New. - * libgnarl/s-tassta.adb (Task_Wrapper): Call - Global_Initialization_Handler if non null. - -2020-06-04 Ed Schonberg - - * sem_ch12.adb (Build_Suprogram_Body_Wrapper, - Build_Subprogram_Decl_Wrapper): New suprograms, to create the - wrappers needed to implement contracts on formsl subprograms at - the point of instantiation. - (Build_Subprogram_Wrappers): New subprogram within - Analyze_Associations, calls the above when the formal subprogram - has contracts, and expansion is enabled. - (Instantiate_Formal_Subprogram): If the actual is not an entity, - such as a function attribute, or a synchronized operation, - create a function with an internal name and call it within the - wrapper. - (Analyze_Generic_Formal_Part): Analyze contracts at the end of - the list of formal declarations. - * sem_prag.adb (Analyze_Pre_Post_Condtion): In Ada_2020 the - aspect and corresponding pragma can appear on a formal - subprogram declaration. - (Find_Related_Declaration_Or_Body): Ditto. - -2020-06-04 Eric Botcazou - - * exp_ch7.adb (Make_Final_Call): Set the type of the object, if - it is unanalyzed, before calling Convert_View on it. - -2020-06-04 Arnaud Charlet - - * adabkend.adb, back_end.ads, opt.ads, sem_ch6.adb: Get rid of - Disable_FE_Inline_Always. - -2020-06-04 Eric Botcazou - - * exp_ch7.adb (Make_Final_Call): Add missing guard. - * sem_ch3.adb (Copy_And_Build): Adjust recursive call for - private types. - (Build_Derived_Private_Type): Deal with underlying full views. - -2020-06-04 Bob Duff - - * 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, libgnat/s-putaim.adb, - libgnat/s-putaim.ads, libgnat/s-putima.adb, libgnat/s-putima.ads - (Ada.Strings.Text_Output and children, System.Put_Images): New - runtime support for Put_Image. - * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Add - exp_put_image.o. - * exp_put_image.adb, exp_put_image.ads: New compiler package - that generates calls to runtime routines that implement - Put_Image. - * Makefile.rtl: Add object files for Ada.Strings.Text_Output and - children and System.Put_Images. - * aspects.adb: Simplify initialization of Canonical_Aspect. - * aspects.ads: Improve documentation. Add Aspect_Put_Image. - * exp_attr.adb: Add support for Put_Image, by calling routines - in Exp_Put_Image. - * sem_util.adb (Is_Predefined_Dispatching_Operation): Return - True for new TSS_Put_Image operation. - * exp_ch3.adb: For tagged types, build a dispatching - TSS_Put_Image operation by calling routines in Exp_Put_Image. - * exp_disp.adb, exp_disp.ads: Make TSS_Put_Image be number 10, - adjusting other operations' numbers after 10. We choose 10 - because that's the last number shared by all runtimes. - * exp_strm.adb: Use named notation as appropriate. - * exp_cg.adb, exp_tss.ads: Add TSS_Put_Image. - * libgnat/a-tags.ads: Modify Max_Predef_Prims for the new - TSS_Put_Image. - * impunit.adb: Add new runtime packages. - * rtsfind.adb, rtsfind.ads: Add support for - Ada.Strings.Text_Output, Ada.Strings.Text_Output.Utils, and - System.Put_Images. - * sem_attr.adb: Error checking for Put_Image calls. - * sem_ch12.adb (Valid_Default_Attribute): Support for passing - Put_Image as a generic formal parameter. - * sem_ch13.adb: Analysis of Put_Image aspect. Turn it into a - Put_Image attribute definition clause. - * sem_ch8.adb (Analyze_Subprogram_Renaming): Support for - renaming of the Put_Image attribute. - * snames.adb-tmpl: Fix comments. - * snames.ads-tmpl (Name_Put_Image): New Name_Id. - (Attribute_Put_Image): New Attribute_Id. - * tbuild.adb, tbuild.ads (Make_Increment): New utility. - -2020-06-04 Eric Botcazou - - * exp_attr.adb (xpand_N_Attribute_Reference) : Call - Find_Inherited_TSS to look up the Stream_Read TSS. - : Likewise for the Stream_Write TSS. - * exp_ch7.adb (Make_Final_Call): Call Underlying_Type on - private types to account for underlying full views. - * exp_strm.ads (Build_Record_Or_Elementary_Input_Function): - Remove Use_Underlying parameter. - * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): - Likewise and adjust accordingly. - * exp_tss.adb (Find_Inherited_TSS): Deal with full views. - Call Find_Inherited_TSS recursively on the parent type if - the base type is a derived type. - * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Take - into account underlying full views for derived types. - * sem_ch3.adb (Copy_And_Build): Look up the underlying full - view only for a completion. Be prepared for private types. - (Build_Derived_Private_Type): Build an underlying full view - for a completion in the general case too. - -2020-06-04 Arnaud Charlet - - * back_end.adb, opt.ads, par-prag.adb, sem_ch5.adb, - sem_prag.adb, sinfo.adb, sinfo.ads, snames.ads-tmpl, - doc/gnat_rm/implementation_defined_pragmas.rst: Remove - experimental support for OpenACC. - * gcc-interface/misc.c, gcc-interface/trans.c, - gcc-interface/lang.opt: Ditto. - * gnat_rm.texi: Regenerate. - -2020-06-04 Eric Botcazou - - * checks.adb (Generate_Discriminant_Check): Remove obsolete - comment. - -2020-06-04 Gary Dismukes - - * par-ch3.adb (P_Identifier_Declarations): Add parsing of object - renamings that have neither a subtype_mark nor an - access_definition. Issue an error if the version is earlier than - Ada_2020, and suggest using -gnatX. - * sem_ch8.adb (Analyze_Object_Renaming): Handle - object_renaming_declarations that don't have an explicit - subtype. Errors are issued when the name is inappropriate or - ambiguous, and otherwise the Etype of the renaming entity is set - from the Etype of the renamed object. - * sem_util.adb (Has_Null_Exclusion): Allow for the case of no - subtype given in an N_Object_Renaming_Declaration. - * sprint.adb (Sprint_Node_Actual): Handle printing of - N_Object_Renaming_Declarations that are specified without an - explicit subtype. - -2020-06-04 Eric Botcazou - - * sinfo.ads (N_Delta_Aggregate): Document Etype field. - (N_Case_Expression): Likewise. - (Is_Syntactic_Field) : Adjust. - : Likewise. - -2020-06-04 Arnaud Charlet - - * adaint.c: Avoid redefining IS_DIR_SEPARATOR macro. - -2020-06-04 Arnaud Charlet - - * sem.adb (Walk_Library_Items): Defer processing of main spec - after all other specs and before processing bodies. - -2020-06-04 Arnaud Charlet - - * bindgen.adb (Gen_Adafinal): Adafinal is convention Ada, not C. - -2020-06-04 Ed Schonberg - - * sinput.adb (Sloc_Range): Ignore node in the tree if it appears - in a unit different from that of the node whose Sloc range we - are computing. This is necessary when computing the source range - of a subprogram body whose declaration includes a pre- or - postcondition, because declaration and body may appear in - different units, and the expanded code for the body includes - copies of the contract code. - -2020-06-04 Alexandre Oliva - - * switch.adb (Is_Internal_GCC_Switch): Recognize dumpdir and - dumpbase-ext. Mark auxbase and auxbase-strip for removal. - -2020-06-04 Eric Botcazou - - * sem_attr.adb (Resolve_Attribute) : Do not generate - the secondary message about a missing pragma if the convention - of the prefix is Intrinsic. - * sem_ch12.adb (Instantiate_Formal_Subprogram): Only set the - Convention and the Is_Inlined flag on a null procedure. - -2020-06-04 Justin Squirek - - * sem_ch6.adb (Check_Return_Obj_Accessibility): Change to - Check_Return_Construct_Accessibility to better reflect its - purpose. Add loop to properly obtain the object declaration - from an expanded extended return statement and add calls to get - the original node for associated values. Also, avoid checks when - the return statement being examined comes from an internally - generated function. - -2020-06-04 Dmitriy Anisimkov - - * adaint.c (__gnat_is_absolute_path): Check for directory - separator after drive and colon. - (IS_DIR_SEPARATOR): Define new inline substitution. - -2020-06-04 Eric Botcazou - - * checks.ads: Update documentation about range checks and fix - minor other things. - -2020-06-04 Eric Botcazou - - * sem_ch3.adb (Array_Type_Declaration): Apply special handling - of private index types to generic packages and restrict it to - index types defined in the current scope. - -2020-06-04 Arnaud Charlet - - * libgnat/a-exextr.adb (Global_Unhandled_Action): New global - variable. - (Notify_Exception): Take into account Global_Unhandled_Action - and fix latent race condition. - (Exception_Action): Mark Favor_Top_Level so that variables can - be atomic. - (Global_Action): Mark atomic to remove the need for a lock. - * libgnat/g-excact.ads, libgnat/g-excact.adb - (Register_Global_Unhandled_Action): New procedure. - (Register_Global_Action): Remove lock. - * libgnat/s-stalib.ads (Raise_Action): Mark Favor_Top_Level to - be compatible with Exception_Action. - * sem_warn.adb (Warn_On_Unreferenced_Entity): Fix logic wrt - Volatile entities and entities with an address clause: the code - did not match the comment/intent. - -2020-06-04 Arnaud Charlet - - * comperr.adb (Compiler_Abort): Update URL and bug report - instructions. - -2020-06-04 Steve Baird - - * libgnat/s-imgrea.ads: Declare a named number - Max_Real_Image_Length with value 5200. Provide a comment - explaining why this value was chosen. - * libgnat/s-imgrea.adb (Set_Image_Real): Increase the upper - bound of the local String variable Digs to - Max_Real_Image_Length. - * libgnat/a-tiflau.adb (Put): Increase the upper bound of the - local String variable Buf to Max_Real_Image_Length. - (Puts): Increase the upper bound of the local String variable - Buf to Max_Real_Image_Length. - -2020-06-04 Arnaud Charlet - - * libgnarl/a-dynpri.adb, libgnarl/a-taside.adb, - libgnarl/a-taster.adb, libgnarl/s-interr.adb, - libgnarl/s-interr__sigaction.adb, libgnarl/s-taasde.adb, - libgnarl/s-taenca.adb, libgnarl/s-taenca.ads, - libgnarl/s-taprop.ads, 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-tarest.adb, libgnarl/s-tasini.adb, - libgnarl/s-tasque.adb, libgnarl/s-tasque.ads, - libgnarl/s-tasren.adb, libgnarl/s-tasren.ads, - libgnarl/s-tassta.adb, libgnarl/s-tasuti.adb, - libgnarl/s-tasuti.ads, libgnarl/s-tpoben.adb, - libgnarl/s-tpobop.adb, libgnarl/s-tpopmo.adb, - libgnarl/s-tposen.adb, libgnat/s-parame.ads, - libgnat/s-parame__ae653.ads, libgnat/s-parame__hpux.ads, - libgnat/s-parame__vxworks.ads: Remove references to Single_Lock - and Global_Lock. - -2020-06-04 Arnaud Charlet - - * libgnat/s-atopar.adb, libgnat/s-atopex.adb: Use Object_Size - instead of Size, otherwise many derived types will be rejected - (e.g. a type with a 14 bits 'Size and a 16 bits 'Object_Size). - -2020-06-04 Eric Botcazou - - * sem_ch12.adb (Copy_Generic_Node): Add special handling for a - conversion between access types. - -2020-06-04 Eric Botcazou - - * sem_ch12.adb (Check_Generic_Actuals): Also restore the proper - views of the actuals of the parent instances if the formals are - used as actuals of the children. - (Instantiate_Type): Add comment. - -2020-06-04 Gary Dismukes - - * sem_ch12.adb: Minor editorial fixes. - -2020-06-03 Eric Botcazou - - * sem_ch12.adb (Denotes_Previous_Actual): Delete. - (Check_Generic_Actuals): Do not special case array types whose - component type denotes a previous actual. Do not special case - access types whose base type is private. - (Check_Private_View): Remove code dealing with secondary types. - Do not switch the views of an array because of its component. - (Copy_Generic_Node): Add special handling for a comparison - operator on array types. - (Instantiate_Type): Do not special case access types whose - designated type is private. - (Set_Global_Type): Do not special case array types whose - component type is private. - -2020-06-03 Justin Squirek - - * sem_ch10.adb (Process_Body_Clauses): Add loop to interate - through all prefixes in a use_type clause so that all packages - in the expanded name get examined for effectiveness. - -2020-06-03 Eric Botcazou - - * sem_ch12.adb (Check_Private_View): Clean up implementation of - second main case, when the generic sees the private declaration. - -2020-06-03 Arnaud Charlet - - * libgnat/a-nbnbin.ads: Minor reformatting. - * libgnat/a-nbnbre.ads, libgnat/a-nbnbre.adb (Is_Valid): Add - convention Intrinsic. Add detection of uninitialized big reals. - -2020-06-03 Arnaud Charlet - - * sem_util.ads, sem_util.adb (Side_Effect_Free_Statements, - Side_Effect_Free_Loop): New functions. - (Has_Non_Null_Statements): Consider N_Call_Marker as a null - statement. - * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Call - Set_Is_Null_Loop even inside a generic instantiation. - (Analyze_Loop_Statement): Mark for removal loops with no side - effects. - -2020-06-03 Eric Botcazou - - * opt.ads (Allow_Integer_Address): Fix typo in comment. - * stand.ads (Standard_Address): New entity. - * cstand.adb (Create_Standard): Create it. - * sem_ch4.adb (Operator_Check): Convert the operands of an - operation with addresses and integers to Standard_Address - if pragma Allow_Integer_Address is in effect. - -2020-06-03 Eric Botcazou - - * libgnat/s-atopar.adb (Atomic_Fetch_And_Add): Make use of an - equivalent static expression. - (Atomic_Fetch_And_Subtract): Likewise. - (Is_Lock_Free): Likewise. - * libgnat/s-atopex.adb (Atomic_Exchange): Likewise. - (Atomic_Compare_And_Exchange): Likewise. - (Is_Lock_Free): Likewise. - -2020-06-03 Vadim Godunko - - * libgnat/s-parame.ads, libgnat/s-parame__ae653.ads, - libgnat/s-parame__hpux.ads: Fix typos. - -2020-06-03 Eric Botcazou - - * exp_util.adb (Remove_Side_Effects): For a type conversion, do - not remove the side effects of the expression only if it is of - universal integer type. - -2020-06-03 Arnaud Charlet - - * libgnat/s-aotase.ads, libgnat/s-atoope.ads, - libgnat/s-atopar.ads, libgnat/s-atopex.ads: Update header. - -2020-06-03 Eric Botcazou - - * exp_ch4.adb (Expand_N_Unchecked_Type_Conversion): Also fold the - conversion for literals of enumeration types. - -2020-06-03 Yannick Moy - - * rtsfind.adb (Load_RTU): Correctly set/reset global variable to - ignore SPARK_Mode in instances around loading. - * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Accept Off - without prior On. - * sem_ch7.adb (Analyze_Package_Body_Helper): Likewise. - * sem_prag.adb (Analyze_Pragma): Always take into account - SPARK_Mode Off. - -2020-06-03 Arnaud Charlet - - * frontend.adb (Frontend): Call (dummy for now) tree checker. - * debug.adb: Reserve -gnatd_V for the tree checker. - * vast.ads, vast.adb: New files. - * gcc-interface/Make-lang.in: Add vast.o. - -2020-06-03 Justin Squirek - - * libgnat/a-cborse.adb, libgnat/a-cihase.adb, - libgnat/a-ciorse.adb, libgnat/a-coorse.adb: Modified to use - 'Unrestricted_Access in certain cases where static accessibility - errors were triggered. - * exp_ch6.adb (Expand_Simple_Return_Statement): Add generation - of dynamic accessibility checks as determined by - Is_Special_Aliased_Formal_Access. - * sem_attr.adb (Resolve_Attribute): Add call to - Is_Special_Aliased_Formal_Access to avoid performing static - checks where dynamic ones are required. - * sem_ch6.adb (Check_Return_Obj_Accessibility): Handle renamed - objects within component associations requiring special - accessibility checks. - * sem_util.adb, sem_util.ads (Is_Special_Aliased_Formal_Access): - Created to detect the special case where an aliased formal is - being compared against the level of an anonymous access return - object. - (Object_Access_Level): Remove incorrect condition leading to - overly permissive accessibility levels being returned on - explicitly aliased parameters. - -2020-06-03 Eric Botcazou - - * einfo.ads (Enum_Pos_To_Rep): Adjust description. - * exp_attr.adb (Expand_N_Attribute_Reference) : - Reimplement in the case of an enumeration type with non-standard - but contiguous representation. - : Likewise. - : Likewise. - * exp_ch3.adb (Expand_Freeze_Enumeration_Type): Count the - literals in the first loop. If the representation is - contiguous, just build the index type of the array type and set - Enum_Pos_To_Rep to it. - -2020-06-03 Gary Dismukes - - * exp_attr.adb (Expand_Loop_Entry_Attribute): Revise loop that - resets the scopes of entities associated with Loop_Id to the - scope of the new function, so the resetting is not restricted to - itypes, but excludes loop parameters and the function entity - itself. However, this fix is believed to be incomplete and a ??? - comment is added to indicate that. - -2020-06-03 Bob Duff - - * libgnat/s-regexp.ads: Fix comment - -2020-06-03 Eric Botcazou - - * exp_attr.adb (Expand_N_Attribute_Reference) : - In the case of an enumeration type, do an intermediate - conversion to a small integer type. Remove useless stuff. - : Do not hardcode Universal_Integer and - fix a type mismatch in the assignment to the variable. - : Likewise. - : Do not redefine the Ptyp local variable. - : Likewise. - : Likewise. - : Small tweaks. - : For an enumeration type with standard representation, - apply the range check to the expression of a convertion to - Universal_Integer, if any. For an integer type, expand to - a mere conversion. - -2020-06-03 Eric Botcazou - - * libgnat/s-rannum.adb (Random_Discrete): In the 32-bit case, - use the same linear implementation as in the 64-bit case when - the type has a contiguous representation. - -2020-06-03 Gary Dismukes - - * sem_util.adb (Build_Class_Wide_Clone_Decl): Call - Set_Debug_Info_Needed to set the Needs_Debug_Info flag on - Clone_Id if the flag is set on Spec_Id. - -2020-06-03 Yannick Moy - - * inline.adb (Expand_Inlined_Call): Do not suppress checks on - inlined code in GNATprove mode. - -2020-06-03 Eric Botcazou - - * einfo.ads (Has_Contiguous_Rep): Fix typo in comment. - -2020-06-03 Piotr Trojanek - - * checks.adb, einfo.adb, exp_aggr.adb, exp_ch4.adb, exp_ch6.adb, - exp_unst.adb, exp_util.adb, freeze.adb, inline.adb, repinfo.adb, - sem_aggr.adb, sem_attr.adb, sem_aux.adb, sem_ch13.adb, - sem_ch3.adb, sem_ch4.adb, sem_ch8.adb, sem_elab.adb, - sem_eval.adb, sem_prag.adb, sem_res.adb, sem_smem.adb, - sem_util.adb, treepr.adb: Replace uses of Next_ functions with - corresponding procedures. - -2020-06-03 Eric Botcazou - - * exp_attr.adb (Attribute_Valid): Use Standard_Long_Long_Integer - in lieu of Universal_Integer as large integer type. - * exp_ch3.adb (Expand_Freeze_Enumeration_Type): Likewise. - -2020-06-03 Arnaud Charlet - - * libgnat/s-auxdec.ads (Address_Int): New. - -2020-06-03 Arnaud Charlet - - * aspects.adb, aspects.ads, atree.adb, atree.ads, elists.adb, - elists.ads, fname.adb, fname.ads, gnat1drv.adb, lib.adb, - lib.ads, namet.adb, namet.ads, nlists.adb, nlists.ads, opt.adb, - opt.ads, osint-c.adb, osint-c.ads, repinfo.adb, repinfo.ads, - sem_aux.adb, sem_aux.ads, sinput.adb, sinput.ads, stand.ads, - stringt.adb, stringt.ads, switch-c.adb, table.adb, table.ads, - uintp.adb, uintp.ads, urealp.adb, urealp.ads (Tree_Read, - Tree_Write): Remove generation of ASIS trees. - * doc/gnat_ugn/building_executable_programs_with_gnat.rst: - Remove -gnatt and -gnatct documentation. - * gnat_ugn.texi: Regenerate. - * tree_in.ads, tree_in.adb, tree_io.ads, tree_io.adb, - tree_gen.ads, tree_gen.adb, stand.adb: Remove. - * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Remove - references to tree_gen.o tree_in.o tree_io.o. - -2020-06-03 Eric Botcazou - - * opt.ads (Disable_FE_Inline): Move around. - (Disable_FE_Inline_Always): Likewise. - -2020-06-03 Eric Botcazou - - * checks.adb (Is_Single_Attribute_Reference): New predicate. - (Generate_Range_Check): Do not force the evaluation if the - node is a single attribute reference. - * exp_util.adb (Side_Effect_Free_Attribute): New predicate. - (Side_Effect_Free) : Call it. - (Remove_Side_Effects): Remove the side effects of the prefix - for an attribute reference whose prefix is not a name. - -2020-06-03 Arnaud Charlet - - * switch-c.adb (Scan_Front_End_Switches): Remove processing of - -gnatt. - * usage.adb (Usage): Remove mention of -gnatt. - -2020-06-03 Eric Botcazou - - * sinfo.ads: Minor tweaks in commentary. - -2020-06-02 Alexandre Oliva - - * lib.ads (Compilation_Switches): Remove -auxbase from - comments. - * switch.ads (Is_Internal_GCC_Switch): Likewise. - -2020-06-02 Arnaud Charlet - - * atree.ads, checks.adb, contracts.adb, debug.adb, einfo.ads, - exp_ch3.adb, exp_util.adb, expander.ads, expander.adb, - frontend.adb, gnat1drv.adb, itypes.adb, lib.ads, namet.ads, - opt.adb, opt.ads, par-prag.adb, repinfo.ads, sem_aggr.adb, - sem_aux.ads, sem_case.ads, sem_ch10.adb, sem_ch12.adb, - sem_ch13.adb, sem_ch3.adb, sem_ch4.adb, sem_ch6.adb, - sem_dim.adb, sem_elab.adb, sem_prag.adb, sem_prag.ads, - sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, stand.ads, - tree_io.ads: Remove references to ASIS_Mode. - -2020-06-02 Javier Miranda - - * exp_ch4.adb (Generate_Temporary): New subprogram of - Discrete_Range_Check that generates a temporary to facilitate - the C backend the code generation of the unchecked conversion - since the size of the source type may differ from the size of - the target type. - -2020-06-02 Arnaud Charlet - - * ada_get_targ.adb: Bump copyright year. - * 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_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. - * 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. - * 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. - * 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-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-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-excpol.adb: Likewise. - * libgnat/a-excpol__abort.adb: 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-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-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-numaux__darwin.adb: Likewise. - * libgnat/a-numaux__darwin.ads: Likewise. - * libgnat/a-numaux__libc-x86.ads: Likewise. - * libgnat/a-numaux__vxworks.ads: Likewise. - * libgnat/a-numaux__x86.adb: Likewise. - * libgnat/a-numaux__x86.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-storio.adb: 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-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-ststio.adb: Likewise. - * libgnat/a-ststio.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-tienau.adb: Likewise. - * libgnat/a-tienau.ads: Likewise. - * libgnat/a-tienio.adb: Likewise. - * libgnat/a-tifiio.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-timoau.adb: Likewise. - * libgnat/a-timoau.ads: Likewise. - * libgnat/a-timoio.adb: Likewise. - * libgnat/a-timoio.ads: 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-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-wtfiio.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-wtmoau.adb: Likewise. - * libgnat/a-wtmoau.ads: Likewise. - * libgnat/a-wtmoio.adb: Likewise. - * libgnat/a-wtmoio.ads: 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-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-ztfiio.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-ztmoau.adb: Likewise. - * libgnat/a-ztmoau.ads: Likewise. - * libgnat/a-ztmoio.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-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-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-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-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/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-aotase.adb: Likewise. - * libgnat/s-aotase.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-atopar.adb: Likewise. - * libgnat/s-atopar.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-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-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-expint.adb: Likewise. - * libgnat/s-expint.ads: Likewise. - * libgnat/s-explli.adb: Likewise. - * libgnat/s-explli.ads: Likewise. - * libgnat/s-expllu.adb: Likewise. - * libgnat/s-expllu.ads: Likewise. - * libgnat/s-expmod.adb: Likewise. - * libgnat/s-expmod.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-fatsfl.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-fore.adb: Likewise. - * libgnat/s-fore.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-imenne.adb: Likewise. - * libgnat/s-imenne.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-imgdec.adb: Likewise. - * libgnat/s-imgdec.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-imglld.adb: Likewise. - * libgnat/s-imglld.ads: Likewise. - * libgnat/s-imglli.adb: Likewise. - * libgnat/s-imglli.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-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-pack11.adb: Likewise. - * libgnat/s-pack11.ads: Likewise. - * libgnat/s-pack12.adb: Likewise. - * libgnat/s-pack12.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-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-powtab.ads: Likewise. - * libgnat/s-purexc.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-secsta.adb: Likewise. - * libgnat/s-secsta.ads: Likewise. - * libgnat/s-sequio.adb: Likewise. - * libgnat/s-sequio.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-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-stratt__xdr.adb: 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-valboo.adb: Likewise. - * libgnat/s-valboo.ads: Likewise. - * libgnat/s-valcha.adb: Likewise. - * libgnat/s-valcha.ads: Likewise. - * libgnat/s-valdec.adb: Likewise. - * libgnat/s-valdec.ads: Likewise. - * libgnat/s-valenu.adb: Likewise. - * libgnat/s-valenu.ads: Likewise. - * libgnat/s-valint.adb: Likewise. - * libgnat/s-valint.ads: Likewise. - * libgnat/s-vallld.adb: Likewise. - * libgnat/s-vallld.ads: Likewise. - * libgnat/s-vallli.adb: Likewise. - * libgnat/s-vallli.ads: Likewise. - * libgnat/s-valllu.adb: Likewise. - * libgnat/s-valllu.ads: Likewise. - * libgnat/s-valrea.adb: Likewise. - * libgnat/s-valrea.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-widlli.adb: Likewise. - * libgnat/s-widlli.ads: Likewise. - * libgnat/s-widllu.adb: Likewise. - * libgnat/s-widllu.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. - * libgnat/system.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. - * socket.c: Likewise. - * spark_xrefs.adb: Likewise. - * spark_xrefs.ads: Likewise. - * sprint.adb: Likewise. - * sprint.ads: Likewise. - * stand.adb: 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. - * symbols.adb: Likewise. - * symbols.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. - * tree_gen.adb: Likewise. - * tree_gen.ads: Likewise. - * tree_in.adb: Likewise. - * tree_in.ads: Likewise. - * tree_io.adb: Likewise. - * tree_io.ads: 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. - * 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. - -2020-06-02 Javier Miranda - - * sem_ch3.adb (Analyze_Object_Declaration): Set attribute - Expansion_Delayed on aggregates that initialize an object that - has aspect alignment or address clause. Done to allow ther - initialization by means of multiple assignments. - * exp_ch3.adb (Expand_N_Object_Declaration): Resolve delayed - aggregates. This patch complements the patch applied to - sem_ch3.adb - -2020-06-02 Javier Miranda - - * sem_util.adb (Ensure_Minimum_Decoration): New subprogram that - ensures the minimum decoration required by - Requires_Transient_Scope() to provide its functionality when the - entity is not frozen. - -2020-06-02 Eric Botcazou - - * exp_ch4.adb (Expand_N_Op_Divide): Remove code dealing with - the Treat_Fixed_As_Integer flag. - (Expand_N_Op_Multiply): Likewise. - * exp_fixd.adb (Build_Divide): Do the division in an integer - type long enough to hold both operands and convert the result - to the type of the LHS. Do not set Treat_Fixed_As_Integer. - (Build_Multiply): Do not set Treat_Fixed_As_Integer. - (Build_Rem): Likewise. - * sem_ch4.adb (Analyze_Arithmetic_Op): Remove code dealing with - the Treat_Fixed_As_Integer flag. - (Check_Arithmetic_Pair): Likewise. - * sinfo.ads (Treat_Fixed_As_Integer): Delete. - (N_Has_Treat_Fixed_As_Integer): Likewise. - (Set_Treat_Fixed_As_Integer): Likewise. - * sinfo.adb (Treat_Fixed_As_Integer): Likewise. - (Set_Treat_Fixed_As_Integer): Likewise. - * sprint.ads (Syntax Extensions): Remove '#' special character. - * sprint.adb (Process_TFAI_RR_Flags): Delete. - (Sprint_Node_Actual) : Print '@' manually. - : Likewise. - : Do not print '#'. - : Likewise. - -2020-06-02 Eric Botcazou - - * exp_aggr.adb (Others_Check): In the positional case, use the - general expression for the comparison only when needed. - * exp_attr.adb (Expand_Fpt_Attribute;): Use a simple conversion - to the target type instead of an unchecked conversion to the - base type to do the range check, as in the other cases. - (Expand_N_Attribute_Reference) : Do the - Max operation in the type of the storage size variable, and use - Convert_To as in the other cases. - * tbuild.adb (Convert_To): Do not get rid of an intermediate - conversion to Universal_Integer here... - * sem_res.adb (Simplify_Type_Conversion): ...but here instead. - -2020-06-02 Bob Duff - - * doc/gnat_ugn/gnat_utility_programs.rst: Update documentation - for --RM-style-spacing. - -2020-06-02 Bob Duff - - * doc/gnat_ugn/gnat_utility_programs.rst: Add documentation for - --[no-]compact switch. - -2020-06-02 Eric Botcazou - - * exp_aggr.adb (Build_Array_Aggr_Code): Set the type of the PAT - on the zero used to clear the array. - * exp_attr.adb (Expand_N_Attribute_Reference) - : In the CW case, directly convert from the - alignment's type to the target type if the parent is an - unchecked conversion. - * sem_res.adb (Set_String_Literal_Subtype): In the dynamic case, - use the general expression for the upper bound only when needed. - Set the base type of the index as the type of the low bound. - (Simplify_Type_Conversion): Do an intermediate conversion to the - root type of the target type if the operand is an integer - literal. - * tbuild.adb (Convert_To): Get rid of an intermediate conversion - to Universal_Integer if the inner expression has integer tyoe. - * libgnat/a-sequio.adb (Byte_Swap): Make use of an equivalent - static expression in the case statement. - -2020-06-02 Thomas Quinot - - * par_sco.adb (Traverse_Degenerate_Subprogram): Set statement - code to 'X'. - * scos.ads: Update comment documenting SCO data. - -2020-06-02 Gary Dismukes - - * exp_unst.adb (Register_Subprogram): Test for Address_Taken (in - addition to the existing test for In_Synchonized_Unit) when - deciding whether to reset the Reachable flag on all subprograms - enclosing the subprogram being registered. - -2020-06-02 Justin Squirek - - * sem_ch6.adb (Check_Return_Obj_Accessibility): Avoid use of - parent node pointers so we are not relying on expansion done in - GNATprove mode. - -2020-06-02 Eric Botcazou - - * exp_attr.adb (Expand_N_Attribute_Reference) - : Adjust comment and compare against proper - type. - -2020-06-02 Gary Dismukes - - * exp_unst.adb (Visit_Node): When visiting array attribute - nodes, apply Get_Referenced_Object to the attribute prefix, to - handle prefixes denoting renamed objects by picking up the Etype - of the renamed object rather than the possibly unconstrained - nominal subtype of the renaming declaration's Entity. - * sem_util.ads (Get_Referenced_Object): Update comment to - clearly indicate that any kind of node can be passed to this - function. - * sem_util.adb (Get_Referenced_Object): Add test of Is_Object to - the condition, to allow for passing names that denote types and - subtypes. - -2020-06-02 Bob Duff - - * snames.ads-tmpl: Add comments explaining that enumeration - types have to be kept in synch with subtypes of Name_Id. - -2020-06-02 Piotr Trojanek - - * sem_util.adb (Check_No_Hidden_State): Remove dead code. - -2020-06-02 Eric Botcazou - - * exp_pakd.adb (Expand_Packed_Bit_Reference): Change type of - reference from Universal_Integer to Standard_Natural. - -2020-06-02 Piotr Trojanek - - * sem_prag.adb (Collect_States_And_Objects): Call itself on - declaration of nested packages; append abstract states - one-by-one, so that in recursive call we do not overwrite the - ones that have been already collected. - -2020-06-02 Eric Botcazou - - * exp_atag.ads (Build_Inherit_Predefined_Prims): Change type - of Num_Predef_Prim parameter from Int to Nat. - * exp_atag.adb (Build_Range): New procedure. - (Build_Val): Likewise. - (Build_CW_Membership): Call Build_Val. - (Build_Get_Predefined_Prim_Op_Address): Likewise. - (Build_Inherit_CPP_Prims): Likewise. - (Build_Get_Prim_Op_Address): Likewise. - (Build_Set_Predefined_Prim_Op_Address): Likewise. - (Build_Inherit_Prims): Call Build_Range. - (Build_Inherit_Predefined_Prims): Likewise. Change type of - Num_Predef_Prim parameter from Int to Nat. - -2020-06-02 Gary Dismukes - - * sem_ch3.adb: Two typo fixes. - -2020-06-02 Eric Botcazou - - * sem_ch3.adb (Replace_Discriminants): Preserve the Etype of the - Name of N_Variant_Part nodes when rewriting it. - -2020-06-02 Eric Botcazou - - * sem_ch3.adb (Signed_Integer_Type_Declaration): Change the type - of the bounds from Universal_Integer to Implicit_Base. - -2020-06-02 Arnaud Charlet - - * bcheck.adb, binde.adb, bindo-diagnostics.adb, checks.adb, - exp_aggr.adb, exp_ch3.adb, exp_ch4.adb, exp_ch7.adb, - exp_ch9.adb, gnatname.adb, sem_case.adb, sem_ch13.adb, - sem_ch5.adb, sem_prag.adb, sem_util.adb, uintp.adb, urealp.adb, - xoscons.adb, xr_tabls.adb, xref_lib.adb: Initialize objects more - explicitly and add corresponding assertions. Remove dead code. - Also add a few Annotate pragmas to help static analysis. - * libgnat/a-caldel.adb, libgnat/a-calend.adb, - libgnat/a-ngcoty.adb, libgnat/a-ngelfu.adb, - libgnat/a-ngrear.adb, libgnat/a-strfix.adb, - libgnat/g-calend.adb, libgnat/g-catiio.adb, - libgnat/g-comlin.adb, libgnat/g-debpoo.adb, - libgnat/g-dirope.adb, libgnat/g-hesorg.adb, - libgnat/g-pehage.adb, libgnat/g-socket.adb, libgnat/i-cobol.adb, - libgnat/s-dwalin.adb, libgnat/s-dwalin.ads, - libgnat/s-fatgen.adb, libgnat/s-gearop.adb, - libgnat/s-genbig.adb, libgnat/s-imgrea.adb, - libgnat/s-os_lib.adb, libgnat/s-rannum.adb, - libgnat/s-regpat.adb, libgnat/s-trasym__dwarf.adb, - libgnat/s-valrea.adb: Ditto. - -2020-06-02 Eric Botcazou - - * sem_ch3.adb (Replace_Components): Rename into... - (Replace_Discriminants): ...this. Replace girder discriminants - with non-girder ones. Do not replace components. - * sem_ch13.adb (Check_Record_Representation_Clause): Deal with - non-girder discriminants correctly. - -2020-06-02 Piotr Trojanek - - * lib-xref-spark_specific.adb (Create_Heap): use a new variant - of Name_Enter to directly converts String to Make_Id. - -2020-06-02 Gary Dismukes - - * exp_attr.adb, par-ch4.adb, par-util.adb, scans.ads, scng.adb, - sem_attr.adb, sem_ch4.adb, sinfo.ads: Typo corrections and minor - reformatting. - -2020-06-02 Arnaud Charlet - - * snames.ads-tmpl (Name_Img, Attribute_Img): Make it an - attribute returning renamable functions. - -2020-06-02 Yannick Moy - - * sem_prag.adb, sem_prag.ads (Set_Overflow_Mode): New procedure - to set overflow mode. - -2020-06-02 Piotr Trojanek - - * contracts.adb, einfo.adb, exp_ch9.adb, sem_ch12.adb, - sem_ch4.adb, sem_ch7.adb, sem_ch8.adb, sem_elab.adb, - sem_type.adb, sem_util.adb: Reuse Is_Package_Or_Generic_Package - where possible (similarly, reuse Is_Concurrent_Type if it was - possible in the same expressions). - -2020-05-30 Arnaud Charlet - - * Makefile.rtl (ADA_INCLUDE_SRCS): Replace Makefile.adalib by - libada.gpr and associated project files. - (g-debpoo.o): Add missing rule to ensure subprograms are not reordered. - (setup-rts): Add generation of libgnat/libgnarl.lst. - (LIBGNAT_SRCS): Remove thread.c which is part of libgnarl. - * tracebak.c, tb-gcc.c: Merged the two files to simplify dependencies. - * libgnarl/libgnarl.gpr, libgnat/libada.gpr, - libgnat/libgnat.gpr, libgnat/libgnat_common.gpr: New files. - * doc/gnat_ugn/the_gnat_compilation_model.rst: Makefile.adalib - replaced by libada.gpr. - * libgnat/system-mingw.ads: Remove obsolete comment. - * gcc-interface/Makefile.in: Remove dependency on tb-gcc.c. - -2020-05-27 Martin Liska - - * gnatvsn.ads: Bump Library_Version to 11. - -2020-05-26 Eric Botcazou - - PR ada/95333 - * gcc-interface/decl.c (gnat_to_gnu_param): Never make a variant of - the type. - -2020-05-26 Alexandre Oliva - - * gcc-interface/lang-specs.h (ADA_DUMPS_OPTIONS): Define in - terms of DUMPS_OPTIONS. Replace occurrences of %{d*} %:dumps - with it. - -2020-05-26 Alexandre Oliva - - * gcc-interface/lang-specs.h: Drop auxbase and auxbase-strip. - Use %:dumps instead of -dumpbase. Add %w for implicit .s - primary output. - * switch.adb (Is_Internal_GCC_Switch): Recognize dumpdir and - dumpbase-ext. Drop auxbase and auxbase-strip. - -2020-05-25 Yannick Moy - - * sem_util.adb (Check_No_Hidden_State): Stop propagation at - first block/task/entry. - -2020-05-25 Yannick Moy - - * doc/gnat_rm/implementation_defined_pragmas.rst: Document - changes to pragmas Compile_Time_Error/Compile_Time_Warning. - * gnat_rm.texi: Regenerate. - * libgnat/g-bytswa.adb: Change uses of Compile_Time_Error to - Compile_Time_Warning, as the actual expression may not always be - known statically. - * sem_prag.adb (Analyze_Pragma): Handle differently pragma - Compile_Time_Error in both compilation and in GNATprove mode. - (Validate_Compile_Time_Warning_Or_Error): Issue an error or - warning when the expression is not known at compile time. - * usage.adb: Add missing documentation for warning switches _c - and _r. - * warnsw.ads: Update comment. - -2020-05-25 Justin Squirek - - * sem_ch6.adb (Check_Return_Obj_Accessibility): Use original - node to avoid looking at expansion done in GNATprove mode. - -2020-05-25 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_entity): Add new local variable - and use it throughout the function. - : Rename local variable and adjust accordingly. In the - case of a renaming, materialize the entity if the renamed object is - an N_Expression_With_Actions node. - : Use Alias accessor function consistently. - -2020-05-25 Eric Botcazou - - * gcc-interface/misc.c (get_array_bit_stride): Get to the debug type, - if any, before calling gnat_get_array_descr_info. - -2020-05-25 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_entity) : Tidy up. - (build_variant_list): Add GNAT_VARIANT_PART parameter and annotate its - variants if it is present. Adjust the recursive call by passing the - variant subpart of variants, if any. - (copy_and_substitute_in_layout): Rename GNU_SUBST_LIST to SUBST_LIST - and adjust throughout. For a type, pass the variant part in the - call to build_variant_list. - -2020-05-25 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_component_type): Cap the alignment - of the component type according to the component size. - -2020-05-25 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_entity) : Add a - description of the various types associated with the unconstrained - type. Declare the fat pointer earlier. Set the current function - as context on the template type, and the fat pointer type on the - array type. Always mark the fat pointer type as artificial and set - it as the context for the pointer type to the array. Also reuse - GNU_ENTITY_NAME. Finish up the unconstrained type at the very end. - * gcc-interface/misc.c (gnat_get_array_descr_info): Do not handle - fat pointer types and tidy up accordingly. - * gcc-interface/utils.c (build_unc_object_type): Do not set the - context on the template type. - (gnat_pushdecl): Mark the canonical fat pointer types as artificial. - -2020-05-25 Eric Botcazou - - * gcc-interface/gigi.h (operand_type): New static inline function. - * gcc-interface/trans.c (gnat_to_gnu): Do not suppress conversion - to the resulty type at the end for array types. - * gcc-interface/utils2.c (build_binary_op) : Do not - remove conversions between array types on the LHS. - -2020-05-12 Eric Botcazou - - * sem_aggr.ads (Is_Single_Aggregate): New function. - * sem_aggr.adb (Is_Others_Aggregate): Use local variable. - (Is_Single_Aggregate): New function to recognize an aggregate with - a single association containing a single choice. - * fe.h (Is_Others_Aggregate): Delete. - (Is_Single_Aggregate): New declaration. - * gcc-interface/trans.c (gnat_to_gnu) : Call - Is_Single_Aggregate instead of Is_Others_Aggregate. - -2020-05-12 Eric Botcazou - - PR ada/95035 - * gcc-interface/utils.c (packable_type_hasher::equal): Also compare - the scalar storage order. - (hash_packable_type): Also hash the scalar storage order. - (hash_pad_type): Likewise. - -2020-05-09 Eric Botcazou - - * gcc-interface/*.[ch]: Update copyright year. - -2020-05-09 Eric Botcazou - - * gcc-interface/trans.c (Attribute_to_gnu) : Assert that - the prefix is not a type. - -2020-05-09 Eric Botcazou - - * gcc-interface/ada-tree.h (TYPE_PACKED_ARRAY_TYPE_P): Rename into... - (TYPE_BIT_PACKED_ARRAY_TYPE_P): ...this. - (TYPE_IS_PACKED_ARRAY_TYPE_P): Rename into... - (BIT_PACKED_ARRAY_TYPE_P): ...this. - (TYPE_IMPL_PACKED_ARRAY_P): Adjust to above renaming. - * gcc-interface/gigi.h (maybe_pad_type): Remove IS_USER_TYPE parameter. - * gcc-interface/decl.c (gnat_to_gnu_entity) : Adjust call - to maybe_pad_type. - : Remove const qualifiers for tree. - : Remove redundant test and redundant call - to associate_original_type_to_packed_array. Turn test into assertion. - Call associate_original_type_to_packed_array and modify gnu_entity_name - accordingly. Explicitly set the parallel type for GNAT encodings. - Call create_type_decl in the misaligned case before maybe_pad_type. - : Do not use the name of the implementation type for a - packed array when not using GNAT encodings. - : Move around setting flags. Use the result of the - call to associate_original_type_to_packed_array for gnu_entity_name. - : Create XVS type and XVZ variable only if debug - info is requested for the type. - Call create_type_decl if a padded type was created for a type entity. - (gnat_to_gnu_component_type): Use local variable and adjust calls to - maybe_pad_type. - (gnat_to_gnu_subprog_type): Adjust call to maybe_pad_type. - (gnat_to_gnu_field): Likewise. - (validate_size): Adjust to renaming of macro. - (set_rm_size): Likewise. - (associate_original_type_to_packed_array): Adjust return type and - return the name of the original type if GNAT encodings are not used. - * gcc-interface/misc.c (gnat_get_debug_typ): Remove obsolete stuff. - (gnat_get_fixed_point_type_info): Remove const qualifiers for tree. - (gnat_get_array_descr_info): Likewise and set variables lazily. - Remove call to maybe_debug_type. Simplify a few computations. - (enumerate_modes): Remove const qualifier for tree. - * gcc-interface/utils.c (make_type_from_size): Adjust to renaming. - (maybe_pad_type): Remove IS_USER_TYPE parameter and adjust. Remove - specific code for implementation types for packed arrays. - (compute_deferred_decl_context): Remove const qualifier for tree. - (convert): Adjust call to maybe_pad_type. - (unchecked_convert): Likewise. - * gcc-interface/utils2.c (is_simple_additive_expressio): Likewise. - -2020-05-09 Eric Botcazou - - * gcc-interface/utils2.c (build_binary_op) : Use - build_nonshared_array_type to build the common type and declare it. - -2020-05-09 Eric Botcazou - - * gcc-interface/misc.c (gnat_init_gcc_eh): Do not override the user - for -fnon-call-exceptions in default mode. - -2020-05-09 Eric Botcazou - - * gcc-interface/trans.c (lvalue_required_p) : - Merge with N_Slice. - : Move to... - (lvalue_for_aggregate_p): ...here. New function. - (Identifier_to_gnu): For an identifier with aggregate type, also - call lvalue_for_aggregate_p if lvalue_required_p returned false - before substituting the identifier with the constant. - -2020-05-09 Eric Botcazou - - * gcc-interface/trans.c (gnat_to_gnu): Do not wrap boolean values if - they appear in any kind of attribute references. - -2020-05-09 Eric Botcazou - - * gcc-interface/trans.c (gnat_to_gnu) : Deal - with qualified "others" aggregates in the memset case. - -2020-05-09 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_param): Also back-annotate the - mechanism in the case of an Out parameter only passed by copy-out. - -2020-05-09 Eric Botcazou - - * gcc-interface/gigi.h (change_qualified_type): Move around. - (maybe_vector_array): Likewise. - (maybe_padded_object): New static line function. - * gcc-interface/trans.c (Attribute_to_gnu) : - Remove useless code. - : Remove obsolete code. - (Call_to_gn): Likewise. Use maybe_padded_object to remove padding. - (gnat_to_gnu): Likewise. - : Do not add a useless null character at the end. - : Likewise and remove obsolete code. - (add_decl_expr): Likewise. - (maybe_implicit_deref): Likewise. - * gcc-interface/utils.c (maybe_unconstrained_array): Likewise. - * gcc-interface/utils2.c (gnat_invariant_expr): Likewise. - -2020-05-09 Eric Botcazou - - * gcc-interface/utils2.c: Include builtins.h. - (known_alignment) : Use DECL_ALIGN for DECL_P operands - and get_object_alignment for the rest. - -2020-05-08 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_entity) : Force at - least the unit size for an aliased object of a constrained nominal - subtype whose size is variable. - -2020-05-08 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_entity) : Deal - with artificial maximally-sized types designed by access types. - * gcc-interface/utils.c (packable_type_hash): New structure. - (packable_type_hasher): Likewise. - (packable_type_hash_table): New hash table. - (init_gnat_utils): Initialize it. - (destroy_gnat_utils): Destroy it. - (packable_type_hasher::equal): New method. - (hash_packable_type): New static function. - (canonicalize_packable_type): Likewise. - (make_packable_type): Make sure not to use too small a type for the - size of the new fields. Canonicalize the type if it is named. - -2020-05-08 Eric Botcazou - - * gcc-interface/trans.c (Raise_Error_to_gnu): Always compute a lower - bound and an upper bound for use by the -gnateE switch for range and - comparison operators. - -2020-05-08 Eric Botcazou - - * gcc-interface/decl.c (gnat_to_gnu_param): Do not make a variant of - the type in LTO mode. - -2020-05-04 Mikael Pettersson - - PR bootstrap/94918 - * mingw32.h: Prevent windows.h from including emmintrin.h on Cygwin64. - * s-oscons-tmplt.c (Serial_Port_Descriptor): Use System.Win32.HANDLE - also on Cygwin. - -2020-03-11 Richard Wai - - * gcc-interface/decl.c (gnat_to_gnu_entity): Also test Is_Public on - the Alias of the entitiy, if it is present, in the main assertion. - -2020-02-06 Alexandre Oliva - - * raise-gcc.c (personality_body) [__ARM_EABI_UNWINDER__]: - Initialize barrier_cache.sp when ending phase1. - -2020-01-04 Eric Botcazou - - * gnatvsn.ads: Bump copyright year. - -2020-01-01 Jakub Jelinek - - Update copyright years. - - * gnat_ugn.texi: Bump @copying's copyright year. - * gnat_rm.texi: Likewise. -Copyright (C) 2020 Free Software Foundation, Inc. +Copyright (C) 2021 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 593627cb334..21e8799b653 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,6595 +1,5 @@ -2020-12-24 Iain Sandoe - - * g++spec.c (LIBCXX, LIBCXX_PROFILE, LIBCXX_STATIC): New. - (LIBCXXABI, LIBCXXABI_PROFILE, LIBCXXABI_STATIC): New. - (enum stdcxxlib_kind): New. - (lang_specific_driver): Allow selection amongst multiple - c++ runtime libraries. - -2020-12-23 Nathan Sidwell - - PR c++/96045 - * parser.c (cp_lexer_new_main): Adjust EOF token location. - -2020-12-23 Jason Merrill - - PR c++/97597 - * class.c (is_empty_base_ref): New. - (build_base_path): Add NOP_EXPR after offset. - * cp-tree.h (is_empty_base_ref): Declare it. - * call.c (unsafe_return_slot_p): Call it. - -2020-12-23 Jakub Jelinek - - PR c++/98353 - * init.c (build_zero_init_1): Use build_zero_cst for SCALAR_TYPE_P - zero initializers. - -2020-12-23 Jason Merrill - - PR c++/98332 - * constexpr.c (unshare_constructor): Check for NULL. - (cxx_eval_vec_init_1): Always exit early if non-constant. - -2020-12-22 Nathan Sidwell - - * module.cc (has_definition): Check DECL_LANG_SPECIFIC. - -2020-12-22 Jakub Jelinek - - PR c++/93480 - * method.c (common_comparison_type): If comps[i] is a TREE_LIST, - use its TREE_VALUE instead. - (build_comparison_op): Handle array members. - -2020-12-22 Gerald Pfeifer - - * module.cc (INCLUDE_STRING): Define. - (INCLUDE_VECTOR): Ditto. - -2020-12-22 Jason Merrill - - * mangle.c (write_member_name): Add assert. - (write_expression): Add asserts. - -2020-12-21 Nathan Sidwell - - * module.cc (create_dirs): Add logging. - (finish_module_processing): Unlink before rename. - -2020-12-21 Nathan Sidwell - - PR bootstrap/98412 - * mapper-client.cc: INCLUDE_STRING, INCLUDE_VECTOR. - (module_client::open_module_client): Avoid std::stoul. - * mapper-resolver.cc: INCLUDE_STRING, INCLUDE_VECTOR. - -2020-12-18 Kwok Cheung Yeung - - * cp-lang.c (cxx_get_decl_init): New. - (cxx_omp_finish_decl_inits): New. - (LANG_HOOKS_GET_DECL_INIT): New. - (LANG_HOOKS_OMP_FINISH_DECL_INITS): New. - * cp-tree.h (dynamic_initializers): New. - * decl.c (dynamic_initializers): New. - * decl2.c (c_parse_final_cleanups): Add initializer entries - from vars to dynamic_initializers. - -2020-12-18 Nathan Sidwell - - * module.cc (O_CLOEXEC, O_BINARY): Add window's support. - (elf_in::defrost, module_state::do_import) - (finish_module_processing): Use O_BINARY. - -2020-12-18 Jakub Jelinek - - PR c++/98343 - * cp-gimplify.c (source_location_table_entry_hash::pch_nx): Override - static member functions from ggc_remove. - -2020-12-18 Patrick Palka - - * constraint.cc (satisfying_constraint): Move up definition - and give it bool type. - (failed_type_completion_count): Replace with ... - (failed_type_completions): ... this. - (note_failed_type_completion_for_satisfaction): Append the - supplied argument to failed_type_completions. - (some_type_complete_p): Define. - (sat_entry::maybe_unstable): Replace with ... - (sat_entry::ftc_begin, sat_entry::ftc_end): ... these. - (satisfaction_cache::ftc_count): Replace with ... - (satisfaction_cache::ftc_begin): ... this. - (satisfaction_cache::satisfaction_cache): Adjust accordingly. - (satisfaction_cache::get): Adjust accordingly, using - some_type_complete_p. - (satisfaction_cache::save): Adjust accordingly. - (satisfying_constraint_p): Remove unused function. - (satisfy_constraint): Set satisfying_constraint. - (satisfy_declaration_constraints): Likewise. - * decl.c (require_deduced_type): Call - note_failed_type_completion_for_satisfaction. - -2020-12-18 Patrick Palka - - * constraint.cc (sat_entry::evaluating): New member. - (satisfaction_cache::get): If entry->evaluating, diagnose - self-recursive satisfaction. Otherwise, set entry->evaluating - if we're not reusing a cached satisfaction result. - (satisfaction_cache::save): Clear entry->evaluating. - (satisfy_atom): Set up diagnosing_failed_constraint before the - first call to get(). - -2020-12-18 Patrick Palka - - * constraint.cc (failed_type_completion_count): New. - (note_failed_type_completion_for_satisfaction): New. - (sat_entry::constr): Rename to ... - (sat_entry::atom): ... this. - (sat_entry::location): New member. - (sat_entry::maybe_unstable): New member. - (sat_entry::diagnose_instability): New member. - (struct sat_hasher): Adjust after the above renaming. - (get_satisfaction, save_satisfaction): Remove. - (satisfaction_cache): Rewrite completely. - (satisfy_atom): When instantiation of the parameter mapping - fails, set diagnose_instability. Propagate location from - inst_cache.entry to cache.entry if the secondary lookup - succeeded. - (satisfy_declaration_constraints): When - failed_type_completion_count differs before and after - satisfaction, then don't cache the satisfaction result. - * cp-tree.h (note_failed_type_completion_for_satisfaction): - Declare. - * pt.c (tsubst) : Use - complete_type_or_maybe_complain instead of open-coding it. - * typeck.c (complete_type_or_maybe_complain): Call - note_failed_type_completion_for_satisfaction when type - completion fails. - -2020-12-17 Nathan Sidwell - - PR c++/98340 - * module.cc (uintset::hash::add): Use uintset (0u).MEMBER, - rather than uintset::MEMBER. - -2020-12-17 Nathan Sidwell - - PR bootstrap/98300 - * module.cc: Fix ::read, ::write result signedness comparisons. - -2020-12-16 Nathan Sidwell - - * mapper-resolver.cc: Remove early include of - sys/socket.h. Specify no CODY_NETWORKING instead. - * module.cc: Specify no CODY_NETWORKING. - -2020-12-16 Nathan Sidwell - - * parser.c (cp_parser_elaborated_type_specifier): Test - BOUND_TEMPLATE_TEMPLATE_PARM before checking for instantiation. - -2020-12-16 Nathan Sidwell - - * module.cc (dumper::push): Clangify offsetof use. - -2020-12-16 Nathan Sidwell - - * mapper-resolver.cc: #include sys/socket before system.h - due to poisoned bcopy use. - -2020-12-16 Nathan Sidwell - - * module.cc (loc_spans): Make spans a pointer, not inline. - Adjust all accesses. - -2020-12-16 Nathan Sidwell - - * mapper-client.cc: Include sys/socket.h before system.h. - -2020-12-15 Patrick Palka - - * pt.c (in_template_function): Inspect cfun->decl instead of - current_function_decl. - -2020-12-15 Nathan Sidwell - - * module.cc: Replace stubs with implementation. - -2020-12-15 Nathan Sidwell - - * Make-lang.in (CXX_AND_OBJCXX_OBJS): Add mapper-client & - mapper-resolver. - * mapper-client.h: New. - * mapper-client.cc: New. - * mapper-resolver.cc: New. - -2020-12-15 Nathan Sidwell - - * name-lookup.c (do_namespace_alias): Set originating module - before pushing. - -2020-12-11 Jason Merrill - - PR libstdc++/97600 - * call.c (build_user_type_conversion_1): Avoid considering - conversion functions that return a clearly unsuitable type. - -2020-12-11 Jason Merrill - - * cp-tree.h (make_binding_vec): Add CXX_MEM_STAT_INFO. - -2020-12-11 Nathan Sidwell - - * config-lang.in (gtfiles): Add cp/module.cc. - * decl2.c (c_parse_final_cleanups): Add module support. - * lambda.c (record_lambda_scope): Call maybe_attach_decl. - * module.cc (maybe_attach_decl, lazy_load_specializations): Stubs. - (finish_module_procesing): Stub. - * pt.c (lookup_template_class_1): Lazy load specializations. - (instantiate_template_1): Likewise. - -2020-12-11 Nathan Sidwell - - * decl2.c (c_parse_final_cleanups): Refactor loop. - -2020-12-11 Nathan Sidwell - - * cp-tree.h (map_context_from, map_context_to): Declare. - * module.cc (map_context_from, map_context_to): Define. - * tree.c (cp_tree_equal): Check map_context_{from,to} for parm - context difference. Allow NON_LVALUE_EXPR and VIEW_CONVERT_EXPR - with null types. - -2020-12-11 Nathan Sidwell - - * cp-lang.c (LANG_HOOKS_PREPROCESS_MAIN_FILE): Override. - (LANG_HOOKS_PREPROCESS_OPTIONS): Override. - (LANG_HOOKS_PREPROCESS_TOKEN): Override. - * cp-objcp-common.c (cp_register_dumps): Add module dump. - (cp_handle_option): New. - * cp-objcp-common.h (cp_handle_option): Declare. - (LANG_HOOKS_HANDLE_OPTION): Override. - * cp-tree.h (module_dump_id): Declare. - * module.cc (module_dump_id): Define. - (module_begin_main_file, handle_module_option) - (module_preproces_options): Stubs. - -2020-12-11 Nathan Sidwell - - * module.cc (lazy_specializations_p): Stub. - * name-lookup.h (append_imported_binding_slot) - (mergeable_namespacE_slots, lookup_class_binding) - (walk_module_binding, import_module_binding, set_module_binding) - (note_pending_specializations, load_pending_specializations) - (add_module_decl, add_imported_namespace): Declare. - (get_cxx_dialect_name): Declare. - (enum WMB_flags): New. - * name-lookup.c (append_imported_binding_slot) - (mergeable_namespacE_slots, lookup_class_binding) - (walk_module_binding, import_module_binding, set_module_binding) - (note_pending_specializations, load_pending_specializations) - (add_module_decl, add_imported_namespace): New. - (get_cxx_dialect_name): Make extern. - -2020-12-11 Patrick Palka - - PR c++/78173 - * typeck.c (pointer_diff): Use complete_type_or_maybe_complain - instead of complete_type_or_else. - -2020-12-10 Jason Merrill - - * cp-tree.h (struct type_identity): New. - (make_temp_override): New. - * decl.c (grokdeclarator): Use it. - * except.c (maybe_noexcept_warning): Use it. - * parser.c (cp_parser_enum_specifier): Use it. - (cp_parser_parameter_declaration_clause): Use it. - (cp_parser_gnu_attributes_opt): Use it. - (cp_parser_std_attribute): Use it. - -2020-12-10 Nathan Sidwell - - * name-lookup.c (do_nonmember_using_decl): Add INSERT_P parm. - Deal with exporting using decls. - (finish_nonmember_using_decl): Examine BINDING_VECTOR. - -2020-12-10 Nathan Sidwell - - * cp-tree.h (visible_instantiation_path): Renamed. - * module.cc (get_originating_module_decl, lazy_load_binding) - (lazy_load_members, visible_instantiation_path): Stubs. - * name-lookup.c (STAT_TYPE_VISIBLE_P, STAT_VISIBLE): New. - (search_imported_binding_slot, init_global_partition) - (get_fixed_binding_slot): New. - (name_lookup::process_module_binding): New. - (name_lookup::search_namespace_only): Search BINDING_VECTOR. - (name_lookup::adl_namespace_fns): Likewise. - (name_lookip::search_adl): Search visible instantiation path. - (maybe_lazily_declare): Maybe lazy load members. - (implicitly_exporT_namespace): New. - (maybe_record_mergeable_decl): New. - (check_module_override): New. - (do_pushdecl): Deal with BINDING_VECTOR, check override. - (add_mergeable_namespace_entity): New. - (get_namespace_binding): Deal with BINDING_VECTOR. - (do_namespace_alias): Call set_originating_module. - (lookup_elaborated_type_1): Deal with BINDING_VECTOR. - (do_pushtag): Call set_originating_module. - (reuse_namespace): New. - (make_namespace_finish): Add FROM_IMPORT parm. - (push_namespace): Deal with BINDING_VECTOR & namespace reuse. - (maybe_save_operator_binding): Save when module CMI in play. - * name-lookup.h (add_mergeable_namespace_entity): Declare. - -2020-12-10 Nathan Sidwell - - * name-lookup.c: Include bitmap.h. - (enum binding_slots): New. - (maybe_add_fuzzy_binding): Return bool true if found. - (consider_binding_level): Add module support. - * module.cc (get_import_bitmap): Stub. - -2020-12-10 Nathan Sidwell - - * name-lookup.c (pop_local_binding): Check for IDENTIFIER_ANON_P. - (update_binding): Level may be null, don't add namespaces to - level. - (newbinding_bookkeeping): New, broken out of ... - (do_pushdecl): ... here, call it. Don't push anonymous decls. - (pushdecl, add_using_namespace): Correct comments. - (do_push_nested_namespace): Remove assert. - (make_namespace, make_namespace_finish): New, broken out of ... - (push_namespace): ... here. Call them. Add namespace to level - here. - -2020-12-10 Nathan Sidwell - - * error.c (dump_module_suffix): New. - (dump_aggr_type, dump_simple_decl, dump_function_name): Call it. - * ptree.c (cxx_print_decl): Print module information. - * module.cc (module_name, get_importing_module): Stubs. - -2020-12-10 Nathan Sidwell - - * name-lookup.h (set_class_bindings): Return vector, take signed - 'extra' parm. - * name-lookup.c (maybe_lazily_declare): Break out ... - (get_class_binding): .. of here, call it. - (find_member_slot): Adjust get_class_bindings call. - (set_class_bindings): Allow -ve extra. Return the vector. - (set_identifier_type_value_with_scope): Remove checking assert. - (lookup_using_decl): Set decl's context. - (do_pushtag): Adjust set_identifier_type_value_with_scope handling. - -2020-12-09 Nathan Sidwell - - * parser.h (struct cp_token): Add main_source_p field. - * parser.c (cp_lexer_new_main): Pass thought module token filter. - Check macros. - (cp_lexer_get_preprocessor_token): Set main_source_p. - (enum module_parse): New. - (cp_parser_diagnose_invalid_type_name): Deal with unrecognized - module-directives. - (cp_parser_skip_to_closing_parenthesize_1): Skip module-directivres. - (cp_parser_skip_to_end_of_statement): Likewise. - (cp_parser_skiup_to_end_of_block_or_statement): Likewise. - (cp_parser_translation_unit): Add module parsing calls. - (cp_parser_module_name, cp_parser_module_declaration): New. - (cp_parser_import_declaration, cp_parser_module_export): New. - (cp_parser_declaration): Add module export detection. - (cp_parser_template_declaration): Adjust 'export' error message. - (cp_parser_function_definition_after_declarator): Add - module-specific logic. - * module.cc (import_module, declare_module) - (maybe_check_all_macros): Stubs. - -2020-12-09 Marek Polacek - - PR c++/97517 - * cxx-pretty-print.c (cxx_pretty_printer::simple_type_specifier): Handle - NULLPTR_TYPE. - (pp_cxx_type_specifier_seq): Likewise. - (cxx_pretty_printer::type_id): Likewise. - -2020-12-09 Nathan Sidwell - - * decl.c (duplicate_decls): Add module-specific redeclaration - logic. - (cxx_init_decl_processing): Export the global namespace, maybe - initialize modules. - (start_decl): Reject local-extern in a module, adjust linkage of - template var. - (xref_tag_1): Add module-specific redeclaration logic. - (start_enum): Likewise. - (finish_enum_value_list): Export unscoped members of an exported - enum. - (grokmethod): Implement p1779 linkage of in-class defined - functions. - * decl2.c (no_linkage_error): Imports are ok. - (c_parse_final_cleanups): Call fini_modules. - * lex.c (cxx_dup_lang_specific): Clear some module flags in the - copy. - * module.cc (module_kind): Define. - (module_may_redeclare, set_defining_module): Stubs. - (init_modules): Error on modules. - (fini_modules): Stub. - * rtti.c (push_abi_namespace): Save and reset module_kind. - (pop_abi_namespace): Restore module kind. - (build_dynamic_cast_1, tinfo_base_init): Adjust. - * semantics.c (begin_class_definition): Add module-specific logic. - (expand_or_defer_fn_1): Keep bodies of more fns when modules_p. - -2020-12-09 Tobias Burnus - - * parser.c (cp_parser_omp_allocate): New. - (cp_parser_omp_construct, cp_parser_pragma): Call it. - -2020-12-09 Jason Merrill - - PR c++/98019 - * cvt.c (maybe_warn_nodiscard): Check c_inhibit_evaluation_warnings. - -2020-12-09 Jason Merrill - - PR c++/59238 - * init.c (expand_default_init): Pass tf_no_cleanup when building - a TARGET_EXPR to go on the RHS of an INIT_EXPR. - * typeck.c (cp_build_modify_expr): Likewise. - -2020-12-08 Marek Polacek - - PR c++/98103 - * constexpr.c (cxx_eval_dynamic_cast_fn): If the evaluating of vtable - yields a null pointer, give an error and return. Use objtype. - -2020-12-08 Nathan Sidwell - - * class.c (layout_class_type): Call set_instantiating_module. - (build_self_reference): Likewise. - * decl.c (grokfndecl): Call set_originating_module. - (grokvardecl): Likewise. - (grokdeclarator): Likewise. - * pt.c (maybe_new_partial_specialization): Call - set_instantiating_module, propagate DECL_MODULE_EXPORT_P. - (lookup_template_class_1): Likewise. - (tsubst_function_decl): Likewise. - (tsubst_decl, instantiate_template_1): Likewise. - (build_template_decl): Propagate module flags. - (tsubst_template_dcl): Likewise. - (finish_concept_definition): Call set_originating_module. - * module.cc (set_instantiating_module, set_originating_module): Stubs. - -2020-12-08 Jason Merrill - - PR c++/96299 - * cp-tree.h (build_new_op): Add overload that omits some parms. - (genericize_spaceship): Add location_t parm. - * constexpr.c (cxx_eval_binary_expression): Pass it. - * cp-gimplify.c (genericize_spaceship): Pass it. - * method.c (genericize_spaceship): Handle class-type arguments. - (build_comparison_op): Fall back to op - - * call.c (build_new_op_1): Set *overload for ambiguity. - (build_new_method_call_1): Likewise. - -2020-12-08 Bernd Edlinger - - * decl2.c: (is_atomic_expensive_p): New helper function. - (build_atomic_load_byte): Rename to... - (build_atomic_load_type): ... and add new parameter type. - (get_guard_cond): Skip the atomic here if that is expensive. - Use the correct type for the atomic load on certain targets. - -2020-12-08 Nathan Sidwell - - * cp-tree.h (struct tinst_level): Add path & visible fields. - (build_cdtor_clones): Declare. - (match_mergeable_specialization): Use a spec_entry, add insert parm. - * class.c (build_cdtor_clones): Externalize. - * pt.c (push_tinst_level_loc): Clear new fields. - (match_mergeable_specialization): Adjust API. - -2020-12-08 Nathan Sidwell - - * decl2.c (start_objects): Refactor and adjust for named module - initializers. - (finish_objects): Likewise. - (generate_ctor_or_dtor_function): Likewise. - * module.cc (module_initializer_kind) - (module_add_import_initializers): Stubs. - -2020-12-08 Nathan Sidwell - - * Make-lang.in (MODULE_VERSION): Override when DEVPHASE not empty. - * module.cc: Comment. - -2020-12-08 Nathan Sidwell - - * cp-tree.h (mangle_module_substitution, mangle_identifier) - (mangle_module_global_init): Declare. - * mangle.c (struct globals): Add mod field. - (mangle_module_substitution, mangle_identifier) - (mangle_module_global_init): Define. - (write_module, maybe_write_module): New. - (write_name): Call it. - (start_mangling): Clear mod field. - (finish_mangling_internal): Adjust. - * module.cc (mangle_module, mangle_module_fini) - (get_originating_module): Stubs. - -2020-12-08 Nathan Sidwell - - * cp-tree.h (module_token_pre, module_token_cdtor) - (module_token_lang): Declare. - * lex.c: Include langhooks. - (struct module_token_filter): New. - * cp-tree.h (module_token_pre, module_token_cdtor) - (module_token_lang): Define. - * module.cc (get_module, preprocess_module, preprocessed_module): - Nop stubs. - -2020-12-08 Nathan Sidwell - - * Make-lang.in (MODULE_VERSION): Define. - * module.cc: Add includes. - -2020-12-08 Jakub Jelinek - - PR c++/98187 - * parser.c (cp_parser_omp_parallel): For parallel master with - -fopenmp-simd only, just call cp_parser_omp_master instead of - wrapping it in OMP_PARALLEL. - -2020-12-07 Marek Polacek - - PR c++/98043 - * decl.c (pop_switch): If SWITCH_STMT_TYPE is a scoped enum type, - set it to the type of SWITCH_STMT_COND. - -2020-12-07 Nathan Sidwell - - * cp-tree.h (build_cplus_array_type): Add defaulted DEP parm. - * tree.c (set_array_type_common): Add DEP parm. - (build_cplus_array_type): Add DEP parm, determine dependency if - needed. Mark dependency of new types. - (cp_build_qualified_type_real): Adjust array-building call, assert - no surprising dependency. - (strip_typedefs): Likewise. - -2020-12-07 Nathan Sidwell - - PR c++/98116 - * typeck.c (structural_comptypes): Move early outs to comptype. - Always check template-alias match when comparing_specializations. - (comptypes): Do early out checking here. - -2020-12-05 Patrick Palka - - PR c++/97093 - * constraint.cc (parameter_mapping_equivalent_p): Add some - sanity checks. Clarify comment. - (tsubst_nested_requirement): Always perform satisfaction - quietly first. If that yields an erroneous result, emit a - context message and replay satisfaction noisily with the - diagnostic normal form. - (finish_nested_requirement): Normalize the constraint-expression - twice, once with diagnostic information and once without. Store - them in a TREE_LIST within the TREE_TYPE. - (diagnose_nested_requirement): When replaying satisfaction, use - the diagnostic normal form instead of renormalizing on the spot. - -2020-12-05 Patrick Palka - - PR c++/97093 - * constraint.cc (struct sat_info): Define. - (tsubst_nested_requirement): Pass a sat_info object to - satisfy_constraint. - (satisfy_constraint_r): Take a sat_info argument instead of - subst_info. - (satisfy_conjunction): Likewise. - (satisfy_disjunction): Likewise. Instead of first evaluating - each branch quietly, evaluate each branch only with - unsatisfaction diagnostics disabled. Exit early if evaluation - of a branch returns error_mark_node. - (satisfy_atom): Take a sat_info argument instead of subst_info. - Fix a comment. Check diagnose_unsatisfaction_p() instead of - noisy() before replaying a substitution failure. - (satisfy_constraint): Take a sat_info argument instead of - subst_info. - (satisfy_associated_constraints): Likewise. - (satisfy_constraint_expression): Likewise. - (satisfy_declaration_constraints): Likewise. - (constraint_satisfaction_value): Likewise and adjust - accordingly. Fix formatting. - (constraints_satisfied_p): Pass a sat_info object to - constraint_satisfaction_value. - (evaluate_concept_check): Pass a sat_info object to - satisfy_constraint_expression. - (diagnose_nested_requirement): Likewise. - (diagnose_constraints): Pass an appropriate sat_info object to - constraint_satisfaction_value. - -2020-12-05 Jakub Jelinek - - PR c++/98122 - * constexpr.c (cxx_union_active_member): New function. - (cxx_fold_indirect_ref_1): Add ctx argument, pass it through to - recursive call. Handle UNION_TYPE. - (cxx_fold_indirect_ref): Add ctx argument, pass it to recursive calls - and cxx_fold_indirect_ref_1. - (cxx_eval_indirect_ref): Adjust cxx_fold_indirect_ref calls. - -2020-12-04 Jason Merrill - - PR c++/93083 - * pt.c (convert_template_argument): Handle equivalent placeholders. - (do_class_deduction): Look through EXPR_PACK_EXPANSION, too. - -2020-12-04 Jason Merrill - - * decl2.c (clear_consteval_vfns): Remove *. - * pt.c (do_auto_deduction): Remove *. - * parser.c (cp_parser_late_parsing_default_args): Change loop - to use range 'for'. - -2020-12-04 Nathan Sidwell - - PR c++/98116 - * cp-tree.h (comparing_typenames): Delete. - (cplus_build_array_type): Remove default parm. - * pt.c (comparing_typenames): Delete. - (spec_hasher::equal): Don't increment it. - * tree.c (set_array_type_canon): Remove dep parm. - (build_cplus_array_type): Remove dep parm changes. - (cp_build_qualified_type_real): Remove dependent array type - changes. - (strip_typedefs): Likewise. - * typeck.c (structural_comptypes): Revert comparing_typename - changes. - -2020-12-04 Nathan Sidwell - - * cp-tree.h: Add various inline module state predicates, and - declare the API that will be provided by modules.cc - -2020-12-04 Jakub Jelinek - - PR c++/80780 - * cp-gimplify.c (fold_builtin_source_location): Use 2 instead of 0 - as last argument to cxx_printable_name. - -2020-12-03 Jason Merrill - - * cp-tree.h (releasing_vec::operator[]): Change parameter type to - ptrdiff_t. - -2020-12-03 Nathan Sidwell - - * cp-tree.h (OVL_EXPORT): New. - (class ovl_iterator): Add get_using, exporting_p. - * tree.c (ovl_insert): Extend using_or_hidden meaning to include - an exported using. - -2020-12-03 Nathan Sidwell - - * cp-tree.h (DECL_UNINSTANTIATED_TEMPLATE_FRIEND): New. - * pt.c (push_template_decl): Set it. - (tsubst_friend_function): Clear it. - -2020-12-03 Nathan Sidwell - - * cp-tree.h (make_unbound_class_template_raw): Declare. - (canonical_type_parameter): Declare. - * decl.c (make_unbound_class_template_raw): Break out of ... - (make_unboud_class_template): ... here. Call it. - * pt.c (canonical_type_parameter): Externalize. Refactor & set - structural_equality for type parms. - -2020-12-03 Nathan Sidwell - - PR c++/98107 - * tree.c (build_cplus_array_type): Mark dependency of new variant. - (cp_build_qualified_type_real, strip_typedefs): Assert - TYPE_DEPENDENT_P_VALID, or not a dependent type. - -2020-12-03 Jakub Jelinek - - PR libstdc++/93121 - * cp-tree.h (cp_build_bit_cast): Declare. - * cp-tree.def (BIT_CAST_EXPR): New tree code. - * cp-objcp-common.c (names_builtin_p): Handle RID_BUILTIN_BIT_CAST. - (cp_common_init_ts): Handle BIT_CAST_EXPR. - * cxx-pretty-print.c (cxx_pretty_printer::postfix_expression): - Likewise. - * parser.c (cp_parser_postfix_expression): Handle - RID_BUILTIN_BIT_CAST. - * semantics.c (cp_build_bit_cast): New function. - * tree.c (cp_tree_equal): Handle BIT_CAST_EXPR. - (cp_walk_subtrees): Likewise. - * pt.c (tsubst_copy): Likewise. - * constexpr.c (check_bit_cast_type, cxx_eval_bit_cast): New functions. - (cxx_eval_constant_expression): Handle BIT_CAST_EXPR. - (potential_constant_expression_1): Likewise. - * cp-gimplify.c (cp_genericize_r): Likewise. - -2020-12-03 Jason Merrill - - * parser.c (cp_parser_primary_expression): Distinguish - parms from vars in error. - (cp_parser_late_parsing_default_args): Pushdecl parms - as we go. - -2020-12-03 Jason Merrill - - * name-lookup.c (begin_scope): Set immediate_fn_ctx_p. - * parser.c (cp_parser_late_parsing_default_args): Push - sk_function_parms scope. - -2020-12-03 Peter Bergner - - PR c++/97947 - * typeck2.c (digest_init_r): Handle OPAQUE_TYPE as an aggregate type. - -2020-12-02 Jakub Jelinek - - PR c++/80780 - PR c++/93093 - * cp-tree.h (source_location_current_p): Declare. - * tree.c (source_location_current_p): New function. - * call.c (immediate_invocation_p): New function. - (build_over_call): Use it to resolve LWG3396. - * constexpr.c (cxx_eval_builtin_function_call): Temporarily set - current_function_decl from ctx->call->fundef->decl if any. - * cp-gimplify.c (cp_genericize_r) : Fold calls - to immediate function std::source_location::current (). - -2020-12-02 Jason Merrill - - * decl.c (grokdeclarator): Improve diagnostic for - disallowed CTAD placeholder. - -2020-12-02 Jason Merrill - - * decl.c (check_initializer): Also look through STMT_EXPR - and BIND_EXPR. - -2020-12-02 Nathan Sidwell - - * cp-tree.h (comparing_typenames): Declare. - * pt.c (comparing_typenames): Define. - (spec_hasher::equal): Increment it around comparisons. - * typeck.c (structural_comptypes): Adjust TYPENAME resolution - check. - -2020-12-02 Marek Polacek - - PR c++/97975 - * constexpr.c (fold_non_dependent_init): Add a tree parameter. - Use it. - * cp-tree.h (fold_non_dependent_init): Add a tree parameter with - a default value. - * typeck2.c (store_init_value): Call fold_non_dependent_expr - only when checking the initializer for constexpr variables. - Call fold_non_dependent_init instead of maybe_constant_init. - -2020-12-02 Marek Polacek - - PR c++/97187 - PR c++/97993 - * pt.c (tsubst_copy_and_build) : Return error_mark_node - if init is erroneous. - -2020-12-02 Nathan Sidwell - - * cp-tree.h (DECL_MODULE_PURVIEW_P, DECL_MODULE_IMPORT_P) - (DECL_MODULE_ENTITY_P): New. - (DECL_MODULE_PENDING_SPECIALIZATIONS_P): New. - (DECL_MODULE_PENDING_MEMBERS_P): New. - (DECL_MODULE_ATTACHMENTS_P): New. - (DECL_MODULE_EXPORT_P): New. - (struct lang_decl_base): Shrink sel field. Add new - module-specific fields. - -2020-12-02 Nathan Sidwell - - * cp-tree.h (DECL_TINFO_P): Also for TYPE_DECLs. - (get_tinfo_decl_direct): Declare. - (get_pseudo_tinfo_index, get_pseudo_tinfo_type): Declare. - * rtti.c (get_tinfo_decl_direct): Externalize. - (get_tinfo_desc): Set DECL_TINFO_P on the typedef. - (get_pseudo_tinfo_index, get_pseudo_tinfo_type): New. - -2020-12-02 Nathan Sidwell - - * cp-tree.h (maybe_add_lang_decl_raw, maybe_add_lang_type_raw): - Declare. - * lex.c (maybe_add_lang_decl_raw, maybe_add_lang_type_raw): - Externalize, reformat. - -2020-12-02 Nathan Sidwell - - * cp-tree.h (build_cplus_array_type): Add defaulted DEP parm. - * tree.c (set_array_type_common): Add DEP parm. - (build_cplus_array_type): Add DEP parm, determine dependency if - needed. - (cp_build_qualified_type_real): Adjust array-building call. - (strip_typedefs): Likewise. - -2020-12-02 Nathan Sidwell - - * ptree.c (cxx_print_xnode): Increase binding-vector prefix size. - -2020-12-02 Nathan Sidwell - - * cp-tree.def (BINDING_VECTOR): New. - * name-lookup.h (struct binding_slot): New. - (BINDING_VECTOR_SLOTS_PER_CLUSTER): New. - (struct binding_index, struct binding_cluster): New. - (BINDING_VECTOR_ALLOC_CLUSTERS, BINDING_VECTOR_CLUSTER_BASE) - (BINDING_VECTOR_CLUSTER): New. - (struct tree_binding_vec): New. - (BINDING_VECTOR_NAME, BINDING_VECTOR_GLOBAL_DUPS_P) - (BINDING_VECTOR_PARTITION_DUPS_P): New. - (BINDING_BINDING_GLOBAL_P, BINDING_BINDING_PARTITION_P): New. - (BINDING_VECTOR_PENDING_SPECIALIZATIONS) - (BINDING_VECTOR_PENDING_IS_HEADER_P) - (BINDING_VECTOR_PENDING_IS_PARTITION_P): New. - * cp-tree.h (enum cp_tree_node_structure_enum): Add - TS_CP_BINDING_VECTOR. - (union lang_tree_node): Add binding_vec field. - (make_binding_vec): Declare. - (named_decl_hash::hash, named_decl_hash::equal): Check for binding - vector. - * decl.c (cp_tree_node_structure): Add BINDING_VECTOR case. - * ptree.c (cxx_print_xnode): Add BINDING_VECTOR case. - * tree.c (make_binding_vec): New. - -2020-12-01 Ville Voutilainen - - PR c++/98054 - * cxx-pretty-print.c (pp_cxx_trait_expression): - Add support for __is_nothrow_{assignable,constructible}. - -2020-12-01 Jakub Jelinek - - PR c++/98072 - * parser.c (cp_parser_omp_depobj): Suppress location wrappers when - parsing depend clause. - -2020-12-01 Nathan Sidwell - - * lex.c (init_reswords): Maybe enable module keywords. - -2020-12-01 Nathan Sidwell - - * lang-specs.h: Add module-related options. - -2020-12-01 Iain Sandoe - - * parser.c (cp_parser_declaration): Add a not about where - attributes may be placed. - -2020-11-27 Martin Sebor - - * error.c (add_quotes): Revert previous change and use pragma to - suppress -Wformat-diag. - -2020-11-26 Rainer Orth - - * g++spec.c (TIMELIB, TIME_LIBRARY): Remove. - (lang_specific_driver): Remove TIME_LIBRARY handling. - -2020-11-26 Thomas Schwinge - - * parser.c (cp_parser_omp_var_list_no_open): Assert that array - section's 'low_bound', 'length' are not location wrapper nodes. - (cp_parser_oacc_all_clauses, cp_parser_oacc_cache): Instantiate - 'auto_suppress_location_wrappers'. - -2020-11-25 Martin Sebor - - PR bootstrap/94982 - * constraint.cc (debug_argument_list): Avoid -Wformat-diag. - * error.c (function_category): Same. - (print_template_differences): Same. - * logic.cc (debug): Same. - * name-lookup.c (lookup_using_decl): Same. - * parser.c (maybe_add_cast_fixit): Same. - (cp_parser_template_introduction): Same. - * typeck.c (access_failure_info::add_fixit_hint): Same. - -2020-11-25 Thomas Schwinge - - * pt.c (tsubst_omp_clauses): Handle 'OMP_CLAUSE__CACHE_'. - (tsubst_expr): Handle 'OACC_CACHE'. - -2020-11-24 Jason Merrill - - PR c++/97899 - * typeck2.c (store_init_value): Don't split_nonconstant_init in a - template. - -2020-11-24 Jakub Jelinek - - PR tree-optimization/96929 - * constexpr.c (cxx_eval_binary_expression): For shifts by constant - with MSB set, emulate older wide_int_binop behavior to preserve - diagnostics and -fpermissive behavior. - -2020-11-23 Nathan Sidwell - - * module.cc: New dummy file. - * Make-lang.in: Add rules to build module.o - -2020-11-23 Jozef Lawrynowicz - - * decl.c (start_decl): Set DECL_INITIAL for initialized decls - before attribute processing. - -2020-11-23 Richard Sandiford - - PR c++/97904 - * pt.c (tsubst): Use verify_type_context to check the type - of an array element. - -2020-11-21 Marek Polacek - - PR c++/94695 - * parser.c (warn_for_range_copy): Warn when the loop variable is - initialized with a value of a different type resulting in a copy. - -2020-11-21 Marek Polacek - - PR c++/97846 - * constexpr.c (potential_constant_expression_1): Reject - LABEL_EXPRs that use non-artifical LABEL_DECLs. - -2020-11-21 Marek Polacek - - PR c++/97881 - * parser.c (warn_about_ambiguous_parse): Only assume "int" if we - actually saw any type-specifiers. - -2020-11-21 Marek Polacek - - PR c++/97839 - * parser.c (cp_parser_lambda_declarator_opt): Don't require (). - -2020-11-21 Marek Polacek - - PR c++/97427 - * constexpr.c (cxx_set_object_constness): New function. - (cxx_eval_call_expression): Set new_obj for destructors too. - Call cxx_set_object_constness to set/unset TREE_READONLY of - the object under construction/destruction. - -2020-11-21 Aaron Sawdey - - * error.c (dump_type): Handle opaque types. - (dump_type_prefix): Handle opaque types. - (dump_type_suffix): Handle opaque types. - (dump_expr): Handle opaque types. - * pt.c (tsubst): Allow opaque types in templates. - (unify): Allow opaque types in templates. - * typeck.c (structural_comptypes): Handle comparison - of opaque types. - -2020-11-20 Jakub Jelinek - - PR other/97911 - * Make-lang.in (c++.serial): Change from goal to a variable. - (.PHONY): Drop c++.serial and c++.prev. - (cc1plus$(exeext)): Depend on $(c++.serial) rather than c++.serial. - -2020-11-19 Nathan Sidwell - - * cp-tree.h (struct spec_entry): Moved from pt.c. - (walk_specializations, match_mergeable_specialization) - (get_mergeable_specialization_flags) - (add_mergeable_specialization): Declare. - * pt.c (struct spec_entry): Moved to cp-tree.h. - (walk_specializations, match_mergeable_specialization) - (get_mergeable_specialization_flags) - (add_mergeable_specialization): New. - -2020-11-19 Nathan Sidwell - - * cp-tree.h (struct constexpr_fundef): Moved from constexpr.c. - (maybe_save_constexpr_fundef): Declare. - (register_constexpr_fundef): Take constexpr_fundef object, return - void. - * decl.c (mabe_save_function_definition): Delete, functionality - moved to maybe_save_constexpr_fundef. - (emit_coro_helper, finish_function): Adjust. - * constexpr.c (struct constexpr_fundef): Moved to cp-tree.h. - (constexpr_fundef_hasher::equal): Constify. - (constexpr_fundef_hasher::hash): Constify. - (retrieve_constexpr_fundef): Make non-static. - (maybe_save_constexpr_fundef): Break out checking and duplication - from ... - (register_constexpr_fundef): ... here. Just register the constexpr. - -2020-11-19 Marek Polacek - - PR c++/97523 - * init.c (build_new): When value-initializing an array new, - leave the INIT as an empty vector. - -2020-11-19 Marek Polacek - - PR c++/97895 - * pt.c (do_auto_deduction): Don't crash when the constructor has - zero elements. - -2020-11-19 Nathan Sidwell - - PR c++/97905 - * decl.c (duplicate_decls): Relax new assert. - -2020-11-18 Iain Sandoe - - * parser.c (cp_parser_objc_valid_prefix_attributes): Check - for empty attributes. - -2020-11-18 Jakub Jelinek - - * Make-lang.in (c++.serial): New goal. - (.PHONY): Add c++.serial c++.prev. - (cc1plus$(exeext)): Depend on c++.prev. Call LINK_PROGRESS. - -2020-11-17 Nathan Sidwell - - PR c++/97877 - * decl.c (duplicate_decls): Deal with duplicated DECL_LOCAL_DECL_P - decls. Extend decl_lang_specific checking assert. - -2020-11-17 Nathan Sidwell - - * cp-tree.h (enum cp_tree_index): Reorder to place lazy fields - after newly-added CPTI_MODULE_HWM. - -2020-11-17 Iain Sandoe - - PR c++/97871 - * parser.c (cp_parser_declaration): Remove checking assert. - -2020-11-15 Jason Merrill - - * decl.c (cp_finish_decl): Only check abstractness on definition. - (require_complete_types_for_parms): Check abstractness here. - (create_array_type_for_decl): Not here. - (grokdeclarator, grokparms, complete_vars): Not here. - * pt.c (tsubst, tsubst_arg_types, tsubst_function_type): Not here. - * typeck2.c (struct pending_abstract_type): Remove. - (struct abstract_type_hasher): Remove. - (abstract_pending_vars, complete_type_check_abstract): Remove. - (abstract_virtuals_error_sfinae): Handle arrays. - * call.c (conv_is_prvalue): Split out from... - (conv_binds_ref_to_prvalue): ...here. - (implicit_conversion_1): Rename from implicit_conversion. - (implicit_conversion): An abstract prvalue is bad. - (convert_like_internal): Don't complain if expr is already - error_mark_node. - -2020-11-13 Jason Merrill - - * cp-tree.h (USING_DECL_UNRELATED_P): New. - (CONST_DECL_USING_P): New. - * class.c (handle_using_decl): If USING_DECL_UNRELATED_P, - clone the CONST_DECL. - * name-lookup.c (supplement_binding_1): A clone hides its - using-declaration. - (lookup_using_decl): Rewrite to separate lookup and validation. - (do_class_using_decl): Adjust. - (finish_nonmember_using_decl): Adjust. - * parser.c (make_location): Add cp_token overload. - (finish_using_decl): Split out from... - (cp_parser_using_declaration): ...here. Don't look through enums. - (cp_parser_using_enum): New. - (cp_parser_block_declaration): Call it. - (cp_parser_member_declaration): Call it. - * semantics.c (finish_id_expression_1): Handle enumerator - used from class scope. - -2020-11-13 Vladimir N. Makarov - - * parser.c (cp_parser_asm_definition): Parse outputs for asm - goto too. - -2020-11-13 Iain Sandoe - - PR objc/77404 - * parser.c (cp_parser_objc_class_interface): Pass the - location of the class name to the interface declaration. - -2020-11-13 Patrick Palka - - * semantics.c (finish_compound_literal): Don't wrap the original - compound literal in a TARGET_EXPR when inside a template. - -2020-11-12 Jakub Jelinek - - PR c++/97790 - * constexpr.c (cxx_eval_constant_expression) : Don't pass jump_target to - cxx_eval_constant_expression when evaluating the cleanups. - -2020-11-11 Iain Sandoe - - * parser.c (cp_parser_declaration): Unless we are compiling for - Ojective-C++, warn about and discard any attributes that prefix - a linkage specification. - -2020-11-11 Patrick Palka - - PR c++/88115 - * mangle.c (write_expression): Mangle __alignof_ differently - from alignof when the ABI version is at least 15. - -2020-11-11 Patrick Palka - - PR c++/88115 - * cp-tree.h (cxx_sizeof_or_alignof_expr): Add bool parameter. - * decl.c (fold_sizeof_expr): Pass false to - cxx_sizeof_or_alignof_expr. - * parser.c (cp_parser_unary_expression): Pass std_alignof to - cxx_sizeof_or_alignof_expr. - * pt.c (tsubst_copy): Pass false to cxx_sizeof_or_alignof_expr. - (tsubst_copy_and_build): Pass std_alignof to - cxx_sizeof_or_alignof_expr. - * typeck.c (cxx_alignof_expr): Add std_alignof bool parameter - and pass it to cxx_sizeof_or_alignof_type. Set ALIGNOF_EXPR_STD_P - appropriately. - (cxx_sizeof_or_alignof_expr): Add std_alignof bool parameter - and pass it to cxx_alignof_expr. Assert op is either - SIZEOF_EXPR or ALIGNOF_EXPR. - -2020-11-11 Marek Polacek - - PR c++/97518 - * pt.c (tsubst_qualified_id): Use EXPR_LOCATION of the qualified-id. - Use it to maybe_wrap_with_location the final expression. - -2020-11-10 Marek Polacek - - PR c++/97518 - * cp-tree.h (finish_static_assert): Adjust declaration. - * parser.c (cp_parser_static_assert): Pass false to - finish_static_assert. - * pt.c (tsubst_expr): Pass true to finish_static_assert. - * semantics.c (find_failing_clause_r): New function. - (find_failing_clause): New function. - (finish_static_assert): Add a bool parameter. Use - iloc_sentinel. Call contextual_conv_bool instead of - perform_implicit_conversion_flags. Don't check for INTEGER_CST before - calling integer_zerop. Call find_failing_clause and maybe use its - location. Print the original condition or the failing clause if - SHOW_EXPR_P. - -2020-11-10 Strager Neds - - * decl.c (duplicate_decls): Use new overload of - set_decl_section_name. - * method.c (use_thunk): Same. - * optimize.c (maybe_clone_body): Same. - * coroutines.cc (act_des_fn): Same. - -2020-11-10 Jakub Jelinek - - PR c/97748 - * cvt.c (convert_to_void): Check (complain & tf_warning) in the outer - if rather than twice times in the inner one. Use warn_if_unused_value. - Formatting fix. - -2020-11-10 Chung-Lin Tang - - * parser.c (cp_parser_omp_target_data): Add use of - new c_omp_adjust_map_clauses function. Add GOMP_MAP_ATTACH_DETACH as - handled map clause kind. - (cp_parser_omp_target_enter_data): Likewise. - (cp_parser_omp_target_exit_data): Likewise. - (cp_parser_omp_target): Likewise. - * semantics.c (handle_omp_array_sections): Adjust COMPONENT_REF case to - use GOMP_MAP_ATTACH_DETACH map kind for C_ORT_OMP region type. Fix - interaction between reference case and attach/detach. - (finish_omp_clauses): Adjust bitmap checks to allow struct decl and - same struct field access to co-exist on OpenMP construct. - -2020-11-09 Marek Polacek - - DR 1914 - * parser.c (cp_parser_check_std_attribute): Return bool. Add a - location_t parameter. Return true if the attribute wasn't duplicated. - Give a warning instead of an error. Check more attributes. - (cp_parser_std_attribute_list): Don't add duplicated attributes to - the list. Pass location to cp_parser_check_std_attribute. - -2020-11-09 Patrick Palka - - * constraint.cc (norm_info::norm_info): Initialize orig_decl. - (norm_info::orig_decl): New data member. - (normalize_atom): When caching an atom for the first time, - compute a list of template parameters used in the targets of the - parameter mapping and store it in the TREE_TYPE of the mapping. - (get_normalized_constraints_from_decl): Set current_function_decl - appropriately when normalizing. As an optimization, don't - set up a push_nested_class_guard when decl has no constraints. - (sat_hasher::hash): Use this list to hash only the template - arguments that are relevant to the atom. - (satisfy_atom): Use this list to compare only the template - arguments that are relevant to the atom. - * pt.c (keep_template_parm): Do a sanity check on the parameter's - index when flag_checking. - -2020-11-09 Patrick Palka - - * cp-tree.h (ATOMIC_CONSTR_MAP_INSTANTIATED_P): Define this flag - for ATOMIC_CONSTRs. - * constraint.cc (sat_hasher::hash): Use hash_atomic_constraint - if the flag is set, otherwise keep using a pointer hash. - (sat_hasher::equal): Return false if the flag's setting differs - on two atoms. Call atomic_constraints_identical_p if the flag - is set, otherwise keep using a pointer equality test. - (satisfy_atom): After instantiating the parameter mapping, form - another ATOMIC_CONSTR using the instantiated mapping and query - the cache again. Cache the satisfaction value of both atoms. - (diagnose_atomic_constraint): Simplify now that the supplied - atom has an instantiated mapping. - -2020-11-09 Patrick Palka - - * constraint.cc (atom_cache): Define this deletable hash_table. - (normalize_atom): Use it to cache ATOMIC_CONSTRs when not - generating diagnostics. - (sat_hasher::hash): Use htab_hash_pointer instead of - hash_atomic_constraint. - (sat_hasher::equal): Test for pointer equality instead of - atomic_constraints_identical_p. - * cp-tree.h (struct atom_hasher): Moved and renamed from ... - * logic.cc (struct constraint_hash): ... here. - (clause::m_set): Adjust accordingly. - -2020-11-09 Patrick Palka - - PR c++/93907 - * constraint.cc (tsubst_parameter_mapping): Also canonicalize - the type arguments of a TYPE_ARGUMENT_PACk. - -2020-11-09 Jason Merrill - - * pt.c (tsubst): Replace *_ARGUMENT_PACK code with - a call to tsubst_argument_pack. - -2020-11-09 Jason Merrill - - * class.c (handle_using_decl): Add an iloc_sentinel. - -2020-11-09 Marek Polacek - - PR c++/97762 - * parser.c (warn_about_ambiguous_parse): Handle the case when - there is no type in the decl-specifiers. - -2020-11-09 Nathan Sidwell - - * cp-tree.h (LOOKUP_FOUND_P): Add ENUMERAL_TYPE. - * name-lookup.c (class name_lookup): Add comments. - (name_lookup::adl_namespace_only): Replace with ... - (name_lookup::adl_class_fns): ... this and ... - (name_lookup::adl_namespace_fns): ... this. - (name_lookup::adl_namespace): Deal with inline nests here. - (name_lookup::adl_class): Complete the type here. - (name_lookup::adl_type): Call broken-out enum .. - (name_lookup::adl_enum): New. No need to call the namespace adl - if it is class-scope. - (name_lookup::search_adl): Iterate over collected scopes here. - -2020-11-09 Nathan Sidwell - - * name-lookup.c (lookup_qualified_name): Expose an overload of a - singleton with known type. - (lookup_name_1): Just check the overload's type to expose it. - * parser.c (cp_parser_lookup_name): Do not do that check here. - -2020-11-08 Iain Sandoe - - * parser.c (cp_parser_objc_at_property_declaration): Handle - class keywords in @property attribute context. - -2020-11-06 Marek Polacek - - PR c++/81660 - * except.c (can_convert_eh): Change the return type to bool. If - the type TO and FROM are the same, return true. - -2020-11-06 Iain Sandoe - - * parser.c (cp_parser_objc_at_property_declaration): - Improve parsing fidelity. Associate better location info - with @property attributes. Clean up the interface to - objc_add_property_declaration (). - -2020-11-06 Jakub Jelinek - - PR c++/67453 - * decl.c (duplicate_decls): Propagate DECL_ATTRIBUTES and - DECL_PRESERVE_P from olddecl to its clones if any. - -2020-11-06 Nathan Sidwell - - * cp-tree.h (DECL_UNDECLARED_BUILTIN_P): Delete. - * cp-objcp-common.c (names_bultin_p): Rename - DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN. - * decl.c (decls_match): Likewise. Replace - DECL_UNDECLARED_BUILTIN_P with DECL_IS_UNDECLARED_BUILTIN. - (duplicate_decls): Likewise. - * decl2.c (collect_source_refs): Likewise. - * name-lookup.c (anticipated_builtin_p, print_binding_level) - (do_nonmember_using_decl): Likewise. - * pt.c (builtin_pack_fn_p): Likewise. - * typeck.c (error_args_num): Likewise. - -2020-11-06 Nathan Sidwell - - * parser.c (cp_parser_template_declaration): Adjust 'export' warning. - (cp_parser_explicit_specialization): Remove unneeded bool setting. - -2020-11-06 Jan Hubicka - - * tree.c (cp_fix_function_decl_p): Do not access ipa_ref_list dirrectly. - -2020-11-06 Tobias Burnus - - * parser.c (cp_parser_omp_atomic): Add openacc parameter and update - OpenACC matching. - (cp_parser_omp_construct): Update call. - -2020-11-05 Marek Polacek - - * except.c (check_handlers_1): Add auto_diagnostic_group. - -2020-11-05 Marek Polacek - - PR c++/78209 - * pt.c (do_auto_deduction): If init is REFERENCE_REF_P, use its - first operand. - -2020-11-05 Marek Polacek - - PR c++/97675 - * except.c (check_handlers_1): Use OPT_Wexceptions for the - warning. Use inform for the second part of the warning. - -2020-11-05 Marek Polacek - - PR c++/25814 - * cp-tree.h (enum cp_tree_index): Add CPTI_EXPLICIT_VOID_LIST. - (explicit_void_list_node): Define. - (PARENTHESIZED_LIST_P): New macro. - (struct cp_declarator): Add function::parens_loc. - * decl.c (cxx_init_decl_processing): Initialize explicit_void_list_node. - (grokparms): Also break when explicit_void_list_node. - * parser.c (make_call_declarator): New location_t parameter. Use it - to set declarator->u.function.parens_loc. - (cp_parser_lambda_declarator_opt): Pass UNKNOWN_LOCATION to - make_call_declarator. - (warn_about_ambiguous_parse): New function. - (cp_parser_init_declarator): Call warn_about_ambiguous_parse. - (cp_parser_declarator): Set *parenthesized_p to false rather than to - true. - (cp_parser_direct_declarator): Create a location for the function's - parentheses and pass it to make_call_declarator. - (cp_parser_parameter_declaration_clause): Return explicit_void_list_node - for (void). - (cp_parser_parameter_declaration_list): Set PARENTHESIZED_LIST_P - in the parameters tree. - -2020-11-04 Jakub Jelinek - - PR c++/97670 - * semantics.c (finish_omp_clauses): Look through array reductions to - find underlying decl to clear in the aligned_head bitmap. Use - DECL_UID (t) instead of DECL_UID (OMP_CLAUSE_DECL (c)) when clearing - in the bitmap. Only diagnose errors about allocate vars not being - privatized on the same construct on allocate clause if it has - a DECL_P OMP_CLAUSE_DECL. - -2020-11-04 Iain Sandoe - - * constexpr.c (potential_constant_expression_1): Handle - expressions known to be non-constant for Objective-C. - -2020-11-03 Jason Merrill - - * tree.c (is_byte_access_type): Don't use char_type_p. - -2020-11-03 Jakub Jelinek - - PR c++/97663 - * parser.c (cp_parser_init_declarator): Don't try to parse - C++17 deduction guides if there are any type specifiers even when - type is NULL. - -2020-11-03 Kamlesh Kumar - Jason Merrill - - PR c++/97453 - DR2303 - * pt.c (get_template_base): Consider closest base in template - deduction when base of base also matches. - -2020-11-03 Nathan Sidwell - - * pt.c (tsubst_expr): Simplify using decl instantiation, add - asserts. - -2020-11-03 Nathan Sidwell - - * class.c (copy_fndecl_with_name): Always not top level. - (build_cdtor_clones): Add update_methods parm, use it to - conditionally update the method vec. Return void - (clone_cdtor): Adjust. - (clone_constructors_and_destructors): Adjust comment. - -2020-11-03 Nathan Sidwell - - * pt.c (primary_template_specialization_p): Use - VAR_OR_FUNCTION_DECL_P. - (tsubst_template_decl): Check for FUNCTION_DECL, not !TYPE && !VAR - for registering a specialization. - -2020-11-03 Nathan Sidwell - - * cp-tree.h (fixup_deferred_exception_variants): Declare. - * parser.c (cp_parser_class_specifier_1): Call it when - completing deferred parses rather than creating a variant. - (cp_parser_member_declaration): Move comment from ... - (cp_parser_noexcept_specification_opt): ... here. Refactor the - deferred parse. - * tree.c (fixup_deferred_exception_variants): New. - -2020-11-03 Nathan Sidwell - - * pt.c (tsubst_lambda_expr): Reorder extra-scope handling to match - the non-template case. - (instantiate_body): Move a couple of declarations to their - initializers. - -2020-11-03 Nathan Sidwell - - * decl.c (duplicate_decls): Return error_mark_node fo extern-c - mismatch. - -2020-11-03 Marek Polacek - - * constexpr.c (potential_constant_expression_1): Treat - __PRETTY_FUNCTION__ inside a template function as - potentially-constant. - * pt.c (uses_template_parms): Call - instantiation_dependent_expression_p instead of - value_dependent_expression_p. - (instantiation_dependent_expression_p): Check - potential_constant_expression before calling - value_dependent_expression_p. - -2020-11-03 Marek Polacek - - PR c++/97632 - * init.c (build_new_1): Disable -Winit-list-lifetime for an unevaluated - operand. - -2020-11-03 Nathan Sidwell - - * tree.c (bind_template_template_parm): Mark the parm as a - template parm. - (cp_tree_equal): Refactor CALL_EXPR. Use comp_template_args for - TREE_VECs. - -2020-11-03 Nathan Sidwell - - * rtti.c (init_rtti_processing): Move var decl to its init. - (get_tinfo_decl): Likewise. Break out creation to called helper - ... - (get_tinfo_decl_direct): ... here. - (build_dynamic_cast_1): Move var decls to their initializers. - (tinfo_base_init): Set decl's location to BUILTINS_LOCATION. - (get_tinfo_desc): Only push ABI namespace when needed. Set type's - context. - -2020-11-02 Nathan Sidwell - - * decl.c (start_decl_1): Refactor declarations. Fixup some - whitespace. - (lookup_and_check_tag): Fixup some whitespace. - -2020-11-02 Nathan Sidwell - - * decl.c (duplicate_decls): Refactor some template & builtin - handling. - -2020-11-02 Nathan Sidwell - - * cp-tree.h (struct cxx_int_tree_map): Delete. - (struct cxx_int_tree_map_hasher): Delete. - * cp-gimplify.c (cxx_int_tree_map_hasher::equal): Delete. - (cxx_int_tree_map_hasher::hash): Delete. - -2020-11-02 Patrick Palka - - * class.c (finish_struct_1): Don't call clear_satisfaction_cache. - * constexpr.c (clear_cv_and_fold_caches): Likewise. Remove bool - parameter. - * constraint.cc (clear_satisfaction_cache): Remove definition. - * cp-tree.h (clear_satisfaction_cache): Remove declaration. - (clear_cv_and_fold_caches): Remove bool parameter. - * typeck2.c (store_init_value): Remove argument to - clear_cv_and_fold_caches. - -2020-11-01 Iain Sandoe - - * parser.c (cp_parser_objc_at_property_declaration): Use any - exisiting syntax error to suppress complaints about a missing - closing parenthesis in parsing property attributes. - -2020-10-30 Jakub Jelinek - - * semantics.c (finish_omp_clauses) : Handle - non-static members in methods. - * pt.c (tsubst_omp_clauses): Handle OMP_CLAUSE_ALLOCATE. - -2020-10-29 Marek Polacek - - DR 625 - PR c++/97479 - * parser.c (cp_parser_type_id_1): Reject using auto as - a template-argument in C++20. - -2020-10-29 Marek Polacek - - PR c++/93107 - * pt.c (do_auto_deduction): Call resolve_nondeduced_context for - the elements of a { } list. - -2020-10-29 Marek Polacek - - * typeck.c (do_warn_enum_conversions): Don't warn for SPACESHIP_EXPR. - (cp_build_binary_op): Reject float <=> enum or enum <=> float. Use - CP_INTEGRAL_TYPE_P instead of INTEGRAL_OR_ENUMERATION_TYPE_P. - -2020-10-29 Patrick Palka - - * constraint.cc (get_normalized_constraints): Remove 'args' - parameter. Pass NULL_TREE as the initial template arguments to - normalize_expression. - (get_normalized_constraints_from_info): Remove 'args' parameter - and adjust the call to get_normalized_constraints. - (get_normalized_constraints_from_decl): Remove 'args' local - variable and adjust call to get_normalized_constraints_from_info. - (normalize_concept_definition): Remove 'args' local variable - and adjust call to get_normalized_constraints. - (normalize_constraint_expression): Remove the two-parameter - overload. Remove 'args' parameter from the three-parameter - overload and update function comment accordingly. Remove - default argument from 'diag' parameter. Adjust call to - get_normalized_constraints. - (finish_nested_requirement): Adjust call to - normalize_constraint_expression. - (strictly_subsumes): Remove 'args' parameter. Adjust call to - get_normalized_constraints_from_info. - (weakly_subsumes): Likewise. - * cp-tree.h (strictly_subsumes): Remove 'args' parameter. - (weakly_subsumes): Likewise. - * pt.c (process_partial_specialization): Adjust call to - strictly_subsumes. - (is_compatible_template_arg): Adjust call to weakly_subsumes. - -2020-10-29 Patrick Palka - - PR c++/97412 - * constraint.cc (normalize_concept_check): Don't call - tsubst_template_args when 'args' is NULL. - -2020-10-29 Jason Merrill - - PR c++/97388 - * constexpr.c (cxx_eval_outermost_constant_expr): Revert to - original expression if evaluation sets non_constant_p. - -2020-10-29 Jakub Jelinek - Jason Merrill - - PR c++/97388 - * constexpr.c (cxx_bind_parameters_in_call): Set non_constant_args - if the parameter type has a non-trivial destructor. - (cxx_eval_call_expression): Only unshare arguments if we're - memoizing this evaluation. - -2020-10-29 Jakub Jelinek - - PR c++/95808 - * cp-tree.h (enum cp_tree_index): Add CPTI_HEAP_VEC_UNINIT_IDENTIFIER - and CPTI_HEAP_VEC_IDENTIFIER. - (heap_vec_uninit_identifier, heap_vec_identifier): Define. - * decl.c (initialize_predefined_identifiers): Initialize those - identifiers. - * constexpr.c (cxx_eval_call_expression): Reject array allocations - deallocated with non-array deallocation or non-array allocations - deallocated with array deallocation. - (non_const_var_error): Handle heap_vec_uninit_identifier and - heap_vec_identifier too. - (cxx_eval_constant_expression): Handle also heap_vec_uninit_identifier - and in that case during initialization replace it with - heap_vec_identifier. - (find_heap_var_refs): Handle heap_vec_uninit_identifier and - heap_vec_identifier too. - -2020-10-29 Nathan Sidwell - - * pt.c (push_template_decl): Do not give function-scope entities - other than implicit typedefs a template header. Do not readd - template info to a redeclared template. - -2020-10-28 Marek Polacek - - * decl.c (grokdeclarator): Offer a fix-it hint for the "unnecessary - parentheses in declaration" warning. - * parser.c (cp_parser_direct_declarator): When setting - declarator->parenthesized, use a location range. - -2020-10-28 Marek Polacek - - PR c++/97573 - * call.c (build_conditional_expr_1): Warn about the deprecated - enum/real type conversion in C++20. Also warn about a non-enumerated - and enumerated type in ?: when -Wenum-conversion is on. - * typeck.c (do_warn_enum_conversions): New function. - (cp_build_binary_op): Call it. - -2020-10-28 Marek Polacek - - PR c++/96675 - PR c++/96742 - * pt.c (tsubst_copy_and_build): Call value_dependent_expression_p or - type_dependent_expression_p instead of type_dependent_expression_p_push. - But only call value_dependent_expression_p for expressions that are - potential_constant_expression. - -2020-10-28 Marek Polacek - - PR c++/94799 - * parser.c (cp_parser_class_name): Use parser->scope when - setting typename_p. - -2020-10-28 Marek Polacek - - PR c++/86773 - * parser.c (cp_parser_fold_expression): Return error_mark_node - if a left fold is preceded by an expression. - -2020-10-28 Nathan Sidwell - - * parser.c (cp_parser_omp_declare_reduction): Set - DECL_LOCAL_DECL_P before push_template_decl. - * pt.c (instantiate_body): Nested fns do not have template_info. - -2020-10-28 Patrick Palka - - PR c++/95132 - * decl2.c (mark_used): Move up the constraints_satisfied_p check - so that we check constraints before calling maybe_instantiate_decl. - -2020-10-28 Nathan Sidwell - - * pt.c (push_template_decl): Refactor for some RAII. - -2020-10-28 Jakub Jelinek - - * parser.c (cp_parser_omp_clause_name): Handle allocate. - (cp_parser_omp_clause_allocate): New function. - (cp_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_ALLOCATE. - (OMP_FOR_CLAUSE_MASK, OMP_SECTIONS_CLAUSE_MASK, - OMP_PARALLEL_CLAUSE_MASK, OMP_SINGLE_CLAUSE_MASK, - OMP_TASK_CLAUSE_MASK, OMP_TASKGROUP_CLAUSE_MASK, - OMP_DISTRIBUTE_CLAUSE_MASK, OMP_TEAMS_CLAUSE_MASK, - OMP_TARGET_CLAUSE_MASK, OMP_TASKLOOP_CLAUSE_MASK): Add - PRAGMA_OMP_CLAUSE_ALLOCATE. - * semantics.c (finish_omp_clauses): Handle OMP_CLAUSE_ALLOCATE. - * pt.c (tsubst_omp_clauses): Likewise. - -2020-10-27 Nathan Sidwell - - * cp-tree.h (struct lang_type): Delete nested_udts field. - (CLASSTYPE_NESTED_UTDS): Delete. - * name-lookup.h (binding_table, binding_entry): Delete typedefs. - (bt_foreach_proc): Likewise. - (struct binding_entry_s): Delete. - (SCOPE_DEFAULT_HT_SIZE, CLASS_SCOPE_HT_SIZE) - (NAMESPACE_ORDINARY_HT_SIZE, NAMESPACE_STD_HT_SIZE) - (GLOBAL_SCOPE_HT_SIZE): Delete. - (binding_table_foreach, binding_table_find): Delete declarations. - * name-lookup.c (ENTRY_INDEX): Delete. - (free_binding_entry): Delete. - (binding_entry_make, binding_entry_free): Delete. - (struct binding_table_s): Delete. - (binding_table_construct, binding_table_free): Delete. - (binding_table_new, binding_table_expand): Delete. - (binding_table_insert, binding_table_find): Delete. - (binding_table_foreach): Delete. - (maybe_process_template_type_declaration): Delete - CLASSTYPE_NESTED_UTDS insertion. - (do_pushtag): Likewise. - * decl2.c (bt_reset_linkage_1): Fold into reset_type_linkage_1. - (reset_type_linkage_2, bt_reset_linkage_2): Fold into - reset_type_linkage. - * pt.c (instantiate_class_template_1): Delete NESTED_UTDs comment. - (bt_instantiate_type_proc): Delete. - (do_type_instantiation): Instantiate implicit typedef fields. - Delete NESTED_UTD walk. - * search.c (lookup_field_r): Delete unreachable NESTED_UTD - search. - -2020-10-27 Nathan Sidwell - - * parser.c (cp_parser_explicit_instantiation): Refactor some RAII. - * pt.c (bt_instantiate_type_proc): DATA is the tree, pass type to - do_type_instantiation. - (do_type_instantiation): Require T to be a type. Refactor for - some RAII. - -2020-10-26 Ville Voutilainen - - * cp-tree.h (CPTK_IS_NOTHROW_ASSIGNABLE): New. - (CPTK_IS_NOTHROW_CONSTRUCTIBLE): Likewise. - (is_nothrow_xible): Likewise. - * method.c (is_nothrow_xible): New. - (is_trivially_xible): Tweak. - * parser.c (cp_parser_primary_expression): Handle the new RID_*. - (cp_parser_trait_expr): Likewise. - * semantics.c (trait_expr_value): Handle the new RID_*. - (finish_trait_expr): Likewise. - -2020-10-24 Marek Polacek - - PR c++/96241 - * constexpr.c (cxx_eval_array_reference): Set up ctx->ctor if we - are initializing an aggregate. Call free_constructor on the new - CONSTRUCTOR if it isn't returned from cxx_eval_constant_expression. - -2020-10-23 Marek Polacek - - PR c++/91741 - * typeck.c (cp_build_binary_op): Implement -Wsizeof-array-div. - -2020-10-22 Patrick Palka - - PR c++/97328 - * constexpr.c (init_subob_ctx): Don't punt on RANGE_EXPR - indexes, instead build a sub-aggregate initialization context - with no subobject. - -2020-10-22 Patrick Palka - - PR c++/96575 - * constexpr.c (cxx_eval_constant_expression) - : Lower it to a CONSTRUCTOR. - (potential_constant_expression_1) : Remove - now-redundant handling of COMPOUND_EXPR with EMPTY_CLASS_EXPR - second operand. - : Return true instead of false. - -2020-10-22 Patrick Palka - - PR c++/97511 - * decl.c (duplicate_decls): Return NULL_TREE if - DECL_TEMPLATE_PARM_P differ. - -2020-10-20 Nathan Sidwell - - * name-lookup.c (push_local_extern_decl_alias): Reconstextualize - alias' parm decls. Drop any default args. - -2020-10-19 Iain Sandoe - - PR c++/97438 - * coroutines.cc (struct coroutine_info): Add a field to - record that we emitted a promise type error. - (coro_promise_type_found_p): Check for the case that the - promise type contains both return_void and return_value. - Emit an error if so, with information about the wrong - type methods. - -2020-10-16 Nathan Sidwell - - PR c++/97460 - * pt.c (push_template_decl): Check DECL_LANG_SPECIFIC in friend - case. - -2020-10-16 Nathan Sidwell - - PR c++/96258 - * parser.c (cp_parser_declaration): Make token2 point to EOF if - token1 was EOF. - -2020-10-15 Jason Merrill - - PR c++/95844 - * decl.c (copy_fn_p): Return false for a function that is neither a - constructor nor an assignment operator. - (move_signature_fn_p): Likewise. - -2020-10-15 Marek Polacek - - PR c++/97406 - PR c++/85901 - * cxx-pretty-print.c (pp_cxx_type_specifier_seq): Handle OFFSET_TYPE. - (cxx_pretty_printer::abstract_declarator): Fix the printing of ')'. - (cxx_pretty_printer::direct_abstract_declarator): Handle OFFSET_TYPE. - (cxx_pretty_printer::type_id): Likewise. Print the abstract declarator - for pointers-to-members. - -2020-10-14 Jason Merrill - - PR c++/97358 - * pt.c (check_for_bare_parameter_packs): Diagnose use of - capture pack. - -2020-10-14 Nathan Sidwell - - * cp-tree.h (struct lang_decl_fn): Adjust context comment. - (DECL_FRIEND_P): Replace with ... - (DECL_UNIQUE_FRIEND_P): ... this. Only for FUNCTION_DECLs. - (DECL_FRIEND_CONTEXT): Adjust. - * class.c (add_implicitly_declared_members): Detect friendly - spaceship from context. - * constraint.cc (remove_constraints): Use a checking assert. - (maybe_substitute_reqs_for): Use DECL_UNIQUE_FRIEND_P. - * decl.c (check_no_redeclaration_friend_default_args): - DECL_UNIQUE_FRIEND_P is signficant, not hiddenness. - (duplicate_decls): Adjust DECL_UNIQUE_FRIEND_P clearing. - (redeclaration_error_message): Use DECL_UNIQUE_FRIEND_P. - (start_preparsed_function): Correct in-class friend processing. - Refactor some initializers. - (grokmethod): Directly check friend decl-spec. - * decl2.c (grokfield): Check DECL_UNIQUE_FRIEND_P. - * friend.c (do_friend): Set DECL_UNIQUE_FRIEND_P first, remove - extraneous conditions. Don't re set it afterwards. - * name-lookup.c (lookup_elaborated_type_1): Simplify revealing - code. - (do_pushtag): Likewise. - * pt.c (optimize_specialization_lookup_p): Check - DECL_UNIQUE_FRIEND_P. - (push_template_decl): Likewise. Drop unneeded friend setting. - (type_dependent_expression_p): Check DECL_UNIQUE_FRIEND_P. - -2020-10-14 Nathan Sidwell - - * name-lookup.c (push_local_extern_decl_alias): Push into alias's - namespace and use pushdecl. - (do_pushdecl_with_scope): Clarify behaviour. - -2020-10-12 Martin Sebor - - PR c++/97201 - * error.c (dump_type_suffix): Handle both the C and C++ forms of - zero-length arrays. - -2020-10-12 Martin Sebor - - PR c++/96511 - PR middle-end/96384 - * init.c (warn_placement_new_too_small): Call builtin_objsize instead - of duplicating what it does. - -2020-10-08 Jason Merrill - - PR c++/96805 - PR c++/96199 - * pt.c (tsubst_aggr_type): Don't build a TYPENAME_TYPE when - entering_scope. - (tsubst_template_decl): Use tsubst_aggr_type. - -2020-10-08 Patrick Palka - - PR c++/97052 - * constraint.cc (build_type_constraint): Temporarily increment - processing_template_decl before calling build_concept_check. - * pt.c (make_constrained_placeholder_type): Likewise. - -2020-10-08 Patrick Palka - - PR c++/96229 - * parser.c (cp_parser_class_specifier_1): Move call to - associate_classtype_constraints from here to ... - (cp_parser_class_head): ... here. - * pt.c (is_compatible_template_arg): Correct documentation to - say "argument is _no_ more constrained than the parameter". - -2020-10-07 Marek Polacek - - PR c++/97010 - * pt.c (tsubst_copy_and_build) : Call - tsubst_copy_and_build explicitly instead of using the RECUR macro. - Handle a TEMPLATE_ID_EXPR with an IDENTIFIER_NODE as its operand. - : Perform ADL for a TEMPLATE_ID_EXPR with an - IDENTIFIER_NODE as its operand. - -2020-10-07 Patrick Palka - - PR c++/88115 - PR libstdc++/97273 - * tree.c (cp_tree_equal) : Return false if - ALIGNOF_EXPR_STD_P differ. - -2020-10-07 Nathan Sidwell - - * cp-tree.h (struct language_function): Delete extern_decl_map. - (DECL_LOCAL_DECL_ALIAS): New. - * name-lookup.h (is_local_extern): Delete. - * name-lookup.c (set_local_extern_decl_linkage): Replace with ... - (push_local_extern_decl): ... this new function. - (do_pushdecl): Call new function after pushing new decl. Unhide - hidden non-functions. - (is_local_extern): Delete. - * decl.c (layout_var_decl): Do not allow VLA local externs. - * decl2.c (mark_used): Also mark DECL_LOCAL_DECL_ALIAS. Drop old - local-extern treatment. - * parser.c (cp_parser_oacc_declare): Deal with local extern aliases. - * pt.c (tsubst_expr): Adjust local extern instantiation. - * cp-gimplify.c (cp_genericize_r): Remap DECL_LOCAL_DECLs. - -2020-10-07 Nathan Sidwell - - * cp-tree.h (DECL_BUILTIN_P): Rename to ... - (DECL_UNDECLARED_BUILTIN_P): ... here. - * decl.c (duplicate_decls): Adjust. - * name-lookup.c (anticipated_builtin_p): Adjust. - (do_nonmember_using_decl): Likewise. - -2020-10-07 Nathan Sidwell - - * tree.c (build_cp_fntype_variant): Clear - TYPE_DEPENDENT_P_VALID if necessary. - -2020-10-06 Marek Polacek - - PR c++/97297 - * parser.c (cp_parser_direct_declarator): When checking if a - name is a function template declaration for the P0634R3 case, - look in uninstantiated templates too. - -2020-10-05 Marek Polacek - - * cp-tree.h (NON_UNION_CLASS_TYPE_P): Fix typo in a comment. - -2020-10-05 Richard Biener - Jakub Jelinek - - PR c++/97197 - * error.c (dump_expr): Handle TARGET_MEM_REF. - -2020-10-05 Nathan Sidwell - - * name-lookup.c (maybe_add_fuzzy_decl): New. - (maybe_add_fuzzy_binding): New. - (consider_binding_level): Use intermediate sortable vector for - namespace bindings. - -2020-10-02 Marek Polacek - - PR c++/97014 - * cxx-pretty-print.c (pp_cxx_template_argument_list): If the - argument is template_parm_object_p, print its DECL_INITIAL. - -2020-10-02 Nathan Sidwell - - * cp-tree.h (lang_decl_base): anticipated_p is not used for - anticipatedness. - (DECL_ANTICIPATED): Delete. - * decl.c (duplicate_decls): Delete DECL_ANTICIPATED_management, - use was_hidden. - (cxx_builtin_function): Drop DECL_ANTICIPATED setting. - (xref_tag_1): Drop DECL_ANTICIPATED assert. - * name-lookup.c (name_lookup::adl_class_only): Drop - DECL_ANTICIPATED check. - (name_lookup::search_adl): Always dedup. - (anticipated_builtin_p): Reimplement. - (do_pushdecl): Drop DECL_ANTICIPATED asserts & update. - (lookup_elaborated_type_1): Drop DECL_ANTICIPATED update. - (do_pushtag): Drop DECL_ANTICIPATED setting. - * pt.c (push_template_decl): Likewise. - (tsubst_friend_class): Likewise. - -2020-10-02 Nathan Sidwell - - * name-lookup.c (consider_decl): New, broken out of ... - (consider_binding_level): ... here. Iterate the hash table for - namespace bindings. - -2020-10-02 Nathan Sidwell - - * cp-tree.h (base_ctor_omit_inherited_parms): Declare. - * class.c (add_method): Refactor main loop, only pass fns to - ctor_omit_inherited_parms. - (build_cdtor_clones): Rename bool parms. - (clone_cdtor): Call base_ctor_omit_inherited_parms. - * method.c (base_ctor_omit_inherited_parms): New, broken out of - ... - (ctor_omit_inherited_parms): ... here, call it with - DECL_CLONED_FUNCTION. - -2020-10-02 Nathan Sidwell - - * cp-tree.h (cp_fname_init): Delete declaration. - * decl.c (cp_fname_init): Merge into only caller ... - (cp_make_fname): ... here & refactor. - -2020-10-02 Jason Merril - - * call.c (build_operator_new_call): Set CALL_FROM_NEW_OR_DELETE_P. - (build_op_delete_call): Likewise. - * init.c (build_new_1, build_vec_delete_1, build_delete): Not here. - (build_delete): - -2020-10-02 Jason Merril - - * lambda.c (call_from_lambda_thunk_p): New. - * cp-gimplify.c (cp_genericize_r): Use it. - * pt.c (tsubst_copy_and_build): Use it. - * typeck.c (check_return_expr): Use it. - * cp-tree.h: Declare it. - (CALL_FROM_NEW_OR_DELETE_P): Move to gcc/tree.h. - -2020-10-01 Nathan Sidwell - - * cp-tree.h (DECL_ANTICIPATED): Adjust comment. - (DECL_HIDDEN_P, TYPE_HIDDEN_P): Delete. - * tree.c (ovl_insert): Delete DECL_HIDDEN_P assert. - (ovl_skip_hidden): Likewise. - -2020-10-01 Nathan Sidwell - - * name-lookup.c (pushdecl_top_level): Assert incoming context is - null, add global_namespace context. - (pushdecl_top_level_and_finish): Likewise. - * pt.c (get_template_parm_object): Clear decl context before - pushing. - * semantics.c (finish_compound_literal): Likewise. - -2020-10-01 Nathan Sidwell - - * decl.c (lookup_and_check_tag): Refactor. - -2020-10-01 Jakub Jelinek - - PR c++/96994 - * call.c (build_over_call): If obj_arg is non-NULL, return INIT_EXPR - setting obj_arg to call. - -2020-10-01 Jakub Jelinek - - PR c++/97195 - * constexpr.c (cxx_eval_call_expression): Don't VERIFY_CONSTANT the - second argument. - -2020-10-01 Marek Polacek - - PR c++/90210 - * pt.c (do_class_deduction): Don't prune explicit deduction guides - in copy-list-initialization. In copy-list-initialization, if an - explicit deduction guide was selected, give an error. - -2020-09-30 Nathan Sidwell - - * cp-tree.h (struct lang_decl_fn): Remove hidden_friend_p. - (DECL_HIDDEN_FRIEND_P): Delete. - * call.c (add_function_candidate): Drop assert about anticipated - decl. - (build_new_op_1): Drop koenig lookup flagging for hidden friend. - * decl.c (duplicate_decls): Drop HIDDEN_FRIEND_P updating. - * name-lookup.c (do_pushdecl): Likewise. - (set_decl_namespace): Discover hiddenness from OVL_HIDDEN_P. - * pt.c (check_explicit_specialization): Record found_hidden - explicitly. - -2020-09-29 Marek Polacek - - PR c++/94695 - * call.c (ref_conv_binds_directly_p): New function. - * cp-tree.h (ref_conv_binds_directly_p): Declare. - * parser.c (warn_for_range_copy): New function. - (cp_convert_range_for): Call it. - -2020-09-29 Nathan Sidwell - - * cp-tree.h (ovl_insert): Change final parm to hidden-or-using - indicator. - * name-lookup.h (HIDDEN_TYPE_BINDING_P): New. - (struct cxx_binding): Add type_is_hidden flag. - * tree.c (ovl_insert): Change using_p parm to using_or_hidden, - adjust. - (ovl_skip_hidden): Assert we never see a naked hidden decl. - * decl.c (xref_tag_1): Delete unhiding friend from here (moved to - lookup_elaborated_type_1). - * name-lookup.c (STAT_TYPE_HIDDEN_P, STAT_DECL_HIDDEN_P): New. - (name_lookup::search_namespace_only): Check new hidden markers. - (cxx_binding_make): Clear HIDDEN_TYPE_BINDING_P. - (update_binding): Update new hidden markers. - (lookup_name_1): Check HIDDEN_TYPE_BINDING_P and simplify friend - ignoring. - (lookup_elaborated_type_1): Use new hidden markers. Reveal the - decl here. - -2020-09-29 Nathan Sidwell - - * name-lookup.c (create_local_binding): Do not clear - INHERITED_VALUE_BINDING_P here. - (name_lookup::process_binding): Move done hidden-decl triage to ... - (name_lookup::search_namespace_only): ... here, its only caller. - (cxx_binding_make): Clear flags here. - (push_binding): Not here. - (pop_local_binding): RAII. - (update_binding): Refactor. - (do_pushdecl): Assert we're never revealing a local binding. - (do_pushdecl_with_scope): Directly call do_pushdecl. - (get_class_binding): Do not clear LOCAL_BINDING_P here. - * pt.c (push_template_decl): Set friend & anticipated before - pushing. - -2020-09-29 Nathan Sidwell - - * name-lookup.c (update_binding): We never meet two implicit - typedefs. - (do_pushdecl): Adjust set_identifier_type_value_with_scope calls. - (set_identifier_type_value_with_scope): Do not update binding in - the namespace-case. Assert it is already there. - -2020-09-25 Nathan Sidwell - - * cp-tree.h (duplicate_decls): Replace 'is_friend' with 'hiding' - and add 'was_hidden'. - * name-lookup.h (pushdecl_namespace_level): Replace 'is_friend' - with 'hiding'. - (pushdecl): Likewise. - (pushdecl_top_level): Drop is_friend parm. - * decl.c (check_no_redeclaration_friend_default_args): Rename parm - olddelc_hidden_p. - (duplicate_decls): Replace 'is_friend' with 'hiding' - and 'was_hidden'. Do minimal adjustments in body. - (cxx_builtin_function): Pass 'hiding' to pushdecl. - * friend.c (do_friend): Pass 'hiding' to pushdecl. - * name-lookup.c (supplement_binding_1): Drop defaulted arg to - duplicate_decls. - (update_binding): Replace 'is_friend' with 'hiding'. Drop - defaulted arg to duplicate_decls. - (do_pushdecl): Replace 'is_friend' with 'hiding'. Assert no - surprise hidhing. Adjust duplicate_decls calls to inform of old - decl's hiddennes. - (pushdecl): Replace 'is_friend' with 'hiding'. - (set_identifier_type_value_with_scope): Adjust update_binding - call. - (do_pushdecl_with_scope): Replace 'is_friend' with 'hiding'. - (pushdecl_outermost_localscope): Drop default arg to - do_pushdecl_with_scope. - (pushdecl_namespace_level): Replace 'is_friend' with 'hiding'. - (pushdecl_top_level): Drop is_friend parm. - * pt.c (register_specialization): Comment duplicate_decls call - args. - (push_template_decl): Commont pushdecl_namespace_level. - (tsubst_friend_function, tsubst_friend_class): Likewise. - -2020-09-25 Nathan Sidwell - - * name-lookup.h (enum tag_scope): Replace with ... - (enum class TAG_how): ... this. Add HIDDEN_FRIEND value. - (lookup_type_scope): Replace with ... - (lookup_elaborated_type): ... this. - (pushtag): Use TAG_how, not tag_scope. - * cp-tree.h (xref_tag): Parameter is TAG_how, not tag_scope. - * decl.c (lookup_and_check_tag): Likewise. Adjust. - (xref_tag_1, xref_tag): Likewise. adjust. - (start_enum): Adjust lookup_and_check_tag call. - * name-lookup.c (lookup_type_scope_1): Rename to ... - (lookup_elaborated_type_1) ... here. Use TAG_how, not tag_scope. - (lookup_type_scope): Rename to ... - (lookup_elaborated_type): ... here. Use TAG_how, not tag_scope. - (do_pushtag): Use TAG_how, not tag_scope. Adjust. - (pushtag): Likewise. - * parser.c (cp_parser_elaborated_type_specifier): Adjust. - (cp_parser_class_head): Likewise. - -2020-09-25 Nathan Sidwell - - * cp-tree.h (DECL_BUILTIN_P): New. - * decl.c (duplicate_decls): Use it. Do not treat omp-udr as a - builtin. - * name-lookup.c (anticipated_builtin): Use it. - (set_decl_context_in_fn): Function-scope OMP UDRs have function context. - (do_nonmember_using_decl): Use DECL_BUILTIN_P. - * parser.c (cp_parser_omp_declare_reduction): Function-scope OMP - UDRs have function context. Assert we never find a valid duplicate. - * pt.c (tsubst_expr): Function-scope OMP UDRs have function context. - -2020-09-24 Nathan Sidwell - - * cp-tree.h (duplicate_decls): Default is_friend to false. - (xref_tag): Default tag_scope & tpl_header_p to ts_current & false. - (push_template_decl_real): Default is_friend to false. Rename to - ... - (push_template_decl): ... here. Delete original decl. - * name-lookup.h (pushdecl_namespace_level): Default is_friend to - false. - (pushtag): Default tag_scope to ts_current. - * coroutines.cc (morph_fn_to_coro): Drop default args to xref_tag. - * decl.c (start_decl): Drop default args to duplicate_decls. - (start_enum): Drop default arg to pushtag & xref_tag. - (start_preparsed_function): Pass DECL_FRIEND_P to - push_template_decl. - (grokmethod): Likewise. - * friend.c (do_friend): Rename push_template_decl_real calls. - * lambda.c (begin_lamnbda_type): Drop default args to xref_tag. - (vla_capture_type): Likewise. - * name-lookup.c (maybe_process_template_type_declaration): Rename - push_template_decl_real call. - (pushdecl_top_level_and_finish): Drop default arg to - pushdecl_namespace_level. - * pt.c (push_template_decl_real): Assert no surprising friend - functions. Rename to ... - (push_template_decl): ... here. Delete original function. - (lookup_template_class_1): Drop default args from pushtag. - (instantiate_class_template_1): Likewise. - * ptree.c (debug_overload): Print hidden and using markers. - * rtti.c (init_rtti_processing): Drop refault args from xref_tag. - (build_dynamic_cast_1, tinfo_base_init): Likewise. - * semantics.c (begin_class_definition): Drop default args to - pushtag. - -2020-09-24 Nathan Sidwell - - PR c++/97186 - * pt.c (maybe_instantiate_noexcept): Local externs are never - member fns. - -2020-09-23 Nathan Sidwell - - * name-lookup.h (typedef cxx_binding): Delete tdef. - (typedef cp_binding_level): Likewise. - (struct cxx_binding): Flags are bools. - -2020-09-23 Nathan Sidwell - - PR c++/97171 - * pt.c (tsubst_copy) [FUNCTION_DECL,VAR_DECL]: Retrieve local - specialization for DECL_LOCAL_P decls. - -2020-09-22 Patrick Palka - - PR c++/95310 - * pt.c (corresponding_template_parameter): Define. - (keep_template_parm): Use it to adjust the given template - parameter to the corresponding in-scope one from ctx_parms. - -2020-09-22 Nathan Sidwell - - * cp-tree.h (xref_tag_from_type): Don't declare. - * decl.c (xref_tag_from_type): Delete. - * pt.c (lookup_template_class_1): Erroneously located class - definitions just give error_mark, don't try and inject it into the - namespace. - -2020-09-22 Jakub Jelinek - - PR c++/97145 - * constexpr.c (cxx_eval_builtin_function_call): Return void_node for - calls to __sanitize_ptr_{sub,cmp} builtins. - -2020-09-22 Nathan Sidwell - - * pt.c (instantiate_class_template_1): Do not repush and unhide - injected friend. - -2020-09-21 Marek Polacek - - PR c++/90583 - DR 1722 - * lambda.c (maybe_add_lambda_conv_op): Mark the conversion function - as noexcept. - -2020-09-21 Marek Polacek - - * pt.c (deduction_guides_for): Add a bool parameter. Set it. - (do_class_deduction): Warn when CTAD succeeds but the type doesn't - have any explicit deduction guides. - -2020-09-21 Nathan Sidwell - - * decl.c (xref_tag_1): Use IDENTIFIER_LAMBDA_P to detect lambdas. - * lambda.c (begin_lambda_type): Use ts_current to push the tag. - * name-lookup.h (enum tag_scope): Drop ts_lambda. - -2020-09-21 Marek Polacek - - PR c++/97099 - * decl.c (redeclaration_error_message): Detect a redeclaration of - deduction guides. - -2020-09-19 Sandra Loosemore - - * cp-gimplify.c (enum bc_t, bc_label): Move to c-family. - (begin_bc_block, finish_bc_block, get_bc_label): Likewise. - (genericize_cp_loop): Likewise. - (genericize_for_stmt, genericize_while_stmt): Likewise. - (genericize_do_stmt, genericize_switch_stmt): Likewise. - (genericize_continue_stmt, genericize_break_stmt): Likewise. - (genericize_omp_for_stmt): Likewise. - (cp_genericize_r): Call c_genericize_control_stmt instead of - above functions directly. - (cp_genericize): Call save_bc_state and restore_bc_state instead - of manipulating bc_label directly. - * cp-objcp-common.c (cxx_block_may_fallthru): Defer to - c_block_may_fallthru instead of handling SWITCH_STMT here. - (cp_common_init_ts): Move handling of loop and switch-related - statements to c-family. - * cp-tree.def (FOR_STMT, WHILE_STMT, DO_STMT): Move to c-family. - (BREAK_STMT, CONTINUE_STMT, SWITCH_STMT): Likewise. - * cp-tree.h (LABEL_DECL_BREAK, LABEL_DECL_CONTINUE): Likewise. - (WHILE_COND, WHILE_BODY): Likewise. - (DO_COND, DO_BODY): Likewise. - (FOR_INIT_STMT, FOR_COND, FOR_EXPR, FOR_BODY, FOR_SCOPE): Likewise. - (SWITCH_STMT_COND, SWITCH_STMT_BODY): Likewise. - (SWITCH_STMT_TYPE, SWITCH_STMT_SCOPE): Likewise. - (SWITCH_STMT_ALL_CASES_P, SWITCH_STMT_NO_BREAK_P): Likewise. - * cxx-pretty-print.c (cxx_pretty_printer::statement): Move code - to handle structured loop and switch tree nodes to c-family. - * dump.c (cp_dump_tree): Likewise. - -2020-09-19 Patrick Palka - - PR c++/96531 - PR c++/97103 - * constraint.cc (map_arguments): Call template_parm_to_arg - in the self-mapping case. - (finish_shorthand_constraint): No need to build a TREE_LIST - before calling template_parm_to_arg. - * pt.c (template_parm_to_arg): Rewrite to handle TEMPLATE_PARM_P - nodes as well as DECL_TEMPLATE_PARM_P nodes, and to make the - overlying TREE_LIST node optional. - (keep_template_parm): Don't record a BOUND_TEMPLATE_TEMPLATE_PARM, - instead record its corresponding TEMPLATE_TEMPLATE_PARM. - (convert_generic_types_to_packs): Don't call - template_parm_to_arg. - -2020-09-19 Patrick Palka - - PR c++/97051 - * constraint.cc (satisfy_atom): Pass true as the - manifestly_const_eval argument to maybe_constant_value. - -2020-09-18 Jason Merrill - - PR bootstrap/97118 - * decl.c (complete_vars): Only call layout_var_decl if completing - the type succeeded. - -2020-09-18 Jason Merrill - - * decl.c (complete_vars): Call layout_var_decl. - -2020-09-17 Patrick Palka - - PR c++/96409 - PR c++/96410 - * constraint.cc (tsubst_requires_expr): Use REQUIRES_EXPR_PARMS - and REQUIRES_EXPR_REQS. Use REQUIRES_EXPR_EXTRA_ARGS, - add_extra_args and build_extra_args to defer substitution until - we have all the template arguments. - (finish_requires_expr): Adjust the call to build_min so that - REQUIRES_EXPR_EXTRA_ARGS gets set to NULL_TREE. - * cp-tree.def (REQUIRES_EXPR): Give it a third operand. - * cp-tree.h (REQUIRES_EXPR_PARMS, REQUIRES_EXPR_REQS, - REQUIRES_EXPR_EXTRA_ARGS): Define. - (add_extra_args, build_extra_args): Declare. - -2020-09-16 Nathan Sidwell - - * cp-tree.h (cp_check_omp_declare_reduction): Return bool. - * semantics.c (cp_check_omp_declare_reduction): Return true on for - success. - * pt.c (push_template_decl_real): OMP reductions do not get a - template header. - (tsubst_function_decl): Remove special casing for local decl omp - reductions. - (tsubst_expr): Call instantiate_body for a local omp reduction. - (instantiate_body): Add nested_p parm, and deal with such - instantiations. - (instantiate_decl): Reject FUNCTION_SCOPE entities, adjust - instantiate_body call. - -2020-09-16 Nathan Sidwell - - * pt.c (instantiate_body): Remove 'nested' var, simplify - push_to_top logic. - -2020-09-16 Nathan Sidwell - - * pt.c (instantiate_body): New, broken out of .. - (instantiate_decl): ... here. Call it. - -2020-09-15 Nathan Sidwell - - * pt.c (push_template_decl_real): OMP reductions retain a template - header. - (tsubst_function_decl): Likewise. - -2020-09-15 Tobias Burnus - - PR fortran/96668 - * cp-gimplify.c (cxx_omp_finish_clause): Add bool openacc arg. - * cp-tree.h (cxx_omp_finish_clause): Likewise - * semantics.c (handle_omp_for_class_iterator): Update call. - -2020-09-14 Marek Polacek - - * pt.c (push_template_decl_real): Use VAR_OR_FUNCTION_DECL_P. - -2020-09-14 Nathan Sidwell - - * pt.c (push_template_decl_real): Don't attach a template head to - local externs. - (tsubst_function_decl): Add support for headless local extern - decls. - (tsubst_decl): Add support for headless local extern decls. - -2020-09-11 Nathan Sidwell - - * decl.c (grokfndecl): Don't attach to local extern. - -2020-09-11 Nathan Sidwell - - * parser.c (cp_parser_objc_method_definition_list): Reimplement - loop, make sure we pop scope. - -2020-09-11 Marek Polacek - - * cp-tree.h (LOOKUP_CONSTINIT): Remove. - (LOOKUP_REWRITTEN): Adjust. - * decl.c (duplicate_decls): Set DECL_DECLARED_CONSTINIT_P. - (check_initializer): Use DECL_DECLARED_CONSTINIT_P instead of - LOOKUP_CONSTINIT. - (cp_finish_decl): Don't set DECL_DECLARED_CONSTINIT_P. Use - DECL_DECLARED_CONSTINIT_P instead of LOOKUP_CONSTINIT. - (grokdeclarator): Set DECL_DECLARED_CONSTINIT_P. - * decl2.c (grokfield): Don't handle LOOKUP_CONSTINIT. - * parser.c (cp_parser_decomposition_declaration): Remove - LOOKUP_CONSTINIT handling. - (cp_parser_init_declarator): Likewise. - * pt.c (tsubst_expr): Likewise. - (instantiate_decl): Likewise. - * typeck2.c (store_init_value): Use DECL_DECLARED_CONSTINIT_P instead - of LOOKUP_CONSTINIT. - -2020-09-10 Nathan Sidwell - - * cp-tree.h (TINFO_VAR_DECLARED_CONSTINIT): Replace with ... - (DECL_DECLARED_CONSTINIT_P): ... this. - * decl.c (start_decl): No need to retrofit_lang_decl for constinit - flag. - (cp_finish_decl): Use DECL_DECLARED_CONSTINIT_P. - * pt.c (tsubst_decl): No need to handle constinit flag - propagation. - (tsubst_expr): Or here. - -2020-09-10 Nathan Sidwell - - * cp-tree.h (DECL_LOCAL_FUNCTION_P): Rename to ... - (DECL_LOCAL_DECL_P): ... here. Accept both fns and vars. - * decl.c (start_decl): Set DECL_LOCAL_DECL_P for local externs. - (omp_declare_variant_finalize_one): Use DECL_LOCAL_DECL_P. - (local_variable_p): Simplify. - * name-lookup.c (set_decl_context_in_fn): Assert DECL_LOCAL_DECL_P - is as expected. Simplify. - (do_pushdecl): Don't set decl_context_in_fn for friends. - (is_local_extern): Simplify. - * call.c (equal_functions): Use DECL_LOCAL_DECL_P. - * parser.c (cp_parser_postfix_expression): Likewise. - (cp_parser_omp_declare_reduction): Likewise. - * pt.c (check_default_tmpl_args): Likewise. - (tsubst_expr): Assert nested reduction function is local. - (type_dependent_expression_p): Use DECL_LOCAL_DECL_P. - * semantics.c (finish_call_expr): Likewise. - -2020-09-09 Marek Polacek - - PR c++/77841 - * decl.c (reshape_init): If we're initializing a char array from - a string-literal that is enclosed in braces, unwrap it. - * init.c (build_new_1): Don't handle string-initializers here. - (build_new): Handle new-expression with paren-init when the - array bound is known. Always pass string constants to build_new_1 - enclosed in braces. Don't handle string-initializers in any - special way. - -2020-09-09 Marek Polacek - - PR c++/95164 - * decl.c (reshape_init_r): When initializing an aggregate member - with an initializer from an initializer-list, also consider - COMPOUND_LITERAL_P. - -2020-09-09 Nathan Sidwell - - * parser.c (cp_parser_omp_declare_reduction): Refactor to avoid - code duplication. Update DECL_TI_TEMPLATE's context. - * pt.c (tsubst_expr): For OMP reduction function, set context to - global_namespace before pushing. - (tsubst_omp_udr): Assert current_function_decl, add comment about - decl context. - -2020-09-09 Patrick Palka - - PR c++/96647 - * class.c (resolve_address_of_overloaded_function): Check - constraints_satisfied_p and perform return-type deduction via - maybe_instantiate_decl when considering non-template functions - in the overload set. - * cp-tree.h (maybe_instantiate_decl): Declare. - * decl2.c (maybe_instantiate_decl): Remove static. - -2020-09-04 Jason Merrill - - * expr.c (mark_use): Use iloc_sentinel. - -2020-09-03 Jakub Jelinek - - PR c++/96901 - * constexpr.c (fundef_copies_table): Change type from - hash_map * to decl_tree_map *. - -2020-09-03 Marek Polacek - - PR c++/92812 - * cp-tree.h (do_aggregate_paren_init): Declare. - * decl.c (do_aggregate_paren_init): New. - (grok_reference_init): Use it. - (check_initializer): Likewise. - * init.c (perform_member_init): Handle initializing an array from - a ()-list. Use do_aggregate_paren_init. - -2020-09-03 Jakub Jelinek - - PR c++/96862 - * constexpr.c (cxx_eval_outermost_constant_expr): Temporarily disable - flag_rounding_math during manifestly constant evaluation. - -2020-09-01 Marek Polacek - - PR c++/77841 - * init.c (build_new_1): Call reshape_init. - -2020-09-01 Jakub Jelinek - - PR c++/96867 - * semantics.c (handle_omp_array_sections_1): Test - DECL_ARRAY_PARAMETER_P only on PARM_DECLs. - -2020-08-31 Marek Polacek - Jason Merrill - - PR c++/93529 - * call.c (build_new_method_call_1): Use build_constructor_from_vec - instead of build_tree_list_vec + build_constructor_from_list. - * init.c (build_new_1): Handle new char[]{"foo"}. Use - build_constructor_from_vec instead of build_tree_list_vec + - build_constructor_from_list. - (build_new): Deduce the array size in new-expression if not - present. Handle ()-init. Handle initializing an array from - a string literal. - * parser.c (cp_parser_new_type_id): Leave [] alone. - (cp_parser_direct_new_declarator): Allow []. - * pt.c (type_dependent_expression_p): In a NEW_EXPR, consider - array types whose dimension has to be deduced type-dependent. - -2020-08-27 Martin Liska - - * class.c (build_vtbl_initializer): Set exact argument of a vector - growth function to true. - * constraint.cc (get_mapped_args): Likewise. - * decl.c (cp_maybe_mangle_decomp): Likewise. - (cp_finish_decomp): Likewise. - * parser.c (cp_parser_omp_for_loop): Likewise. - * pt.c (canonical_type_parameter): Likewise. - * rtti.c (get_pseudo_ti_init): Likewise. - -2020-08-26 Nathan Sidwell - - * decl.c (poplevel): A local-binding tree list holds the name in - TREE_PURPOSE. - * name-lookup.c (update_local_overload): Add id to TREE_PURPOSE. - (lookup_name_1): Deal with local-binding error_mark_node marker. - (op_unqualified_lookup): Return error_mark_node for 'nothing - found'. Retain global binding, check class binding here. - (maybe_save_operator_binding): Reimplement to always cache a - result. - (push_operator_bindings): Deal with 'ignore' marker. - -2020-08-25 Tobias Burnus - - PR c/96678 - * semantics.c (handle_omp_array_sections_1): Talk about - array function parameter in the error message. - -2020-08-25 Jakub Jelinek - - PR c++/96721 - * cp-tree.h (build_trivial_dtor_call): Add bool argument defaulted - to false. - * call.c (build_trivial_dtor_call): Add NO_PTR_DEREF argument. If - instance is a pointer and NO_PTR_DEREF is true, clobber the pointer - rather than what it points to. - * semantics.c (finish_call_expr): Call build_trivial_dtor_call with - true as NO_PTR_DEREF. - -2020-08-25 Jason Merrill - - PR c++/95428 - * optimize.c (populate_clone_array): Revert PR70462 change. - (maybe_clone_body): Likewise. - -2020-08-24 Nathan Sidwell - - * ptree.c (debug_overload): New. - -2020-08-19 Jason Merrill - - DR 2369 - * cp-tree.h (push_tinst_level, push_tinst_level_loc): Declare. - * constraint.cc (satisfy_declaration_constraints): - Use add_outermost_template_args and push_tinst_level. - * pt.c (add_outermost_template_args): Handle getting - a TEMPLATE_DECL as the first argument. - (push_tinst_level, push_tinst_level_loc): No longer static. - (fn_type_unification): Check satisfaction before non-dependent - conversions. - -2020-08-18 Nathan Sidwell - - * cp-tree.h (SET_TYPE_TEMPLTE_INFO): Do not deal with ALIAS templates. - * pt.c (lookup_template_class_1): Special-case alias template - template_info setting. - -2020-08-18 Jason Merrill - - PR c++/96199 - * pt.c (tsubst_aggr_type): Rewrite in C++17, too. - (maybe_dependent_member_ref): Likewise. - (build_deduction_guide): Re-substitute template parms. - * cp-tree.h (struct push_nested_class_guard): New. - * constraint.cc (get_normalized_constraints_from_decl): Use it. - -2020-08-18 Jason Merrill - - PR c++/96199 - * pt.c (maybe_dependent_member_ref): New. - (tsubst_copy) [CONST_DECL]: Use it. - [VAR_DECL]: Likewise. - (tsubst_aggr_type): Handle nested type. - -2020-08-18 Nathan Sidwell - - * name-lookup.c (qualify_lookup): Drop lambda checking here. - Reorder namespace & type checking. - (lookup_name_1): Do hidden lambda checking here. - -2020-08-14 Nathan Sidwell - - * name-lookup.h (lookup_name_real, lookup_name_nonclass): Rename - to ... - (lookup_name): ... these new overloads. - * name-lookup.c (identifier_type_value_1): Rename lookup_name_real - call. - (lookup_name_real_1): Rename to ... - (lookup_name_1): ... here. - (lookup_name_real): Rename to ... - (lookup_name): ... here. Rename lookup_name_real_1 call. - (lookup_name_nonclass): Delete. - * call.c (build_operator_new_call): Rename lookup_name_real call. - (add_operator_candidates): Likewise. - (build_op_delete_call): Rename lookup_name_nonclass call. - * parser.c (cp_parser_lookup_name): Likewise. - * pt.c (tsubst_friend_class, lookup_init_capture_pack): Likewise. - (tsubst_expr): Likewise. - * semantics.c (capture_decltype): Likewise. - -2020-08-14 Nathan Sidwell - - * cp-tree.h (LOOKUP_HIDDEN): Delete. - (LOOKUP_PREFER_RVALUE): Adjust initializer. - * name-lookup.h (enum class LOOK_want): Add HIDDEN_FRIEND and - HIDDEN_LAMBDA flags. - (lookup_name_real): Drop flags parm. - (lookup_qualified_name): Drop find_hidden parm. - * name-lookup.c (class name_lookup): Drop hidden field, adjust - ctors. - (name_lookup::add_overload): Check want for hiddenness. - (name_lookup::process_binding): Likewise. - (name_lookup::search_unqualified): Likewise. - (identifier_type_value_1): Adjust lookup_name_real call. - (set_decl_namespace): Adjust name_lookup ctor. - (qualify_lookup): Drop flags parm, use want for hiddenness. - (lookup_qualified_name): Drop find_hidden parm. - (lookup_name_real_1): Drop flags parm, adjust qualify_lookup - calls. - (lookup_name_real): Drop flags parm. - (lookup_name_nonclass, lookup_name): Adjust lookup_name_real - calls. - (lookup_type_scope_1): Adjust qualify_lookup calls. - * call.c (build_operator_new_call): Adjust lookup_name_real call. - (add_operator_candidates): Likewise. - * coroutines.cc (morph_fn_to_coro): Adjust lookup_qualified_name - call. - * parser.c (cp_parser_lookup_name): Adjust lookup_name_real calls. - * pt.c (check_explicit_specialization): Adjust - lookup_qualified_name call. - (deduction_guides_for): Likewise. - (tsubst_friend_class): Adjust lookup_name_real call. - (lookup_init_capture_pack): Likewise. - (tsubst_expr): Likewise, don't look in namespaces. - * semantics.c (capture_decltype): Adjust lookup_name_real. Don't - look in namespaces. - -2020-08-14 Jason Merrill - - PR c++/90254 - PR c++/93711 - * cp-tree.h (unsafe_return_slot_p): Declare. - * call.c (is_base_field_ref): Rename to unsafe_return_slot_p. - (build_over_call): Check unsafe_return_slot_p. - (build_special_member_call): Likewise. - * init.c (expand_default_init): Likewise. - * typeck2.c (split_nonconstant_init_1): Likewise. - -2020-08-14 Nathan Sidwell - - * cp-tree.h (LOOKUP_PREFER_TYPES, LOOKUP_PREFER_NAMESPACES) - (LOOKUP_NAMESPACES_ONLY, LOOKUP_TYPES_ONLY) - (LOOKUP_QUALIFIERS_ONL): Delete. - (LOOKUP_HIDDEN): Adjust. - * name-lookup.h (enum class LOOK_want): New. - (operator|, operator&): Overloads for it. - (lookup_name_real): Replace prefer_type & namespaces_only with - LOOK_want parm. - (lookup_qualified_name): Replace prefer_type with LOOK_want. - (lookup_name_prefer_type): Replace with ... - (lookup_name): ... this. New overload with LOOK_want parm. - * name-lookup.c (struct name_lookup): Replace flags with want and - hidden fields. Adjust constructors. - (name_lookyp::add_overload): Correct hidden stripping test. Update - for new LOOK_want type. - (name_lookup::process_binding): Likewise. - (name_lookup::search_unqualified): Use hidden flag. - (identifier_type_value_1): Adjust lookup_name_real call. - (set_decl_namespace): Adjust name_lookup ctor. - (lookup_flags): Delete. - (qualify_lookup): Add LOOK_want parm, adjust. - (lookup_qualified_name): Replace prefer_type parm with LOOK_want. - (lookup_name_real_1): Replace prefer_type and namespaces_only with - LOOK_want parm. - (lookup_name_real): Likewise. - (lookup_name_nonclass, lookup_name): Adjust lookup_name_real call. - (lookup_name_prefer_type): Rename to ... - (lookup_name): ... here. New overload with LOOK_want parm. - (lookup_type_scope_1): Adjust qualify_lookup calls. - * call.c (build_operator_new_call) - (add_operator_candidates): Adjust lookup_name_real calls. - * coroutines.cc (find_coro_traits_template_decl) - (find_coro_handle_template_decl, morph_fn_to_coro): Adjust - lookup_qualified_name calls. - * cp-objcp-common.c (identifier_global_tag): Likewise. - * decl.c (get_tuple_size, get_tuple_decomp_init): Likewise. - (lookup_and_check_tag): Use lookup_name overload. - * parser.c (cp_parser_userdef_numeric_literal): Adjust - lookup_qualified_name call. - (prefer_arg_type): Drop template_mem_access parm, return LOOK_want - value. - (cp_parser_lookup_name): Adjust lookup_member, lookup_name_real - calls. - * pt.c (check_explicit_specialization): Adjust lookup_qualified_name - call. - (tsubst_copy_and_build, tsubst_qualified_name): Likewise - (deduction_guides_for): Likewise. - (tsubst_friend_class): Adjust lookup_name_real call. - (lookup_init_capture, tsubst_expr): Likewise. - * rtti.c (emit_support_tinfos): Adjust lookup_qualified_name call. - * semantics.c (omp_reduction_lookup): Likewise. - (capture_decltype): Adjust lookup_name_real call. - -2020-08-13 Nathan Sidwell - - * name-lookup.h (enum class LOOK_where): New. - (operator|, operator&): Overloads for it. - (lookup_name_real): Replace NONCLASS & BLOCK_P parms with WHERE. - * name-lookup.c (identifier_type_value_w): Adjust - lookup_name_real call. - (lookup_name_real_1): Replace NONCLASS and BLOCK_P parameters - with WHERE bitmask. Don't search namespaces if not asked to. - (lookup_name_real): Adjust lookup_name_real_1 call. - (lookup_name_nonclass, lookup_name) - (lookup_name_prefer_type): Likewise. - * call.c (build_operator_new_call) - (add_operator_candidates): Adjust lookup_name_real calls. - * parser.c (cp_parser_lookup_name): Likewise. - * pt.c (tsubst_friend_class, lookup_init_capture_pack) - (tsubst_expr): Likewise. - * semantics.c (capture_decltype): Likewise. - -2020-08-13 Marek Polacek - - PR c++/92812 - * typeck.c (build_static_cast_1): Implement P1975R0 by allowing - static_cast to aggregate type. - -2020-08-10 Jakub Jelinek - - PR c++/96497 - * constexpr.c (cxx_eval_binary_expression): For SPACESHIP_EXPR, tail - call cxx_eval_constant_expression after genericize_spaceship to avoid - undesirable further VERIFY_CONSTANT. - -2020-08-10 Patrick Palka - - * pt.c (resolve_overloaded_unification): Drop functions with - unsatisfied constraints. - (resolve_nondeduced_context): Likewise. - -2020-08-05 Patrick Palka - Jason Merrill - - PR c++/96282 - * constexpr.c (cxx_eval_vec_init_1): Truncate ctx->ctor and - then clear CONSTRUCTOR_NO_CLEARING on each appended element - initializer if we're initializing a previously zero-initialized - array object. - -2020-08-04 Marek Polacek - - PR c++/96082 - * parser.c (cp_parser_elaborated_type_specifier): Allow - 'template' following ::. - -2020-08-04 Nathan Sidwell - - * parser.c (cp_parser_explicit_specialization): Refactor - to avoid leak of num_template_parameter_lists value. - -2020-08-04 Patrick Palka - - PR c++/94024 - * init.c (sort_mem_initializers): Preserve TREE_TYPE of the - member initializer list node. - (emit_mem_initializers): Set input_location when performing each - member initialization. - * parser.c (cp_parser_mem_initializer): Attach the source - location of this initializer to a dummy EMPTY_CLASS_EXPR - within the TREE_TYPE of the list node. - * pt.c (tsubst_initializer_list): Preserve TREE_TYPE of the - member initializer list node. - -2020-08-03 Marek Polacek - - * cp-tree.h (after_nsdmi_defaulted_late_checks): Remove. - -2020-08-03 Marek Polacek - - DR 2032 - PR c++/96218 - * pt.c (check_default_tmpl_args): Also consider variable - templates. - -2020-07-31 Jakub Jelinek - - PR c++/96182 - * decl.c (finish_function): In constexpr functions use for C++14 and - later error instead of warning if no return statement is present and - diagnose it regardless of warn_return_type. Move the warn_return_type - diagnostics earlier in the function. - -2020-07-31 Martin Sebor - - PR c++/96003 - * class.c (build_base_path): Set no-warning bit on the synthesized - conditional expression in static_cast. - -2020-07-31 Richard Biener - - PR debug/96383 - * cp-objcp-common.h (LANG_HOOKS_FINALIZE_EARLY_DEBUG): - Define to c_common_finalize_early_debug. - -2020-07-31 Patrick Palka - - PR c++/96197 - * constexpr.c (cxx_eval_constant_expression) : - Pass false to decl_constant_value and decl_really_constant_value - so that they don't unshare their result. - * cp-tree.h (decl_constant_value): New declaration with an added - bool parameter. - (decl_really_constant_value): Add bool parameter defaulting to - true to existing declaration. - * init.c (constant_value_1): Add bool parameter which controls - whether to unshare the initializer before returning. Call - unshare_expr at most once. - (scalar_constant_value): Pass true to constant_value_1's new - bool parameter. - (decl_really_constant_value): Add bool parameter and forward it - to constant_value_1. - (decl_constant_value): Likewise, but instead define a new - overload with an added bool parameter. - -2020-07-30 Patrick Palka - - PR c++/64194 - * pt.c (resolve_overloaded_unification): If the function - template specialization has a placeholder return type, - then instantiate it before attempting unification. - -2020-07-30 Patrick Palka - - PR c++/95486 - * pt.c (alias_ctad_tweaks): Call remove_constraints before - calling set_constraints. - -2020-07-30 Patrick Palka - - PR c++/96106 - * pt.c (reduce_template_parm_level): Propagate DECL_VIRTUAL_P - from the original TEMPLATE_PARM_DECL to the new lowered one. - -2020-07-30 Patrick Palka - - PR c++/96164 - * constraint.cc (constraints_satisfied_p): Return true if - !flags_concepts. - * pt.c (do_type_instantiation): Update a paragraph taken from - [temp.explicit] to reflect the latest specification. Don't - instantiate a member with unsatisfied constraints. - -2020-07-29 Jason Merrill - - PR c++/91427 - * cp-tree.h (IMPLICIT_RVALUE_P): New. - (enum cp_lvalue_kind_flags): Add clk_implicit_rval. - (implicit_rvalue_p, set_implicit_rvalue_p): New. - * call.c (reference_binding): Check clk_implicit_rval. - (build_over_call): Adjust C++20 implicit move. - * coroutines.cc (finish_co_return_stmt): Simplify implicit move. - * except.c (build_throw): Adjust C++20 implicit move. - * pt.c (tsubst_copy_and_build) [STATIC_CAST_EXPR]: Propagate - IMPLICIT_RVALUE_P. - * tree.c (lvalue_kind): Set clk_implicit_rval. - * typeck.c (treat_lvalue_as_rvalue_p): Overhaul. - (maybe_warn_pessimizing_move): Adjust. - (check_return_expr): Adjust C++20 implicit move. - -2020-07-29 Jason Merrill - - PR c++/91212 - * call.c (build_over_call): Don't call a const ref - overload for implicit move. - -2020-07-28 Nathan Sidwell - - * cp-gimplify.c (cp_genericize_r): Set IMPORTED_DECL's context. - * cp-objcp-common.c (cp_pushdecl): Set decl's context. - * decl.c (grokfndecl): Make DECL_CONTEXT setting clearer. - -2020-07-28 Nathan Sidwell - - * class.c (fixup_type_variants): Copy TYPE_SIZE and - TYPE_SIZE_UINIT. - (finish_struct): Call it. - -2020-07-28 Nathan Sidwell - - * ptree.c (cxx_print_decl): Better indentation. - -2020-07-28 Jakub Jelinek - Mark Wielaard - - PR c++/96328 - * parser.c (cp_lexer_safe_previous_token): Don't call - cp_lexer_previous_token, instead inline it by hand and return NULL - instead of failing assertion if all previous tokens until the first - one are purged. - (cp_parser_error_1): Optimize - only call cp_lexer_safe_previous_token - if token->type is CPP_NAME. Use cp_lexer_safe_previous_token instead - of cp_lexer_previous_token for the missing_token_desc != RT_NONE - case too. - -2020-07-27 Nathan Sidwell - - * cp-tree.h (enum cp_tree_index): Add CPTI_AS_BASE_IDENTIFIER. - (as_base_identifier): Define. - * decl.c (initialize_predifined_identifiers): Initialize as_base - identifier. - * class.c (layout_class_type): Name the as-base type. Zap - NSDMI its fields may have. - -2020-07-22 Nathan Sidwell - - * class.c (maybe_add_class_template_decl_list): Don't add CONST_DECLs. - -2020-07-22 Nathan Sidwell - - * typeck.c (structural_comptypes): [DECLTYPE_TYPE] break - apart complex if. - [UNDERLYING_TYPE]: Use an if. - [TYPEOF_TYPE]: New. - -2020-07-22 Nathan Sidwell - - * decl.c (decls_match): Move variables into scopes - they're needed in. - (duplicate_decls): Use STRIP_TEMPLATE. - (build_typename_type): Move var decls to their assignments. - (begin_function_body): Likewise. - * decl2.c (get_guard): Likewise. - (mark_used): Use true for truthiness. - * error.c (dump_aggr_type): Hold the decl in a var called - 'decl', not 'name'. - -2020-07-22 Nathan Sidwell - - * cp-tree.h (struct tree_lambda_expr): Shrink - default_capture_mode & discriminator. - -2020-07-22 Nathan Sidwell - - * mangle.c (decl_is_template_id): Rename to ... - (maybe_template_info): ... here. Return the template info, - rather than use a pointer. Adjust all callers. - (find_substitution): Use template_args_equal, rather than - local check. - -2020-07-22 Tobias Burnus - - * parser.c (cp_parser_omp_clause_hint): Require nonnegative hint. - (cp_parser_omp_critical): Permit hint(0) clause without named critical. - * pt.c (tsubst_expr): Re-check the latter for templates. - -2020-07-21 Sunil K Pandey - - PR target/95237 - * decl.c (cp_finish_decl): Call target hook - lower_local_decl_alignment to lower local decl alignment. - -2020-07-21 Nathan Sidwell - - * parser.c (cp_lexer_consume_token): Drop PRAGMA_EOL assert. - (cp_parser_skip_to_closing_parenthesis_1): Only pass start token - to pragma skipper if recovering. - (cp_parser_skip_to_pragma_eol): Only purge and change pragma - state when recovering. - -2020-07-20 Jason Merrill - - * pt.c (type_dependent_expression_p): A pseudo-dtor can be - dependent. - * semantics.c (finish_call_expr): Use build_trivial_dtor_call for - pseudo-destructor. - (finish_pseudo_destructor_expr): Leave type NULL for dependent arg. - -2020-07-20 Jason Merrill - - * mangle.c (write_base_ref): New. - (write_expression): Use it for base field COMPONENT_REFs. - * pt.c (invalid_tparm_referent_p): Canonicalize the type - of array offsets. Allow subobjects. - -2020-07-20 Jason Merrill - - * pt.c (collect_ctor_idx_types): Add 'const' when deducing from - a string constant. - -2020-07-17 Marek Polacek - - PR c++/79815 - * decl.c (grokdeclarator): Detect cv-qual decltype(auto). - * pt.c (do_auto_deduction): Likewise. - -2020-07-16 Iain Sandoe - - PR c++/95591 - PR c++/95599 - PR c++/95823 - PR c++/95824 - PR c++/95895 - * coroutines.cc (struct coro_ret_data): Delete. - (coro_maybe_expand_co_return): Delete. - (co_return_expander): Delete. - (expand_co_returns): Delete. - (co_await_find_in_subtree): Remove unused name. - (build_actor_fn): Remove unused parm, remove handling - for co_return expansion. - (register_await_info): Demote duplicate info message to a - warning. - (coro_make_frame_entry): Move closer to use site. - (struct susp_frame_data): Add fields for final suspend label - and a flag to indicate await expressions with initializers. - (captures_temporary): Delete. - (register_awaits): Remove unused code, update comments. - (find_any_await): New. - (tmp_target_expr_p): New. - (struct interesting): New. - (find_interesting_subtree): New. - (struct var_nest_node): New. - (flatten_await_stmt): New. - (handle_nested_conditionals): New. - (process_conditional): New. - (replace_statement_captures): Rename to... - (maybe_promote_temps): ... this. - (maybe_promote_captured_temps): Delete. - (analyze_expression_awaits): Check for await expressions with - initializers. Simplify handling for truth-and/or-if. - (expand_one_truth_if): Simplify (map cases that need expansion - to COND_EXPR). - (await_statement_walker): Handle CO_RETURN_EXPR. Simplify the - handling for truth-and/or-if expressions. - (register_local_var_uses): Ensure that we create names in the - implementation namespace. - (morph_fn_to_coro): Add final suspend label to suspend frame - callback data and remove it from the build_actor_fn call. - -2020-07-16 Marek Polacek - - * call.c (convert_like): Remove macro and introduce a new - wrapper instead. - (convert_like_with_context): Likewise. - (convert_like_real): Rename to convert_like. - (convert_like_real_1): Rename to convert_like_internal. Call - convert_like instead of convert_like_real therein. - (perform_direct_initialization_if_possible): Call convert_like - instead of convert_like_real. - -2020-07-16 Iain Sandoe - - * coroutines.cc: Correct some spelling errors - in comments. - -2020-07-15 Nathan Sidwell - - * parser.c (cp_parser_declaration): Avoid copying tokens. - (cp_parser_block_declaration): RAII token pointer. - -2020-07-15 Nathan Sidwell - - * parser.c (cp_parser_skip_to_closing_parenthesis_1): Deal with - meeting a deferred pragma. - (cp_parser_skip_to_end_of_statement): Likewise. - (cp_parser_skip_to_end_of_block_or_statement): Likewise. - (cp_parser_skip_to_pragma_eol): We should never meet EOF. - (cp_parser_omp_declare_simd): Likewise. - (cp_parser_omp_declare_reduction, cp_parser_oacc_routine) - (pragma_lex): Likewise. - -2020-07-14 Marek Polacek - - PR c++/95789 - PR c++/96104 - PR c++/96179 - * call.c (convert_like_real_1): Renamed from convert_like_real. - (convert_like_real): New wrapper for convert_like_real_1. - -2020-07-14 Nathan Sidwell - - * parser.c (cp_lexer_alloc): Do not deal with PCH here. - (cp_lexer_new_main): Deal with PCH here. Store the tokens directly - into the buffer. - (cp_lexer_new_from_tokens): Assert last token isn't purged either. - (cp_lexer_get_preprocessor_token): Change first arg to flags, adjust. - (cp_parser_new): Pass the lexer in, don't create it here. - (cp_parser_translation_unit): Initialize access checks here. - (cp_parser_initial_pragma): First token is provided by caller, - don't deal with PCH stopping here. Adjust error message. - (c_parse_file): Adjust, change error message to avoid C++20 module - confusion. - -2020-07-14 Nathan Sidwell - - * ptree.c (cxx_print_type): Add TYPEOF_TYPE and BASES. - -2020-07-14 Nathan Sidwell - - * class.c (build_base_field_1): Cache CLASSTYPE_AS_BASE. - (build_self_reference): Rename value -> decl. - (dump_class_hierarchy_1): Cache CLASSTYPE_AS_BASE. - -2020-07-14 Marek Polacek - - PR c++/95820 - * decl.c (grokdeclarator) : Check also - pointers/references/... to functions. - -2020-07-14 Nathan Sidwell - - * cp-tree.h: Correct some tree lang flag comments, - reformat some structure definitions. Note some structure - sizes. Clarify some comments. - (yyungetc): Delete. Not been a thing for some time. - * class.c (copy_fndecl_with_name): Comment. - (check_bases_and_members): Unnecessary {}. - (layout_class_type): Comment. - * cp-tree.def (UNBOUND_CLASS_TEMPLATE): Adjust comment. - * decl.c: Fix some formatting & whitespace issues. - (function_requirements_equivalent_p): Note why - substitutions are needed. - * decl2.c (no_linkage_error): Note that heroics about - 'typedef struct { ... };' are no longer needed. - * method.c: Whitespace. - * name-lookup.c: Whitespace. - (add_decl_to_level): Reformat a line. - (print_binding_stack): Mark as DEBUG_FUNCTION. - (has_using_namespace_std_directive_p): Delete comment. - * pt.c: Whitespace - * ptree.c: Whitespace. - * rtti.c: Whitespace & comment. - * tree.c: Comment. - * typeck.c (structural_comptypes): Add comment. - -2020-07-13 Nathan Sidwell - - * Make-lang.in (c++.disclean): Likewise. - -2020-07-13 Marek Polacek - - PR c++/96077 - * parser.c (cp_parser_enum_specifier): Commit to tentative parse - after we've seen an opening brace. - -2020-07-10 Jason Merrill - - * tree.c (structural_type_p): Allow unions. - * mangle.c (write_expression): Express unions with a designator. - -2020-07-10 Jason Merrill - - * pt.c (convert_nontype_argument): Handle REAL_TYPE. - (invalid_nontype_parm_type_p): Allow all structural types. - * tree.c (structural_type_p): Use SCALAR_TYPE_P. - -2020-07-10 Jason Merrill - - PR c++/96105 - PR c++/96052 - PR c++/95976 - * class.c (check_field_decls): An array of empty classes is not an - empty data member. - (layout_empty_base_or_field): Handle explicit alignment. - Fix union handling. - -2020-07-09 Julian Brown - Thomas Schwinge - - PR middle-end/95270 - * semantics.c (finish_omp_clauses): Likewise. - -2020-07-09 Patrick Palka - - PR c++/96132 - * constexpr.c (potential_constant_expression_1) : - Restore dependent_type_p check that guarded the call to - is_really_empty_class. - -2020-07-08 Patrick Palka - - PR c++/95497 - * constexpr.c (potential_constant_expression_1) : - When processing_template_decl, check COMPLETE_TYPE_P before - calling is_really_empty_class. Don't check dependent_type_p. - -2020-07-08 Marek Polacek - - PR c++/96103 - * parser.c (cp_parser_decltype): Print error about using decltype(auto) - in C++11. Check that the token following "auto" is ")". - -2020-07-07 Patrick Palka - - PR c++/95303 - * cxx-pretty-print.c (pp_cxx_unqualified_id): Check - PRIMARY_TEMPLATE_P before printing the innermost template - arguments. - -2020-07-07 Martin Sebor - - PR c++/96063 - * parser.c (class_decl_loc_t::diag_mismatched_tags): Print notes only - if warning_at returns nonzero. - -2020-07-06 Martin Sebor - - PR c++/95984 - * call.c (build_over_call): Check calls only when tf_warning is set. - -2020-07-06 Nathan Sidwell - - * decl.c (push_library_fn): Return the decl pushdecl_toplevel returns. - * except.c (verify_library_fn): Replace with ... - (declare_library_fn_1): ... this fn. Always push the fn. - (declare_library_fn): Call it. - (build_throw): Call declare_library_fn_1. - -2020-07-06 Jonathan Wakely - - PR c++/96068 - * parser.c (cp_parser_toplevel_declaration): Only do pedwarn for - empty-declaration in C++98. - -2020-07-02 Jason Merrill - Jakub Jelinek - - * decl.c (grokfndecl): Allow consteval virtual. - * search.c (check_final_overrider): Check consteval mismatch. - * constexpr.c (cxx_eval_thunk_call): New. - (cxx_eval_call_expression): Call it. - * cvt.c (cp_get_fndecl_from_callee): Handle FDESC_EXPR. - * decl2.c (mark_vtable_entries): Track vtables with consteval. - (maybe_emit_vtables): Pass consteval_vtables through. - (clear_consteval_vfns): Replace consteval with nullptr. - (c_parse_final_cleanups): Call it. - -2020-07-01 Nathan Sidwell - - * class.c (copy_fndecl_with_name): Add additional predicate args, do - not deduce them locally. - (copy_operator_fn): Adjust copy_fndecl_with_name call. - (build_clone): Add vtt and inherited predicate args. Pass through - to copy_fndecl_with_name call. - (build_cdtor_clones): Likewise, pass through to build_clone as - needed. - (build_cdtor): Determine vtt and inherited here. - * cp-tree.h (DECL_NEEDS_CTT_PARM_P): Delete. - -2020-06-30 Nathan Sidwell - - * cp-tree.h (copy_fndecl_with_name): Rename to ... - (copy_operatorn_fn): ... this. Change arg type. - (clone_function_decl): Rename to ... - (clone_cdtor): ... this. - * class.c (copy_fndecl_with_name): Make static. - (copy_operator_fn): New wrapper. - (build_clones): Rename to ... - (build_cdtor_clones): ... this. - (clone_function_decl): Rename to ... - (clone_cdtor): ... this. Adjust build_clones calls. - (clone_constructors_and_destructors): Adjust clone_function_decl - calls. - * method.c (implicitly_declare_fn): Adjust copy_fndecl_with_name - call. - (lazily_declare_fn): Adjust clone_function_decl call. - * pt.c (tsubst_function_decl): Likewise. - (instantiate_template_1): Likewise. - -2020-06-30 Iain Sandoe - - * coroutines.cc (morph_fn_to_coro): Remove trailing - space in a diagnostic. - -2020-06-30 Iain Sandoe - - * coroutines.cc (expand_one_await_expression): Remove - code dealing with initial suspend. - (build_actor_fn): Remove code special-casing initial - and final suspend. Handle the final suspend and marking - of the coroutine as done. - (coro_rewrite_function_body): New. - (bind_expr_find_in_subtree): Remove. - (coro_body_contains_bind_expr_p): Remove. - (morph_fn_to_coro): Split the rewrite of the original - function into coro_rewrite_function_body and call it. - -2020-06-29 Marek Polacek - - PR c++/94553 - * decl.c (duplicate_decls): Make sure a concept or a variable - template is unique in its declarative region. - -2020-06-29 Marek Polacek - - PR c++/95568 - * pt.c (collect_ctor_idx_types): Use TREE_TYPE. - -2020-06-28 Iain Sandoe - - PR c++/95711 - * coroutines.cc (register_local_var_uses): Skip past - namespace decls. - -2020-06-27 Iain Sandoe - - PR c++/95736 - * coroutines.cc (get_awaitable_var): New helper. - (build_co_await): Check more carefully before - copying an awaitable. - (expand_one_await_expression): No initializer - is required when the awaitable is not a temp. - (register_awaits): Remove handling that is now - completed when the await expression is built. - -2020-06-27 Iain Sandoe - - * coroutines.cc (morph_fn_to_coro): Diagnose unavailable - get_return_object_on_allocation_failure. - -2020-06-26 Iain Sandoe - - PR c++/95519 - * coroutines.cc (struct coroutine_info):Add a field - to hold computed p.return_void expressions. - (coro_build_promise_expression): New. - (get_coroutine_return_void_expr): New. - (finish_co_yield_expr): Build the promise expression - using coro_build_promise_expression. - (finish_co_return_stmt): Likewise. - (build_init_or_final_await): Likewise. - (morph_fn_to_coro): Likewise, for several cases. - -2020-06-26 Iain Sandoe - - * coroutines.cc (morph_fn_to_coro): Handle error - returns in building g-r-o-o-a-f expressions. - -2020-06-24 Nicholas Krause - - PR c++/95672 - * typeck2.c (cxx_incomplete_type_diagnostic): Add missing - TYPE_EXPANSION_PACK check for diagnosing incomplete types in - cxx_incomplete_type_diagnostic. - -2020-06-24 Iain Sandoe - - PR c++/95518 - PR c++/95813 - * coroutines.cc (act_des_fn): Copy function - attributes onto the outlined coroutine helpers. - -2020-06-24 Jason Merrill - - * call.c (build_over_call): Only call build_base_path once. - -2020-06-24 Jason Merrill - - PR c++/95719 - * call.c (build_over_call): Look up the overrider in base_binfo. - * class.c (lookup_vfn_in_binfo): Look through BINFO_PRIMARY_P. - -2020-06-23 Jason Merrill - - PR c++/93976 - Implement C++20 P2082R1, Fixing CTAD for aggregates. - * cp-tree.h (TPARMS_PRIMARY_TEMPLATE): Split out from... - (DECL_PRIMARY_TEMPLATE): ...here. - (builtin_guide_p): Declare. - * decl.c (reshape_init_class): Handle bases of a template. - (reshape_init_r): An array with dependent bound takes a single - initializer. - * pt.c (tsubst_default_argument): Shortcut {}. - (unify_pack_expansion): Allow omitted arguments to trailing pack. - (builtin_guide_p): New. - (collect_ctor_idx_types): Give a trailing pack a {} default - argument. Handle arrays better. - -2020-06-23 Iain Sandoe - - PR c++/95477 - * coroutines.cc (morph_fn_to_coro): Apply a cleanup to - the get return object when the DTOR is non-trivial. - -2020-06-20 Iain Sandoe - - PR c++/95505 - * coroutines.cc (morph_fn_to_coro): Update handling of - get-return-object-on-allocation-fail and diagnose missing - std::nothrow. - -2020-06-20 Jason Merrill - - * call.c (joust): Only compare constraints for non-template - candidates with matching parameters. - * pt.c (tsubst_pack_expansion): Fix getting a type parameter - pack. - (more_specialized_fn): Only compare constraints for candidates with - matching parameters. - -2020-06-19 Jason Merrill - - * method.c (early_check_defaulted_comparison): Allow defaulting - comparison outside class. Complain if non-member operator isn't a - friend. - -2020-06-18 Jason Merrill - - * method.c (early_check_defaulted_comparison): Check for &&. - (build_comparison_op): Allow empty union. Diagnose non-category - type. - (common_comparison_type): Remove handling for non-category type. - -2020-06-18 Marek Polacek - - PR c++/95735 - * pt.c (finish_template_variable): Return if - coerce_innermost_template_parms return error_mark_node. - -2020-06-18 Marek Polacek - - PR c++/95728 - * pt.c (tsubst_copy_and_build) : Return error_mark_node - if placement is erroneous. - -2020-06-17 Jonathan Wakely - - PR c++/66159 - * parser.c (cp_parser_elaborated_type_specifier): Do not warn - unless in a declaration. - -2020-06-17 Jason Merrill - - * cp-tree.h (copy_fndecl_with_name): Declare. - * class.c (copy_fndecl_with_name): Split out from... - (build_clone): ...here. - (add_implicitly_declared_members): Add op== to TYPE_FIELDS. - * method.c (implicitly_declare_fn): Use copy_fndecl_with_name. - -2020-06-17 Jason Merrill - - * call.c (build_new_op_1): Don't look for a CALL_EXPR when - calling a consteval function. - -2020-06-17 Jason Merrill - - * decl2.c (grokfield): Pass SD_DEFAULTED and SD_DELETED. - * decl.c (duplicate_decls): Reduce error for delete - after earlier declaration to pedwarn. - -2020-06-17 Marek Polacek - - PR c++/95508 - * constexpr.c (maybe_fold_non_dependent_expr): New. - * cp-tree.h (maybe_fold_non_dependent_expr): Declare. - * typeck.c (cp_build_array_ref): Call maybe_fold_non_dependent_expr - instead of maybe_constant_value. - -2020-06-16 Marek Polacek - - PR c++/95369 - * call.c (add_list_candidates): Return if a designated initializer - is used with a non-aggregate. - (implicit_conversion_error): Give an error for the case above. - -2020-06-16 Marek Polacek - - PR c++/95560 - * name-lookup.c (check_local_shadow): Check if types are - non-null before calling same_type_p. - -2020-06-16 Jakub Jelinek - - * semantics.c (handle_omp_for_class_iterator): Adjust - c_omp_check_loop_iv_exprs caller. - (finish_omp_for): Likewise. Don't call fold_build_cleanup_point_expr - before calling c_finish_omp_for and c_omp_check_loop_iv, move it - after those calls. - * pt.c (tsubst_omp_for_iterator): Handle non-rectangular loops. - -2020-06-16 Jakub Jelinek - - * parser.c (cp_parser_omp_clause_schedule): Reject modifier separated - from kind by comma rather than colon. - -2020-06-16 Patrick Palka - - * pt.c (perform_instantiation_time_access_checks): No need to - tsubst into decl. - * semantics.c (enforce_access): Verify that decl is not - dependent. - -2020-06-16 Patrick Palka - - PR c++/41437 - PR c++/47346 - * cp-tree.h (qualified_typedef_usage_s): Delete. - (qualified_typedef_usage_t): Delete. - (deferred_access_check): Move up in file. - (tree_template_info::typedefs_needing_access_checking): Delete. - (tree_template_info::deferred_access_checks): New field. - (TI_TYPEDEFS_NEEDING_ACCESS_CHECKING): Rename to ... - (TI_DEFERRED_ACCESS_CHECKS): ... this, and adjust accordingly. - * pt.c (perform_typedefs_access_check): Rename to ... - (perform_instantiation_time_access_checks): ... this, and adjust - accordingly. Remove unnecessary tree tests. - (instantiate_class_template_1): Adjust accordingly. - (instantiate_decl): Likewise. - * semantics.c (enforce_access): Likewise. - -2020-06-16 Patrick Palka - - PR c++/41437 - PR c++/47346 - * call.c (enforce_access): Move to semantics.c. - * cp-tree.h (enforce_access): Delete. - (get_types_needing_access_check): Delete. - (add_typedef_to_current_template_for_access_check): Delete. - * decl.c (make_typename_type): Adjust accordingly. Use - check_accessibility_of_qualified_id instead of directly using - perform_or_defer_access_check. - * parser.c (cp_parser_template_declaration_after_parameters): - Don't push a dk_no_check access state when parsing a template. - * pt.c (get_types_needing_access_check): Delete. - (append_type_to_template_for_access_check_1): Delete. - (perform_typedefs_access_check): Adjust. If type_decl is a - FIELD_DECL, also check its DECL_CONTEXT for dependence. Use - tsubst_copy instead of tsubst to substitute into type_decl so - that we substitute into the DECL_CONTEXT of a FIELD_DECL. - (append_type_to_template_for_access_check): Delete. - * search.c (accessible_p): Remove the processing_template_decl - early exit. - * semantics.c (enforce_access): Moved from call.c. If we're - parsing a template and the access check failed, add the check to - TI_TYPEDEFS_NEEDING_ACCESS_CHECKING. - (perform_or_defer_access_check): Adjust comment. - (add_typedef_to_current_template_for_access_check): Delete. - (check_accessibility_of_qualified_id): Adjust accordingly. - Exit early if the scope is dependent. - -2020-06-11 Patrick Palka - - PR c++/93467 - * constraint.cc (associate_classtype_constraints): If there is a - discrepancy between the current template depth and the template - depth of the original declaration, then adjust the template - parameter depth within the current constraints appropriately. - * pt.c (tsubst_friend_class): Substitute into and set the - constraints on the injected declaration. - -2020-06-11 Iain Sandoe - - * coroutines.cc (instantiate_coro_traits): Pass a reference - to lambda closure objects to traits instantiation. - (morph_fn_to_coro): Likewise for promise parameter - preview and allocator lookup. - -2020-06-10 Iain Sandoe - - PR c++/95440 - * call.c (add_candidates): Use vec_safe_length() for - testing the arguments list. - (build_new_method_call_1): Use vec_safe_is_empty() when - checking for an empty args list. - -2020-06-10 Marek Polacek - - PR c++/95562 - * parser.c (cp_parser_direct_declarator): Clear - CP_PARSER_FLAGS_DELAY_NOEXCEPT if the declarator kind is not - cdk_id. - -2020-06-09 Iain Sandoe - - PR c++/95137 - * coroutines.cc (expand_one_await_expression): Build separate - DTOR trees for the awaitable object on the destroy and resume - paths. - -2020-06-09 Jason Merrill - - PR c++/95552 - * cp-gimplify.c (predeclare_vla): Only predeclare a VLA if it's - wrapped in a pointer type. - -2020-06-05 Marek Polacek - - PR c++/95369 - * call.c (build_converted_constant_expr_internal): Allow - list-initialization. - -2020-06-05 Iain Sandoe - - * cp-tree.def (CO_RETURN_EXPR): Correct the class - to use tcc_statement. - -2020-06-05 Jason Merrill - - * error.c (dump_binary_op): Handle negative operand to - POINTER_PLUS_EXPR. - -2020-06-04 Jason Merrill - - PR c++/93310 - * constexpr.c (cxx_eval_constant_expression) [OBJ_TYPE_REF]: - Evaluate OBJ_TYPE_REF_EXPR. - -2020-06-04 Jason Merrill - - PR c++/95158 - * class.c (lookup_vfn_in_binfo): New. - * call.c (build_over_call): Use it. - * cp-tree.h (resolves_to_fixed_type_p): Add default argument. - (lookup_vfn_in_binfo): Declare. - -2020-06-04 Iain Sandoe - - PR c++/95346 - * coroutines.cc (morph_fn_to_coro): Ensure that the get- - return-object is constructed correctly; When it is not the - final return value, pass it to the CTOR of the return type - as an rvalue, per the standard comment. - -2020-06-04 Jakub Jelinek - - PR c++/82304 - PR c++/95307 - * constexpr.c (cxx_eval_constant_expression): Diagnose CONVERT_EXPR - conversions from pointer types to arithmetic types here... - (cxx_eval_outermost_constant_expr): ... instead of here. - -2020-06-03 Mark Wielaard - - * parser.c (cp_lexer_safe_previous_token): New function. - (cp_parser_error_1): Add name_hint if the previous token is - a string literal and next token is a CPP_NAME and we have a - missing header suggestion for the name. - -2020-06-03 Patrick Palka - - * pt.c (process_partial_specialization): Pass the full set of - generic template arguments to strictly_subsumes. - -2020-06-03 Patrick Palka - - PR c++/92103 - * pt.c (most_specialized_partial_spec): Reorganize the loop over - DECL_TEMPLATE_SPECIALIZATIONS. Check constraints_satisfied_p on - the original template declaration, not on the tsubsted one. - -2020-06-03 Iain Sandoe - - PR c++/95345 - * coroutines.cc (finish_co_await_expr): Revise to allow for - parameter packs. - (finish_co_yield_expr): Likewise. - -2020-06-03 Jason Merrill - - PR c++/95232 - * cp-tree.h (predeclare_vla): Declare. - * cp-gimplify.c (predeclare_vla): Handle getting a decl. - * pt.c (tsubst_expr) [DECL_EXPR]: Use it. - -2020-06-03 Tobias Burnus - - * cp-gimplify.c (cxx_omp_predetermined_mapping): New. - * cp-objcp-common.h (LANG_HOOKS_OMP_PREDETERMINED_MAPPING): Redfine. - * cp-tree.h (cxx_omp_predetermined_mapping): Declare. - -2020-06-02 Jason Merrill - - PR c++/95193 - * pt.c (tsubst_decl): Relax assert. - -2020-06-02 Iain Sandoe - - PR c++/95050 - * coroutines.cc (build_co_await): Wrap the co_await expression - in a TARGET_EXPR, where needed. - (finish_co_yield_expr): Likewise. - -2020-06-02 Patrick Palka - - PR c++/92633 - PR c++/92838 - * pt.c (tsubst_function_decl): Don't do set_constraints when - regenerating a lambda. - (tsubst_lambda_expr): Substitute into the lambda's constraints - and do set_constraints here. - -2020-06-01 Jason Merrill - - PR c++/95466 - PR c++/95311 - PR c++/95221 - * class.c (build_vfn_ref): Revert 95311 change. - * cp-ubsan.c (cp_ubsan_maybe_instrument_member_call): Build a - COMPOUND_EXPR. - -2020-06-01 Iain Sandoe - - PR c++/95350 - * coroutines.cc (struct param_info): Remove rv_ref field. - (build_actor_fn): Remove specifial rvalue ref handling. - (morph_fn_to_coro): Likewise. - -2020-05-31 Iain Sandoe - - PR c++/95087 - * coroutines.cc (morph_fn_to_coro): If we see an - early fatal error, drop the erroneous function body. - -2020-05-31 Iain Sandoe - - * coroutines.cc (build_co_await): Remove unused - variable. - (finish_co_await_expr): Likewise. - (finish_co_yield_expr): Likewise; revise comment. - -2020-05-30 Iain Sandoe - - * coroutines.cc (morph_fn_to_coro): Revise initialization - of the frame pointer to avoid an unused value. - -2020-05-30 Patrick Palka - - PR c++/95386 - * constraint.cc (satisfaction_value): Accept INTEGER_CST of any - boolean type. - -2020-05-29 Patrick Palka - Jason Merrill - - PR c++/95181 - * class.c (add_method): Let special member function templates - coexist if they are not equivalently constrained, or in a class - template. - -2020-05-29 Jason Merrill - - PR c++/95371 - * pt.c (process_template_parm): Set DECL_TEMPLATE_INFO - on the DECL_TEMPLATE_RESULT. - -2020-05-29 Marek Polacek - - PR c++/95344 - * cp-gimplify.c (cp_fold) : Don't set - TREE_THIS_VOLATILE here. - (cp_fold): Set it here along with TREE_NO_WARNING. - -2020-05-29 Jason Merrill - - PR c++/95311 - PR c++/95221 - * class.c (build_vfn_ref): Don't fold the INDIRECT_REF. - -2020-05-29 Patrick Palka - - PR c++/92652 - PR c++/93698 - PR c++/94128 - * parser.c (cp_parser_requires_clause_expression): Temporarily - increment processing_template_decl only if it is 0. - (cp_parser_constraint_expression): Likewise. - (cp_parser_requires_expression): Likewise. - -2020-05-29 Patrick Palka - - PR c++/95241 - * constexpr.c (get_or_insert_ctor_field): Add limited support - for RANGE_EXPR index lookups. - -2020-05-28 Jakub Jelinek - - PR c++/95328 - * decl.c (cp_finish_decomp): Call complete_type before checking - COMPLETE_TYPE_P. - -2020-05-28 Jason Merrill - - PR c++/94926 - * decl.c (cp_finish_decl): Revert r9-297 change. - (check_static_variable_definition): Likewise. - * constexpr.c (ensure_literal_type_for_constexpr_object): Likewise. - * pt.c (instantiate_decl): Return early on type error. - -2020-05-27 Jason Merrill - - PR c++/95319 - * decl.c (reshape_init_array_1): Don't reuse in overload context. - -2020-05-27 Jason Merrill - - PR c++/95242 - * call.c (build_new_op_1): Suppress - warn_zero_as_null_pointer_constant across comparison of <=> result - to 0. - -2020-05-27 Jason Merrill - - PR c++/95222 - * decl.c (grokdeclarator): Don't shift attributes in TYPENAME - context. - -2020-05-27 Nathan Sidwell - - PR c++/95263 - * pt.c (lookup_template_class_1): Restore alias template mutation. - -2020-05-26 Jakub Jelinek - - PR c++/95197 - * cp-gimplify.c: Include omp-general.h. - (cp_genericize_r) : For class iteration - variables in composite distribute parallel for, instantiate copy - ctor of their types. - -2020-05-23 Patrick Palka - - PR c++/94038 - * constexpr.c (cxx_eval_constant_expression) - : Don't evaluate the concept when - constexpr evaluation is uid-sensitive. - -2020-05-22 Jason Merrill - - * cp-gimplify.c (cp_gimplify_expr) [CALL_EXPR]: Don't preevaluate - the function address if the call used operator syntax. - -2020-05-21 Jason Merrill - - PR c++/95221 - * cp-ubsan.c (cp_ubsan_maybe_instrument_member_call): For a virtual - call, instrument the OBJ_TYPE_REF. - - * decl.c (compute_array_index_type_loc): Diagnose expressions - in a template that can't be constant. - * parser.c (cp_parser_direct_declarator): Don't check - non-constant array bounds here. - - * cp-tree.h (is_rvalue_constant_expression): Declare. - * constexpr.c (is_rvalue_constant_expression): New. - * parser.c (cp_parser_constant_expression): Use it. - * decl.c (cp_finish_decl): Try to treat a constexpr initializer in a - template as constant. - - * typeck.c (build_x_modify_expr): Handle error_mark_node arguments. - - * decl.c (grokparms): Return NULL_TREE if any parms were erroneous. - -2020-05-21 Iain Sandoe - - * coroutines.cc (finish_co_return_stmt): Revert change to use - finish_expr_stmt. - -2020-05-21 Patrick Palka - - PR c++/94038 - * constexpr.c (constexpr_ctx::uid_sensitive): Remove field. - (uid_sensitive_constexpr_evaluation_value): Define. - (uid_sensitive_constexpr_evaluation_true_counter): Define. - (uid_sensitive_constexpr_evaluation_p): Define. - (uid_sensitive_constexpr_evaluation_sentinel): Define its - constructor. - (uid_sensitive_constexpr_evaluation_checker): Define its - constructor and its evaluation_restricted_p method. - (get_fundef_copy): Remove 'ctx' parameter. Use u_s_c_e_p - instead of constexpr_ctx::uid_sensitive. - (cxx_eval_call_expression): Use u_s_c_e_p instead, and test it - last. Adjust call to get_fundef_copy. - (instantiate_cx_fn_r): Test u_s_c_e_p so that we increment the - counter if necessary. - (cxx_eval_outermost_constant_expr): Remove 'uid_sensitive' - parameter. Adjust function body accordingly. - (maybe_constant_value): Remove 'uid_sensitive' parameter and - adjust function body accordingly. Set up a - uid_sensitive_constexpr_evaluation_checker, and use it to - conditionally update the cv_cache. - * cp-gimplify.c (cp_fold): Set up a - uid_sensitive_constexpr_evaluation_checker, and use it to - conditionally update the fold_cache. - * cp-tree.h (maybe_constant_value): Update declaration. - (struct uid_sensitive_constexpr_evaluation_sentinel): Define. - (struct sensitive_constexpr_evaluation_checker): Define. - * expr.c (fold_for_warn): Set up a - uid_sensitive_constexpr_evaluation_sentinel before calling - the folding subroutines. Drop all but the first argument to - maybe_constant_value. - -2020-05-20 Marek Polacek - - DR 2237 - * parser.c (cp_parser_unqualified_id): Reject simple-template-id as - the declarator-id of a destructor. - (cp_parser_constructor_declarator_p): Reject simple-template-id as - the declarator-id of a constructor. - -2020-05-20 Marek Polacek - - DR 2289 - PR c++/94553 - * cp-tree.h (SD_DECOMPOSITION): New flag. - * decl.c (duplicate_decls): Make sure a structured binding is unique - in its declarative region. - (start_decl): If INITIALIZED is SD_DECOMPOSITION, call - fit_decomposition_lang_decl. - (grokdeclarator): Compare INITIALIZED directly to SD_* flags. - * parser.c (cp_parser_decomposition_declaration): Pass SD_DECOMPOSITION - to start_decl. - -2020-05-20 Patrick Palka - - PR c++/95223 - * typeck.c (structural_comptypes): Don't perform - context-dependent resolution of TYPENAME_TYPEs when - comparing_specializations. - -2020-05-19 Nathan Sidwell - - * pt.c (lookup_template_class_1): Do not reinit template_info of an - alias here. - -2020-05-18 Martin Sebor - - PR c++/94923 - * call.c ((maybe_warn_class_memaccess): Use is_byte_access_type. - * cp-tree.h (is_dummy_object): Return bool. - (is_byte_access_type): Declare new function. - * tree.c (is_dummy_object): Return bool. - (is_byte_access_type): Define new function. - -2020-05-19 Patrick Palka - - PR c++/87847 - * pt.c (init_template_processing): Enable sanitization for - decl_specializations and type_specializations. - - PR c++/66439 - * pt.c (fn_type_unification): Pass 'fn' instead of NULL_TREE as - the 'in_decl' parameter to coerce_template_parms. - -2020-05-18 Marek Polacek - - PR c++/94955 - * typeck.c (cp_build_binary_op): Use fold_for_warn instead of - cp_fold_rvalue. - -2020-05-18 Marek Polacek - - PR c++/94937 - * cvt.c (cp_get_fndecl_from_callee): Return NULL_TREE if the function - type is not INDIRECT_TYPE_P. - * decl.c (omp_declare_variant_finalize_one): Call - cp_get_callee_fndecl_nofold instead of looking for the function decl - manually. - -2020-05-18 Marek Polacek - - PR c++/90915 - * parser.c (cp_parser_has_attribute_expression): Sorry on a - type-dependent argument. - -2020-05-18 Marek Polacek - - DR 1512 - PR c++/87699 - * call.c (add_builtin_candidate) : Create candidate - operator functions when type is std::nullptr_t for ==/!=. - * typeck.c (composite_pointer_type_r): Add a bool * parameter. Use it - to maybe add "const" to the pointer type. - (composite_pointer_type): Update the call to composite_pointer_type_r. - (cp_build_binary_op): Turn two warning_at into error_at. Print the - types. - -2020-05-18 Jason Merrill - - * call.c (build_over_call): Remove unnecessary - cp_stabilize_reference. - -2020-05-18 Marek Polacek - - * call.c (add_builtin_candidate): Don't create a builtin overload - candidate for ++ when type is bool in C++17. - -2020-05-18 Marek Polacek - - * cfns.h: Regenerated. - -2020-05-17 Iain Sandoe - - * coroutines.cc (morph_fn_to_coro): Initialize the gro variable. - -2020-05-16 Iain Sandoe - - * coroutines.cc (finish_co_return_stmt): Implement rules - from [class.copy.elision] /3. - -2020-05-16 Patrick Palka - - PR c++/57943 - * semantics.c (finish_decltype_type): Call - instantiate_non_dependent_expr_sfinae on the expression. - -2020-05-15 Patrick Palka - - Revert: - - 2020-04-07 Patrick Palka - - PR c++/90996 - * typeck2.c (process_init_constructor_array): Propagate - CONSTRUCTOR_PLACEHOLDER_BOUNDARY up from each element initializer to - the array initializer. - -2020-05-15 Jason Merrill - - PR c++/93286 - ICE with __is_constructible and variadic template. - * pt.c (tsubst_tree_list): New. - (tsubst, tsubst_copy_and_build): Use it. - * decl2.c (is_late_template_attribute): Handle error_mark_node args. - -2020-05-15 Nathan Sidwell - - * pt.c (template_args_equal): Fix thinkos in previous 'cleanup'. - -2020-05-14 Jason Merrill - - PR c++/93901 - * pt.c (maybe_instantiate_noexcept): Change clone handling. - -2020-05-14 Patrick Palka - - PR c++/78446 - * call.c (build_op_call): Pass complain to lookup_fnfields. - (build_special_member_call): Likewise. - * class.c (type_requires_array_cookie): Pass tf_warning_or_error - to lookup_fnfields. - * cp-tree.h (lookup_fnfields): Add tsubst_flags_t parameter. - * except.c (build_throw): Pass tf_warning_or_error to - lookup_fnfields. - * init.c (build_new_1): Pass complain to lookup_fnfields. - * method.c (locate_fn_flags): Likewise. - * name-lookup.c (lookup_name_real_1): Pass tf_warning_or_error - to lookup_fnfields. - * pt.c (tsubst_baselink): Pass complain to lookup_fnfields. - * search.c (lookup_fnfields): New 'complain' parameter. Pass it - to lookup_member. - -2020-05-14 Nathan Sidwell - - * parser.c (cp_parser_diagnose_invalid_typename): Mention - std=c++20 not 2a, reformat dependent binfo inform loops. - - * pt.c (tsubst_template_decl): Reorder and commonize some control - paths. - - * pt.c (tsubst_friend_function): Simplify control flow. - - * pt.c (lookup_template_class_1): Remove unnecessary else by - simply grabbing TYPE_NAME earlier. - - * pt.c (push_template_decl_real): Adjust friend pushing logic. - Reinit template type. - - * pt.c (build_template_decl): Init DECL_TEMPLATE_RESULT & - TREE_TYPE here ... - (process_partial_specialization): ... not here ... - (push_template_decl_real, add_inherited_template_parms) - (build_deduction_guide): ... or here. - -2020-05-14 Jakub Jelinek - - * cp-gimplify.c (cp_genericize_r): Set cfun->has_omp_target. - -2020-05-13 Patrick Palka - - PR c++/79706 - * init.c (build_vec_delete_1): Just return error_mark_node if - deallocate_expr is error_mark_node. - (build_delete): Just return error_mark_node if do_delete is - error_mark_node. - -2020-05-13 Patrick Palka - - PR c++/95020 - * constraint.cc (tsubst_requires_expr): Produce a new - requires-expression when processing_template_decl, even if - template arguments are not dependent. - -2020-05-13 Marek Polacek - - PR c++/95066 - * decl.c (duplicate_decls): Set DECL_HAS_DEPENDENT_EXPLICIT_SPEC_P. - -2020-05-13 Nathan Sidwell - - * pt.c (template_args_equal): Reorder category checking for - clarity. - - * pt.c (perform_typedefs_access_check): Cache expensively - calculated object references. - (check_auto_in_tmpl_args): Just assert we do not get unexpected - nodes, rather than silently do nothing. - (append_type_to_template_for_access): Likewise, cache expensie - object reference. - - * pt.c (canonical_type_parameter): Simplify. - - Formatting fixups & some simplifications. - * pt.c (spec_hash_table): New typedef. - (decl_specializations, type_specializations): Use it. - (retrieve_specialization): Likewise. - (register_specialization): Remove unnecessary casts. - (push_template_decl_real): Reformat. - (instantiate_class_template_1): Use more RAII. - (make_argument_pack): Simplify. - (instantiate_template_1): Use gcc_checking_assert for expensive - asserts. - (instantiate_decl): Likewise. - (resolve_typename_type): Reformat comment. - * semantics.c (struct deferred_access): Remove unnecessary GTY on - member. - (begin_class_definition): Fix formatting. - -2020-05-13 Jason Merrill - - * call.c, class.c, constexpr.c, constraint.cc, decl.c, init.c, - lambda.c, lex.c, method.c, name-lookup.c, parser.c, pt.c, tree.c, - typeck2.c: Change cxx2a to cxx20. - -2020-05-12 Marek Polacek - - PR c++/95074 - * parser.c (cp_parser_postfix_expression) : When - looking for a block-scope function declaration, look through the whole - set, not just the first function in the overload set. - -2020-05-12 Jakub Jelinek - - PR c++/95063 - * pt.c (tsubst_decl): Deal with DECL_OMP_PRIVATIZED_MEMBER for - a bit-field. - -2020-05-11 Jason Merrill - - Resolve C++20 NB comment CA104 - * pt.c (determine_specialization): Compare constraints for - specialization of member template of class instantiation. - -2020-05-11 Jason Merrill - - PR c++/92583 - PR c++/92654 - * tree.c (cp_walk_subtrees): Stop at typedefs. - Handle TYPENAME_TYPE here. - * pt.c (find_parameter_packs_r): Not here. - (for_each_template_parm_r): Clear *walk_subtrees. - * decl2.c (min_vis_r): Look through typedefs. - -2020-05-11 Jason Merrill - - * call.c (implicit_conversion_error): Split out from... - (perform_implicit_conversion_flags): ...here. - (build_converted_constant_expr_internal): Use it. - -2020-05-11 Jason Merrill - - PR c++/90748 - * parser.c (inject_parm_decls): Set current_class_ptr here. - (cp_parser_direct_declarator): And here. - (cp_parser_late_return_type_opt): Not here. - (cp_parser_noexcept_specification_opt): Nor here. - (cp_parser_exception_specification_opt) - (cp_parser_late_noexcept_specifier): Remove unneeded parameters. - -2020-05-11 Jason Merrill - - * decl.c (cxx_init_decl_processing): Call declare_weak for - __cxa_pure_virtual. - -2020-05-11 Jason Merrill - - * pt.c (instantiate_class_template_1): Call tsubst_expr for - STATIC_ASSERT member. - * ptree.c (cxx_print_xnode): Handle STATIC_ASSERT. - -2020-05-11 Jason Merrill - - * pt.c (find_parameter_packs_r) [LAMBDA_EXPR]: Remove redundant - walking of capture list. - -2020-05-11 Jason Merrill - - * cp-tree.h (LOOKUP_EXPLICIT_TMPL_ARGS): Remove. - * call.c (build_new_function_call): Don't set it. - (build_new_method_call_1): Likewise. - (build_over_call): Check cand->explicit_targs instead. - -2020-05-11 Jason Merrill - - * decl.c (compute_array_index_type_loc): Stabilize before building - the MINUS_EXPR. - -2020-05-11 Jason Merrill - - * decl.c (grokdeclarator): Adjust deprecated_state here. - (start_decl): Not here. - -2020-05-08 Iain Sandoe - - PR c++/95003 - * coroutines.cc (build_actor_fn): Ensure that bind scopes - are marked as having side-effects where necessary. - (replace_statement_captures): Likewise. - (morph_fn_to_coro): Likewise. - -2020-05-08 Nathan Sidwell - - * NEWS: Delete, it is so stale. - - * parser.c (cp_lexer_set_source_position_from_token): EOF has a - location too. - -2020-05-07 Iain Sandoe - - PR c++/94817 - PR c++/94829 - * coroutines.cc (morph_fn_to_coro): Set unformed outline - functions to error_mark_node. For early error returns suppress - warnings about missing ramp return values. Fix reinstatement - of the function body on pre-existing initial error. - * decl.c (finish_function): Use the normal error path for fails - in the ramp function, do not try to compile the helpers if the - transform fails. - -2020-05-07 Marek Polacek - - PR c++/94590 - Detect long double -> double narrowing. - * typeck2.c (check_narrowing): Detect long double -> double - narrowing even when double and long double have the same - precision. Make it handle conversions to float too. - -2020-05-07 Marek Polacek - - PR c++/94255 - * parser.c (cp_parser_class_specifier_1): Check that the scope is - nested inside current scope before pushing it. - -2020-05-07 Marek Polacek - - P1957R2 - * typeck2.c (check_narrowing): Consider T* to bool narrowing - in C++11 and up. - -2020-05-07 Marek Polacek - - * decl.c (grok_op_properties): Fix spelling of non-static. - * typeck.c (build_class_member_access_expr): Likewise. - -2020-05-07 Richard Biener - - PR middle-end/94703 - * optimize.c (update_cloned_parm): Copy DECL_NOT_GIMPLE_REG_P. - -2020-05-06 Marek Polacek - - PR c++/94938 - * pt.c (tsubst_copy_and_build): Call type_dependent_expression_p_push - instead of uses_template_parms. Move the warning_sentinels after the - RECURs. - -2020-05-06 Jakub Jelinek - - PR c++/94951 - * typeck.c (cp_strict_aliasing_warning): New function. - (cp_build_indirect_ref_1, build_reinterpret_cast_1): Use - it instead of strict_aliasing_warning. - - PR c++/94907 - * method.c (defaulted_late_check): Don't call synthesize_method - on constexpr sfk_comparison if it has been called on it already. - -2020-05-06 Nathan Sidwell - - PR c++/94946 - * decl.c (grokdeclarator): Don't splice template attributes in - parm context -- they can apply to the parm. - -2020-05-05 Iain Sandoe - - * coroutines.cc: Remove references to n4849 throughout. - -2020-05-05 Jason Merrill - - CWG 2235 - * pt.c (more_specialized_fn): Do consider parms with no deducible - template parameters. - -2020-05-05 Jason Merrill - - PR c++/90212 - * constexpr.c (potential_constant_expression_1): In a lambda - function, consider a captured variable directly. - -2020-05-05 Iain Sandoe - - * coroutines.cc (transform_await_wrapper): Check that we have - no unlowered co_yields. - (captures_temporary): Likewise. - (register_awaits): Likewise. - -2020-05-05 Nathan Sidwell - - PR c++/94807 - * coroutines.cc (morph_fn_to_coro): Just check for - closure_identifier. - * pt.c (tsubst_function_decl): Update lambda fn's this_ptr name. - -2020-05-05 Marek Polacek - Jason Merrill - - PR c++/94799 - * parser.c (cp_parser_postfix_dot_deref_expression): If we have - a type-dependent object of class type, stash it to - parser->context->object_type. If the postfix expression doesn't have - a type, use typeof. - (cp_parser_class_name): Consider object scope too. - (cp_parser_lookup_name): Remove code dealing with the case when - object_type is unknown_type_node. - -2020-05-04 Patrick Palka - - PR c++/94038 - * cp-gimplify.c (cp_fold) : Move some variable - declarations closer to their uses. Copy the CALL_EXPR only - when one of its arguments has changed. - : Instead of first collecting the folded - arguments into a releasing_vec, just make a copy of the TREE_VEC - as soon as folding changes one of its arguments. - -2020-05-04 Iain Sandoe - - * coroutines.cc (morph_fn_to_coro): Mark the coro.gro variable - as artificial and ignored. - -2020-05-04 Nathan Sidwell - - pt.c (process_template_parm): Don't walk the template list twice, - remember the final node instead. - (end_template_parm_list): Refactor. Comment on why we do a pop - and a push. - - PR c++/94827 -- don't save parms in nested requirement - * constraint.cc (tsubst_nested_requirement): TYPE directly holds - notmalized requirement. - (finish_nested_requirement): Don't stash current tpl parms into - the requirement. - (diagnose_nested_requirement): TYPE directly holds notmalized - requirement. - -2020-05-01 Patrick Palka - - PR c++/90880 - * cp-tree.h (check_accessibility_of_qualified_id): Add - tsubst_flags_t parameter and change return type to bool. - * parser.c (cp_parser_lookup_name): Pass tf_warning_to_error to - check_accessibility_of_qualified_id. - * pt.c (tsubst_qualified_id): Return error_mark_node if - check_accessibility_of_qualified_id returns false. - * semantics.c (check_accessibility_of_qualified_id): Add - complain parameter. Pass complain instead of - tf_warning_or_error to perform_or_defer_access_check. Return - true unless perform_or_defer_access_check returns false. - -2020-05-01 Marek Polacek - - PR c++/94885 - * typeck2.c (process_init_constructor_record): Return PICFLAG_ERRONEOUS - if an initializer element was erroneous. - -2020-05-01 Jason Merrill - - PR c++/90479 - * init.c (get_nsdmi): Don't push_to_top_level for a local class. - -2020-05-01 Jason Merrill - - PR c++/91529 - * decl.c (cp_finish_decl): Also clear TREE_READONLY if - -fmerge-all-constants. - -2020-05-01 Jason Merrill - - PR c++/93822 - * pt.c (tsubst_decl): Make sure DECL_VALUE_EXPR continues to have - the same type as the variable. - -2020-04-30 Jason Merrill - Nathan Sidwell - - PR c++/94827 - * constraint.cc (map_arguments): If ARGS is null, it's a - self-mapping of parms. - (finish_nested_requirement): Do not pass argified - current_template_parms to normalization. - (tsubst_nested_requirement): Don't assert no template parms. - -2020-04-30 Iain Sandoe - - PR c++/94886 - * coroutines.cc (transform_local_var_uses): Defer walking - the DECL_INITIALs of BIND_EXPR vars until all the frame - allocations have been made. - -2020-04-30 Iain Sandoe - - PR c++/94883 - * coroutines.cc (register_awaits): Update target - expressions for awaitable and suspend handle - initializers. - -2020-04-30 Iain Sandoe - - PR c++/94879 - * coroutines.cc (build_co_await): Account for variables - with DECL_VALUE_EXPRs. - (captures_temporary): Likewise. - (register_awaits): Likewise. - -2020-04-29 Patrick Palka - - PR c++/94830 - * pt.c (find_template_parameter_info::parm_list): New field. - (keep_template_parm): Use the new field to build up the - parameter list here instead of ... - (find_template_parameters): ... here. Return ftpi.parm_list. - -2020-04-29 Jakub Jelinek - - PR target/94707 - * class.c (build_base_field): Set DECL_FIELD_ABI_IGNORED on C++17 empty - base artificial FIELD_DECLs. - (layout_class_type): Set DECL_FIELD_ABI_IGNORED on empty class - field_poverlapping_p FIELD_DECLs. - -2020-04-29 Patrick Palka - - PR c++/94819 - * constraint.cc (satisfy_declaration_constraints): Use saved_t - instead of t as the key to decl_satisfied_cache. - - PR c++/94808 - * error.c (print_requires_expression_info): Print the dependent - form of the parameter list with its template parameter mapping, - rather than printing the substituted form. - -2020-04-28 Jason Merrill - - PR c++/94583 - * decl.c (use_eh_spec_block): Check nothrow type after - DECL_DEFAULTED_FN. - * pt.c (maybe_instantiate_noexcept): Call synthesize_method for - DECL_MAYBE_DELETED fns here. - * decl2.c (mark_used): Not here. - * method.c (get_defaulted_eh_spec): Reject DECL_MAYBE_DELETED here. - -2020-04-28 Iain Sandoe - - PR c++/94760 - * coroutines.cc (instantiate_coro_traits): Pass a reference to - object type rather than a pointer type for 'this', for method - coroutines. - (struct param_info): Add a field to hold that the parm is a lambda - closure pointer. - (morph_fn_to_coro): Check for lambda closure pointers in the - args. Use a reference to *this when building the args list for the - promise allocator lookup. - -2020-04-28 Iain Sandoe - - PR c++/94759 - * coroutines.cc (coro_promise_type_found_p): Do not - exclude non-classes here (this needs to be handled in the - coroutine header). - (morph_fn_to_coro): Allow for the case where the coroutine - returns void. - -2020-04-27 Iain Sandoe - - PR c++/94701 - * coroutines.cc (struct local_var_info): Add fields for static - variables and those with DECL_VALUE_EXPR redirection. - (transform_local_var_uses): Skip past typedefs and static vars - and then account for redirected variables. - (register_local_var_uses): Likewise. - -2020-04-27 Jason Merrill - - PR c++/90750 - PR c++/79585 - * decl.c (grokdeclarator): Move dependent attribute to decl. - * decl2.c (splice_template_attributes): No longer static. - -2020-04-27 Patrick Palka - - PR c++/94772 - * constexpr.c (cxx_eval_call_expression): Don't set new_obj if we're - evaluating the target constructor of a delegating constructor. - (cxx_eval_store_expression): Don't set TREE_READONLY if the LHS of the - INIT_EXPR is '*this'. - -2020-04-26 Marek Polacek - - PR c++/90320 - * call.c (struct conversion): Add copy_init_p. - (standard_conversion): Set copy_init_p in ck_base and ck_rvalue - if FLAGS demands LOOKUP_ONLYCONVERTING. - (convert_like_real) : If copy_init_p is set, or - LOOKUP_ONLYCONVERTING into FLAGS. - -2020-04-26 Iain Sandoe - - PR c++/94752 - * coroutines.cc (morph_fn_to_coro): Ensure that - unnamed function params have a usable and distinct - frame field name. - -2020-04-24 Jason Merrill - - PR c++/94583 - * decl.c (redeclaration_error_message): Reject defaulted comparison - operator that has been previously declared. - -2020-04-25 Patrick Palka - - * parser.c (cp_parser_diagnose_invalid_type_name): Suggest enabling - concepts if the invalid identifier is 'requires'. - -2020-04-25 Jakub Jelinek - - PR c++/94742 - * semantics.c (finish_call_expr): When looking if all overloads - are noreturn, use STRIP_TEMPLATE to look through TEMPLATE_DECLs. - -2020-04-24 Martin Liska - - * coroutines.cc: Fix compilation error for release checking - where we miss declaration of ‘coro_body_contains_bind_expr_p’. - -2020-04-23 Patrick Palka - - * tree.c (zero_init_expr_p): Use uses_template_parms instead of - dependent_type_p. - - PR c++/94645 - * pt.c (template_class_depth): Walk into the DECL_FRIEND_CONTEXT of a - friend declaration rather than into its CP_DECL_CONTEXT. - -2020-04-23 Iain Sandoe - - PR c++/94288 - * coroutines.cc (await_statement_expander): Simplify cases. - (struct susp_frame_data): Add fields for truth and/or if - cases, rename one field. - (analyze_expression_awaits): New. - (expand_one_truth_if): New. - (add_var_to_bind): New helper. - (coro_build_add_if_not_cond_break): New helper. - (await_statement_walker): Handle conditional expressions, - handle expansion of truth-and/or-if cases. - (bind_expr_find_in_subtree): New, checking-only. - (coro_body_contains_bind_expr_p): New, checking-only. - (morph_fn_to_coro): Ensure that we have a top level bind - expression. - -2020-04-22 Jonathan Wakely - - PR translation/94698 - * class.c (check_field_decls): Change "define" to "declare" in - -Weffc++ diagnostics. - -2020-04-22 Patrick Palka - - PR c++/94719 - PR c++/94549 - * constraint.cc (satisfy_declaration_constraints): If the inherited - constructor points to an instantiation of a constructor template, - remember and use its attached template arguments. - -2020-04-22 Jonathan Wakely - - PR translation/94698 - * class.c (check_field_decls): Change "override" to "define" in - -Weffc++ diagnostics. - -2020-04-22 Iain Sandoe - - PR c++/94682 - * coroutines.cc (struct param_info): Add a field to note that - the param is 'this'. - (morph_fn_to_coro): Convert this to a reference before using it - in the promise parameter preview. - -2020-04-22 Jason Merrill - - PR c++/94546 - * pt.c (register_parameter_specializations): If the instantiation is - still a parameter pack, don't wrap it in a NONTYPE_ARGUMENT_PACK. - (tsubst_pack_expansion, tsubst_expr): Adjust. - -2020-04-22 Martin Sebor - Jason Merrill - - PR c++/94510 - * decl.c (reshape_init_array_1): Avoid stripping redundant trailing - zero initializers... - * mangle.c (write_expression): ...and handle them here even for - pointers to members by calling zero_init_expr_p. - * cp-tree.h (zero_init_expr_p): Declare. - * tree.c (zero_init_expr_p): Define. - (type_initializer_zero_p): Remove. - * pt.c (tparm_obj_values): New hash_map. - (get_template_parm_object): Store to it. - (tparm_object_argument): New. - -2020-04-22 Patrick Palka - - PR c++/67825 - * constraint.cc (diagnose_valid_expression): Check convert_to_void here - as well as in tsubst_valid_expression_requirement. - -2020-04-21 Patrick Palka - - PR c++/94549 - * constraint.cc (satisfy_declaration_constraints): Don't strip the - inherited constructor if it already has template information. - - PR c++/94597 - * pt.c (any_template_parm_r) : New case. If this - is a conversion operator, visit its TREE_TYPE. - -2020-04-21 Nathan Sidwell - - * pt.c (tsubst_copy_and_build) [POINTER_PLUS_EXPR]: Check for - error_mark_node. - -2020-04-21 Iain Sandoe - - PR c++/94661 - * coroutines.cc (morph_fn_to_coro): Simplify return - value computation. - -2020-04-17 Marek Polacek - - PR c++/94592 - * constexpr.c (cxx_eval_outermost_constant_expr): Return when T is - a BRACE_ENCLOSED_INITIALIZER_P. - (is_nondependent_constant_expression): Don't check - BRACE_ENCLOSED_INITIALIZER_P. - (is_nondependent_static_init_expression): Likewise. - -2020-04-20 Patrick Palka - - PR c++/94628 - * cp-tree.h (lss_policy::lss_nop): New enumerator. - * pt.c (local_specialization_stack::local_specialization_stack): Handle - an lss_nop policy. - (local_specialization_stack::~local_specialization_stack): Likewise. - (tsubst_pack_expansion): Use a local_specialization_stack instead of - manually saving and restoring local_specializations. Conditionally - replace local_specializations sooner, before the handling of the - unsubstituted_packs case. - -2020-04-20 Marek Polacek - - PR c++/94505 - bogus -Wparentheses warning with fold-expression. - * pt.c (fold_expression): Add warning_sentinel for -Wparentheses - before calling build_x_binary_op. - -2020-04-20 Marek Polacek - - * coroutines.cc (captures_temporary): Don't assign the result of - STRIP_NOPS to the same variable. - -2020-04-20 Nathan Sidwell - - PR c++/94454 - tpl-tpl-parms are not canonicalizable types - * pt.c (canonical_type_parameter): Assert not a tpl-tpl-parm. - (process_template_parm): tpl-tpl-parms are structural. - (rewrite_template_parm): Propagate structuralness. - - PR c++/94454 - Expr pack expansion equality - * tree.c (cp_tree_equal) [TEMPLATE_ID_EXPR, default]: Refactor. - [EXPR_PACK_EXPANSION]: Add. - - PR c++/94454 Template Argument Hashing - * pt.c (iterative_hash_template_arg): Strip nodes as - template_args_equal does. - [ARGUMENT_PACK_SELECT, TREE_VEC, CONSTRUCTOR]: Refactor. - [node_class:TEMPLATE_TEMPLATE_PARM]: Hash by level & index. - [node_class:default]: Refactor. - -2020-04-18 Patrick Palka - - PR c++/94632 - * tree.c (cp_tree_equal) : Ignore - comparing_specializations if the parameters' contexts are identical. - - PR c++/92187 - * pt.c (splice_late_return_type): Propagate cv-qualifiers and - PLACEHOLDER_TYPE_CONSTRAINTS from the original auto node to the new one. - -2020-04-17 Patrick Palka - - PR c++/94483 - * lambda.c (lambda_capture_field_type): Avoid doing auto deduction if - the explicit initializer has parameter packs. - - PR c++/88754 - * parser.c (cp_parser_check_template_parameters): Before issuing a hard - error, first try simulating an error instead. - -2020-04-17 Jakub Jelinek - - PR other/94629 - * call.c (build_conditional_expr_1): Remove redundant assignment to - arg2. - -2020-04-16 Patrick Palka - - PR c++/94475 - * cvt.c (ocp_convert): If the result of scalar_constant_value is - erroneous, ignore it and use the original expression. - -2020-04-16 Jakub Jelinek - - PR c++/94571 - * parser.c (cp_parser_simple_declaration): Fix up a pasto in - diagnostics. - -2020-04-15 Jakub Jelinek - - PR c/94593 - * parser.c (cp_parser_pragma) : Reject - requires directive when not at file or namespace scope. - -2020-04-14 Iain Sandoe - - PR c++/94359 - * coroutines.cc (build_actor_fn): Check that the target can - support the resume tailcall before mandating it. - -2020-04-14 Patrick Palka - - PR c++/85278 - * cxx-pretty-print.c (cxx_pretty_printer:simple_type_specifier) - : Handle DECLTYPE_TYPE here instead of ... - (pp_cxx_type_specifier_seq) : ... here. - (cxx_pretty_printer::direct_abstract_declarator) : - New no-op case. - - PR c++/94034 - * constexpr.c (replace_result_decl_data): New struct. - (replace_result_decl_data_r): New function. - (replace_result_decl): New function. - (cxx_eval_call_expression): Use it. - * tree.c (build_aggr_init_expr): Set the location of the AGGR_INIT_EXPR - to that of its initializer. - -2020-04-13 Marek Polacek - - PR c++/94588 - * name-lookup.c (check_local_shadow): Add an inform call. - -2020-04-13 Patrick Palka - - PR c++/94521 - * error.c (dump_scope): Pass TFF_NO_FUNCTION_ARGUMENTS to - dump_function_decl when printing a function template instantiation as a - scope. - - PR c++/94470 - * constexpr.c (get_or_insert_ctor_field): Set default value of parameter - 'pos_hint' to -1. - (cxx_eval_bare_aggregate): Use get_or_insert_ctor_field instead of - assuming the the next index belongs at the end of the new CONSTRUCTOR. - (cxx_eval_store_expression): Revert PR c++/78572 fix. - -2020-04-13 Nathan Sidwell - - PR c++/94426 lambdas with internal linkage are different to no-linkage - * decl2.c (determine_visibility): A lambda's visibility is - affected by its extra scope. - * pt.c (instantiate_decl): Determine var's visibility before - instantiating its initializer. - * tree.c (no_linkage_check): Revert code looking at visibility of - lambda's extra scope. -` -2020-04-10 Iain Sandoe - - PR c++/94528 - * coroutines.cc (co_await_expander): Remove. - (expand_one_await_expression): New. - (process_one_statement): New. - (await_statement_expander): New. - (build_actor_fn): Revise to use per-statement expander. - (struct susp_frame_data): Reorder and comment. - (register_awaits): Factor code. - (replace_statement_captures): New, factored from... - (maybe_promote_captured_temps):.. here. - (await_statement_walker): Revise to process per statement. - (morph_fn_to_coro): Use revised susp_frame_data layout. - -2020-04-10 Marek Polacek - - PR c++/94149 - * method.c (constructible_expr): In C++20, try using parenthesized - initialization of aggregates to determine the result of - __is_constructible. - -2020-04-10 Bin Cheng - - * coroutines.cc (co_await_expander): Simplify. - -2020-04-09 Jason Merrill - - PR c++/94523 - * constexpr.c (cxx_eval_constant_expression) [VAR_DECL]: Look at - ctx->object and ctx->global->values first. - -2020-04-09 Marek Polacek - - PR c++/93790 - * call.c (initialize_reference): If the reference binding failed, maybe - try initializing from { }. - * decl.c (grok_reference_init): For T& t(e), set - LOOKUP_AGGREGATE_PAREN_INIT but don't build up a constructor yet. - -2020-04-08 Iain Sandoe - Jun Ma - - * coroutines.cc (maybe_promote_captured_temps): Add a cleanup - expression, if needed, to any call from which we promoted - temporaries captured by reference. - -2020-04-08 Marek Polacek - - PR c++/94507 - ICE-on-invalid with lambda template. - * pt.c (tsubst_lambda_expr): Cope when tsubst_template_decl or - tsubst_function_decl returns error_mark_node. - -2020-04-08 Martin Liska - - PR c++/94314 - * decl.c (duplicate_decls): Duplicate also DECL_IS_REPLACEABLE_OPERATOR. - (cxx_init_decl_processing): Mark replaceable all implicitly defined - operators. - -2020-04-08 Patrick Palka - - Core issues 1001 and 1322 - PR c++/92010 - * pt.c (rebuild_function_or_method_type): Split function out from ... - (tsubst_function_type): ... here. - (maybe_rebuild_function_decl_type): New function. - (tsubst_function_decl): Use it. - -2020-04-08 Jakub Jelinek - - PR c++/94325 - * decl.c (begin_destructor_body): For CLASSTYPE_VBASECLASSES class - dtors, if CLASSTYPE_PRIMARY_BINFO is non-NULL, but not BINFO_VIRTUAL_P, - look at CLASSTYPE_PRIMARY_BINFO of its BINFO_TYPE if it is not - BINFO_VIRTUAL_P, and so on. - -2020-04-08 Marek Polacek - - PR c++/94478 - ICE with defaulted comparison operator - * method.c (early_check_defaulted_comparison): Give an error when the - context is null. - -2020-04-08 Tobias Burnus - - PR middle-end/94120 - * paser.c (cp_parser_oacc_declare): Add check that variables - are declared in the same scope as the directive. - -2020-04-07 Jason Merrill - - PR c++/94480 - * parser.c (cp_parser_requires_expression): Use tentative_firewall. - - PR c++/94481 - * parser.c (cp_parser_placeholder_type_specifier): Use - matching_parens. - -2020-04-07 Iain Sandoe - - * coroutines.cc (maybe_promote_captured_temps): Ensure that - reference capture placeholder vars are properly declared. - -2020-04-07 Patrick Palka - - PR c++/90996 - * tree.c (replace_placeholders): Look through all handled components, - not just COMPONENT_REFs. - * typeck2.c (process_init_constructor_array): Propagate - CONSTRUCTOR_PLACEHOLDER_BOUNDARY up from each element initializer to - the array initializer. - -2020-04-07 Jakub Jelinek - - PR c++/94512 - * parser.c (cp_parser_omp_parallel): Set OMP_PARALLEL_COMBINED - if cp_parser_omp_master succeeded. - -2020-04-06 Jason Merrill - - PR c++/94462 - * decl.c (duplicate_decls): Fix handling of DECL_HIDDEN_FRIEND_P. - -2020-04-04 Marek Polacek - Jason Merrill - - PR c++/94155 - crash in gimplifier with paren init of aggregates. - * init.c (build_vec_init): Fill in indexes. - -2020-04-04 Jason Merrill - - PR c++/91377 - * mangle.c (write_expression): Skip IMPLICIT_CONV_EXPR. - -2020-04-04 Patrick Palka - - PR c++/94205 - PR c++/79937 - * constexpr.c (struct constexpr_ctx): New field 'parent'. - (cxx_eval_bare_aggregate): Propagate CONSTRUCTOR_PLACEHOLDER_BOUNDARY - flag from the original constructor to the reduced constructor. - (lookup_placeholder): Prefer to return the outermost matching object - by recursively calling lookup_placeholder on the 'parent' context, - but don't cross CONSTRUCTOR_PLACEHOLDER_BOUNDARY constructors. - (cxx_eval_constant_expression): Link the 'ctx' context to the 'new_ctx' - context via 'new_ctx.parent' when being expanded without an explicit - target. Don't call replace_placeholders. - (cxx_eval_outermost_constant_expr): Initialize 'ctx.parent' to NULL. - - PR c++/94219 - PR c++/94205 - * constexpr.c (get_or_insert_ctor_field): Split out (while adding - support for VECTOR_TYPEs, and optimizations for the common case) - from ... - (cxx_eval_store_expression): ... here. Rename local variable - 'changed_active_union_member_p' to 'activated_union_member_p'. Record - the sequence of indexes into 'indexes' that yields the subobject we're - assigning to. Record the integer offsets of the constructor indexes - we're assigning through into 'index_pos_hints'. After evaluating the - initializer of the store expression, recompute 'valp' using 'indexes' - and using 'index_pos_hints' as hints. - (cxx_eval_bare_aggregate): Tweak comments. Use get_or_insert_ctor_field - to recompute the constructor_elt pointer we're assigning through after - evaluating each initializer. - -2020-04-04 Jason Merrill - - PR c++/67825 - * constraint.cc (tsubst_valid_expression_requirement): Call - convert_to_void. - -2020-04-04 Jason Merrill - - PR c++/94453 - * constexpr.c (maybe_constant_value): Use break_out_target_exprs. - * expr.c (mark_use) [VIEW_CONVERT_EXPR]: Don't wrap a TARGET_EXPR in - NON_LVALUE_EXPR. - -2020-04-04 Jakub Jelinek - - PR debug/94441 - * parser.c (cp_parser_omp_for_loop): Use - protected_set_expr_location_if_unset. - * cp-gimplify.c (genericize_if_stmt, genericize_cp_loop): Likewise. - - PR c++/94477 - * pt.c (tsubst_expr) : Clear - omp_parallel_combined_clauses. - -2020-04-03 Jason Merrill - - PR c++/91966 - * pt.c (complex_pack_expansion_r): New. - (complex_alias_template_p): Use it. - -2020-03-31 Jason Merrill - - PR c++/94205 - * constexpr.c (cxx_eval_constant_expression) [TARGET_EXPR]: Call - replace_placeholders. - * typeck2.c (store_init_value): Fix arguments to - fold_non_dependent_expr. - -2020-03-31 Jason Merrill - - * constexpr.c (cxx_eval_constant_expression) [TARGET_EXPR]: Use - local variables. - -2020-03-30 Jason Merrill - - PR c++/90711 - * tree.c (cp_tree_equal) [CALL_EXPR]: Compare KOENIG_LOOKUP_P. - (called_fns_equal): Check DECL_CONTEXT. - -2020-03-30 Jakub Jelinek - - PR c++/94385 - * semantics.c (add_stmt): Only set STMT_IS_FULL_EXPR_P on trees with - STATEMENT_CODE_P code. - -2020-03-28 Patrick Palka - - PR c++/94306 - * parser.c (cp_parser_requires_clause_opt): Diagnose and recover from - "requires {" when "requires requires {" was probably intended. - - PR c++/94252 - * constraint.cc (tsubst_compound_requirement): Always suppress errors - from type_deducible_p and expression_convertible_p, as they're not - substitution errors. - (diagnose_atomic_constraint) : Remove this case so - that we diagnose INTEGER_CST expressions of non-bool type via the - default case. - * cp-gimplify.c (cp_genericize_r) : New case. - * parser.c (cp_parser_requires_expression): Always parse the requirement - body as if we're processing a template, by temporarily incrementing - processing_template_decl. Afterwards, if we're not actually in a - template context, perform semantic processing to diagnose any invalid - types and expressions. - * pt.c (tsubst_copy_and_build) : Remove dead code. - * semantics.c (finish_static_assert): Explain an assertion failure - when the condition is a REQUIRES_EXPR like we do when it is a concept - check. - - * constraint.cc (diagnose_compound_requirement): When diagnosing a - compound requirement, maybe replay the satisfaction failure, subject to - the current diagnosis depth. - - * constraint.cc (finish_constraint_binary_op): Set the location of EXPR - as well as its range, because build_x_binary_op doesn't always do so. - (current_constraint_diagnosis_depth): New. - (concepts_diagnostics_max_depth_exceeded_p): New. - (collect_operands_of_disjunction): New. - (satisfy_disjunction): When diagnosing a satisfaction failure, maybe - replay each branch of the disjunction, subject to the current diagnosis - depth. - (diagnose_valid_expression): When diagnosing a satisfaction failure, - maybe replay the substitution error, subject to the current diagnosis - recursion. - (diagnose_valid_type): Likewise. - (diagnose_nested_requiremnet): Likewise. - (diagnosing_failed_constraint::diagnosing_failed_constraint): Increment - current_constraint_diagnosis_depth when diagnosing. - (diagnosing_failed_constraint::~diagnosing_failed_constraint): Decrement - current_constraint_diagnosis_depth when diagnosing. - (diagnosing_failed_constraint::replay_errors_p): New static member - function. - (diagnose_constraints): Don't diagnose if concepts_diagnostics_max_depth - is 0. Emit a one-off note to increase -fconcepts-diagnostics-depth if - the limit was exceeded. - * cp-tree.h (diagnosing_failed_constraint::replay_errors_p): Declare. - -2020-03-27 Nathan Sidwell - - PR c++/84733 - * name-lookup.c (do_pushdecl): Look through cleanp levels. - -2020-03-27 Martin Sebor - - PR c++/94078 - PR c++/93824 - PR c++/93810 - * cp-tree.h (most_specialized_partial_spec): Declare. - * parser.c (cp_parser_elaborated_type_specifier): Distinguish alias - from declarations. - (specialization_of): New function. - (cp_parser_check_class_key): Move code... - (class_decl_loc_t::add): ...to here. Add parameters. Avoid issuing - -Wredundant-tags on first-time declarations in other declarators. - Correct handling of template specializations. - (class_decl_loc_t::diag_mismatched_tags): Also expect to be called - when -Wredundant-tags is enabled. Use primary template or partial - specialization as the guide for uses of implicit instantiations. - * pt.c (most_specialized_partial_spec): Declare extern. - -2020-03-27 Nathan Sidwell - - PR c++/94257 - * name-lookup.c (push_namespace): Triage ambiguous lookups that - contain namespaces. - -2020-03-27 Jakub Jelinek - - PR c++/94326 - * call.c (set_flags_from_callee): Don't update - cp_function_chain->can_throw or current_function_returns_abnormally - if cp_unevaluated_operand. - - PR c++/94339 - * cvt.c (ocp_convert): Handle COMPOUND_EXPR by recursion on the second - operand and creating a new COMPOUND_EXPR if anything changed. - -2020-03-26 Marek Polacek - - PR c++/94336 - template keyword accepted before destructor names. - * parser.c (cp_parser_unqualified_id): Give an error when 'template' - is followed by a destructor name. - -2020-03-27 Patrick Palka - - * decl.c (compute_array_index_type_loc): Remove redundant - type_dependent_expression_p check that is subsumed by - value_dependent_expression_p. - * decl2.c (is_late_template_attribute): Likewise. - * pt.c (uses_template_parms): Likewise. - (dependent_template_arg_p): Likewise. - -2020-03-26 Marek Polacek - - DR 1710 - PR c++/94057 - template keyword in a typename-specifier. - * parser.c (check_template_keyword_in_nested_name_spec): New. - (cp_parser_nested_name_specifier_opt): Implement DR1710, optional - 'template'. Call check_template_keyword_in_nested_name_spec. - (cp_parser_simple_type_specifier): Assume that a < - following a qualified-id in a typename-specifier begins - a template argument list. - -2020-03-26 Iain Sandoe - - * coroutines.cc (coro_init_identifiers): Initialize an identifier - for the cororoutine handle 'address' method name. - (struct coro_aw_data): Add fields to cover the continuations. - (co_await_expander): Determine the kind of await_suspend in use. - If we have the case that returns a continuation handle, then save - this and make the target for 'scope exit without cleanup' be the - continuation resume label. - (expand_co_awaits): Remove. - (struct suspend_point_info): Remove fields that kept the returned - await_suspend handle type. - (transform_await_expr): Remove code tracking continuation handles. - (build_actor_fn): Add the continuation handle as an actor-function - scope var. Build the symmetric transfer continuation point. Call - the tree walk for co_await expansion directly, rather than via a - trivial shim function. - (register_await_info): Remove fields tracking continuation handles. - (get_await_suspend_return_type): Remove. - (register_awaits): Remove code tracking continuation handles. - (morph_fn_to_coro): Remove code tracking continuation handles. - -2020-03-26 Iain Sandoe - - * coroutines.cc (co_await_expander): If we are expanding the - initial await expression, set a boolean flag to show that we - have now reached the initial await_resume() method call. - (expand_co_awaits): Handle the 'initial await resume called' flag. - (build_actor_fn): Insert the initial await expression into the - start of the user-authored function-body. Handle the 'initial await - resume called' flag. - (morph_fn_to_coro): Initialise the 'initial await resume called' - flag. Modify the unhandled exception catch clause to recognise - exceptions that occur before the initial await_resume() and re- - throw them. - -2020-03-26 Jakub Jelinek - - PR c++/81349 - * class.c (user_provided_p): Use STRIP_TEMPLATE instead of returning - true for all TEMPLATE_DECLs. - - PR c++/94272 - * cp-gimplify.c (cp_genericize_r): Handle STATEMENT_LIST. - -2020-03-25 Patrick Palka - - PR c++/94265 - * parser.c (cp_parser_selection_statement) : Invalidate the - current condition chain when the if-statement has a non-empty - init-statement. - -2020-03-25 Iain Sandoe - - PR c++/94319 - * coroutines.cc (captures_temporary): Fix a missing dereference. - -2020-03-24 Marek Polacek - - PR c++/94190 - wrong no post-decrement operator error in template. - * call.c (convert_like_real): Use convert_from_reference on the result. - -2020-03-24 Jason Merrill - - PR c++/94186 - * constraint.cc (constraint_satisfaction_value): Repeat noisily on - error. - (tsubst_nested_requirement): Likewise. - (get_constraint_error_location): Allow missing context. - (diagnose_atomic_constraint): Diagnose non-bool constraint here. - (satisfy_atom): Not here. Only diagnose non-constant when noisy. - -2020-03-24 Jason Merrill - - * pt.c (any_template_parm_r): Look into the type of a non-type - template parm. - -2020-03-24 Jason Merrill - - * cp-tree.h (cp_expr): When constructing from an expr and a - location, call protected_set_expr_location. - -2020-03-23 Patrick Palka - - PR c++/93805 - * except.c (maybe_noexcept_warning): Add TODO. - * method.c (walk_field_subobs): Pass tf_none to expr_noexcept_p. - -2020-03-23 nathans - - PR c++/94044 - * tree.c (cp_tree_equal) [SIZEOF_EXPR]: Detect argument pack - operand. - -2020-03-21 Patrick Palka - - PR c++/94066 - * constexpr.c (reduced_constant_expression_p) [CONSTRUCTOR]: Properly - handle unions without an initializer. - (cxx_eval_component_reference): Emit a different diagnostic when the - constructor element corresponding to a union member is NULL. - (cxx_eval_bare_aggregate): When constructing a union, always set the - active union member before evaluating the initializer. Relax assertion - that verifies the index of the constructor element we're initializing - hasn't been changed. - (cxx_eval_store_expression): Diagnose changing the active union member - while the union is in the process of being initialized. After setting - an active union member, clear CONSTRUCTOR_NO_CLEARING on the underlying - CONSTRUCTOR. - (cxx_eval_constant_expression) [PLACEHOLDER_EXPR]: Don't re-reduce a - CONSTRUCTOR returned by lookup_placeholder. - -2020-03-20 Patrick Palka - - * cxx-pretty-print.c (pp_cxx_parameter_mapping): Make extern. Move - the "[with ]" bits to here from ... - (pp_cxx_atomic_constraint): ... here. - * cxx-pretty-print.h (pp_cxx_parameter_mapping): Declare. - * error.c (rebuild_concept_check): Delete. - (print_concept_check_info): Print the dependent form of the constraint and the - preferably substituted parameter mapping alongside it. - -2020-03-19 Jason Merrill - - PR c++/94175 - * cp-gimplify.c (simple_empty_class_p): Look through - SIMPLE_TARGET_EXPR_P. - (cp_gimplify_expr) [MODIFY_EXPR]: Likewise. - [RETURN_EXPR]: Avoid producing 'return *retval;'. - * call.c (build_call_a): Strip TARGET_EXPR from empty class arg. - * cp-tree.h (SIMPLE_TARGET_EXPR_P): Check that TARGET_EXPR_INITIAL - is non-null. - -2020-03-19 Jakub Jelinek - - PR c++/93931 - * parser.c (cp_parser_omp_var_list_no_open): Call process_outer_var_ref - on outer_automatic_var_p decls. - * cp-gimplify.c (cxx_omp_disregard_value_expr): Return true also for - capture proxy decls. - -2020-03-18 Nathan Sidwell - - PR c++/94147 - mangling of lambdas assigned to globals - * parser.c (cp_parser_init_declarator): Namespace-scope variables - provide a lambda scope. - * tree.c (no_linkage_check): Lambdas with a variable for extra - scope have a linkage from the variable. - -2020-03-18 Jakub Jelinek - - * constraint.cc (resolve_function_concept_check, subsumes_constraints, - strictly_subsumes): Fix up duplicated word issue in a comment. - * coroutines.cc (build_init_or_final_await, captures_temporary): - Likewise. - * logic.cc (dnf_size_r, cnf_size_r): Likewise. - * pt.c (append_type_to_template_for_access_check): Likewise. - - PR c++/91759 - * decl.c (grokfndecl): Restore old diagnostics about deduction - guide declared in different scope if in_namespace is NULL_TREE. - -2020-03-17 Jakub Jelinek - - PR c++/90995 - * parser.c (cp_parser_enum_specifier): Use temp_override for - parser->colon_corrects_to_scope_p, replace goto out with return. - If scoped enum or enum with underlying type is not followed by - { or ;, call cp_parser_commit_to_tentative_parse before calling - cp_parser_error and make sure to return error_mark_node instead of - NULL_TREE. Formatting fixes. - -2020-03-17 Ville Voutilainen - - PR c++/94197 - * method.c (assignable_expr): Use cp_unevaluated. - (is_xible_helper): Push a non-deferred access check for - the stub objects created by assignable_expr and constructible_expr. - -2020-03-17 Jakub Jelinek - - * pt.c (tsubst): Fix up duplicated word issue in a diagnostic message. - (lookup_template_class_1, tsubst_expr): Fix up duplicated word issue - in a comment. - * parser.c (cp_parser_statement, cp_parser_linkage_specification, - cp_parser_placeholder_type_specifier, - cp_parser_constraint_requires_parens): Likewise. - * name-lookup.c (suggest_alternative_in_explicit_scope): Likewise. - -2020-03-15 Iain Sandoe - - * coroutines.cc (co_await_expander): Fix indentation. - -2020-03-14 Jason Merrill - - PR c++/92068 - * pt.c (process_partial_specialization): Error rather than crash on - extra pack expansion. - -2020-03-14 Jason Merrill - - PR c++/92909 - * pt.c (find_parameter_packs_r): [DECL_EXPR]: Walk - DECL_ORIGINAL_TYPE of a typedef. - -2020-03-14 Jason Merrill - - PR c++/93248 - * pt.c (build_deduction_guide): Clear cp_unevaluated_operand for - substituting DECL_ARGUMENTS. - -2020-03-14 Jakub Jelinek - - * logic.cc (formula::formula): Change "a an" to "an" in a comment. - * parser.c (cp_debug_parser): Change "a an" to "an" in a string - literal. - -2020-03-13 Patrick Palka - - PR c++/67960 - * call.c (build_over_call): Use a warning_sentinel to disable - warn_deprecated_decl before calling build_addr_func. - -2020-03-12 Jakub Jelinek - - PR c++/94124 - * decl.c (reshape_init_array_1): Don't unshare constructor if there - aren't any trailing zero elts, otherwise only unshare the first - nelts. - -2020-03-11 Jason Merrill - - PR c++/93907 - * constraint.cc (tsubst_parameter_mapping): Canonicalize type - argument. - -2020-03-11 Marek Polacek - Jason Merrill - - PR c++/94074 - wrong modifying const object error for COMPONENT_REF. - * constexpr.c (cref_has_const_field): New function. - (modifying_const_object_p): Consider a COMPONENT_REF - const only if any of its fields are const. - (cxx_eval_store_expression): Mark a CONSTRUCTOR of a const type - as readonly after its initialization has been done. - -2020-03-10 Marek Polacek - - PR c++/94124 - wrong conversion error with non-viable overload. - * decl.c (reshape_init_array_1): Unshare a constructor if we - stripped trailing zero-initializers. - -2020-03-10 Jason Merrill - - PR c++/93901 - * pt.c (maybe_instantiate_noexcept): Always update clones. - -2020-03-10 Jason Merrill - - PR c++/93596 - * pt.c (maybe_aggr_guide): Check BRACE_ENCLOSED_INITIALIZER_P. - -2020-03-10 Jason Merrill - - PR c++/93922 - PR c++/94041 - PR c++/52320 - PR c++/66139 - * cp-gimplify.c (cp_gimplify_init_expr): Partially revert patch for - 66139: Don't split_nonconstant_init. Remove pre_p parameter. - -2020-03-09 Marek Polacek - - PR c++/92031 - bogus taking address of rvalue error. - PR c++/91465 - ICE with template codes in check_narrowing. - PR c++/93870 - wrong error when converting template non-type arg. - PR c++/94068 - ICE with template codes in check_narrowing. - * call.c (convert_like_real): Return IMPLICIT_CONV_EXPR - in a template when not ck_identity and we're dealing with a class. - (convert_like_real) : Return IMPLICIT_CONV_EXPR - in a template if we need a temporary. - * decl.c (compute_array_index_type_loc): Remove - instantiate_non_dependent_expr_sfinae call. Call - fold_non_dependent_expr instead of maybe_constant_value. - (build_explicit_specifier): Don't instantiate or create a sentinel - before converting the expression. - * except.c (build_noexcept_spec): Likewise. - * pt.c (convert_nontype_argument): Don't build IMPLICIT_CONV_EXPR. - Set IMPLICIT_CONV_EXPR_NONTYPE_ARG if that's what - build_converted_constant_expr returned. - * typeck2.c (check_narrowing): Call fold_non_dependent_expr instead - of maybe_constant_value. - -2020-03-09 Jakub Jelinek - - PR c++/94067 - Revert - 2019-10-11 Paolo Carlini - - * constexpr.c (cxx_eval_constant_expression): Do not handle - RROTATE_EXPR and LROTATE_EXPR. - -2020-03-09 Marek Polacek - - PR c++/94050 - ABI issue with alignas on armv7hl. - * class.c (layout_class_type): Don't replace a class's - CLASSTYPE_AS_BASE if their TYPE_USER_ALIGN don't match. - -2020-03-09 Bin Cheng - - * coroutines.cc (build_actor_fn): Factor out code inserting the - default return_void call to... - (morph_fn_to_coro): ...here, also hoist local var declarations. - -2020-03-08 Patrick Palka - - PR c++/93729 - * call.c (convert_like_real): Check complain before emitting an error - about binding a bit-field to a reference. - - * cxx-pretty-print.c (cxx_pretty_printer::simple_type_specifier) - [TYPENAME_TYPE]: Print the TYPENAME_TYPE_FULLNAME instead of the - TYPE_NAME. - -2020-03-06 Nathan Sidwell - - PR c++/94027 - * mangle.c (find_substitution): Don't call same_type_p on template - args that cannot match. - -2020-03-04 Martin Sebor - - PR c++/90938 - * tree.c (type_initializer_zero_p): Fail for structs initialized - with non-structs. - -2020-03-04 Jason Merrill - - PR c++/90432 - * init.c (perform_member_init): Don't do aggregate initialization of - empty field. - * constexpr.c (cx_check_missing_mem_inits): Don't enforce - initialization of empty field. - -2020-03-04 Martin Liska - - * method.c: Wrap array in ctor with braces in order - to silent clang warnings. - -2020-03-03 Jason Merrill - Marek Polacek - - PR c++/90505 - mismatch in template argument deduction. - * pt.c (tsubst): Don't reduce the template level of template - parameters when tf_partial. - -2020-03-03 Jakub Jelinek - - PR c++/93998 - * constexpr.c (cxx_eval_constant_expression) - : Don't record anything if - *non_constant_p is true. - -2020-03-03 Jun Ma - - * coroutines.cc (captures_temporary): Strip component_ref - to its base object. - -2020-03-03 Jun Ma - - * coroutines.cc (finish_co_await_expr): Build co_await_expr - with unknown_type_node. - (finish_co_yield_expr): Ditto. - *pt.c (type_dependent_expression_p): Set co_await/yield_expr - with unknown type as dependent. - -2020-03-02 Iain Sandoe - - * coroutines.cc (struct local_var_info): Adjust to remove the - reference to the captured var, and just to note that this is a - lambda capture proxy. - (transform_local_var_uses): Handle lambda captures specially. - (struct param_frame_data): Add a visited set. - (register_param_uses): Also check for param uses in lambda - capture proxies. - (struct local_vars_frame_data): Remove captures list. - (register_local_var_uses): Handle lambda capture proxies by - noting and bypassing them. - (morph_fn_to_coro): Update to remove lifetime extension of - lambda capture-by-copy vars. - -2020-03-02 Iain Sandoe - - * coroutines.cc (build_co_await): Do not build frame - awaitable proxy vars when the co_await expression is - a function parameter or local var. - (co_await_expander): Do not initialise a frame var with - itself. - (transform_await_expr): Only substitute the awaitable - frame var if it's needed. - (register_awaits): Do not make frame copies for param - or local vars that are awaitables. - -2020-02-28 Jason Merrill - - Implement P2092R0, Disambiguating Nested-Requirements - * parser.c (cp_parser_requirement_parameter_list): Pass - CP_PARSER_FLAGS_TYPENAME_OPTIONAL. - - * call.c (build_user_type_conversion_1): Don't look at the second - conversion of a non-viable candidate. - -2020-02-28 Jakub Jelinek - - P1937R2 - Fixing inconsistencies between const{expr,eval} functions - * typeck.c (cp_build_addr_expr_1): Allow taking address of immediate - functions in unevaluated contexts. - -2020-02-27 Nathan Sidwell - - PR c++/93933 - * pt.c (template_args_equal): Pass ARGUMENT_PACKS through to - cp_tree_equal. - * tree.c (cp_tree_equal): Compare ARGUMENT_PACKS here, - * typeck.c (comptypes): Assert we don't get any argument packs. - - * class.c (adjust_clone_args): Correct arg-checking assert. - * typeck.c (comptypes): Assert not nulls. - -2020-02-26 Marek Polacek - - PR c++/93789 - ICE with invalid array bounds. - * decl.c (compute_array_index_type_loc): Don't use the folded - size when folding cleared TREE_CONSTANT. - -2020-02-26 Iain Sandoe - - * class.c (classtype_has_non_deleted_copy_ctor): New. - * coroutines.cc (struct param_info): Keep track of params - that are references, and cache the original type and whether - the DTOR is trivial. - (build_actor_fn): Handle param copies always, and adjust the - handling for references. - (register_param_uses): Only handle uses here. - (classtype_has_non_deleted_copy_ctor): New. - (morph_fn_to_coro): Adjust param copy handling to match n4849 - by reordering ahead of the promise CTOR and always making a - frame copy, even if the param is unused in the coroutine body. - * cp-tree.h (classtype_has_non_deleted_copy_ctor): New. - -2020-02-26 Patrick Palka - - * constraint.cc (finish_constraint_binary_op): Set expr's location range - to the range of its operands. - (satisfy_atom): Pass MAP instead of ARGS to diagnose_atomic_constraint. - (diagnose_trait_expr): Take the instantiated parameter mapping MAP - instead of the corresponding template arguments ARGS and adjust body - accordingly. - (diagnose_requires_expr): Likewise. - (diagnose_atomic_constraint): Likewise. When printing an atomic - constraint expression, print the instantiated parameter mapping - alongside it. - * cxx-pretty-print.cc (cxx_pretty_printer::expression) - [NONTYPE_ARGUMENT_PACK]: Print braces around a NONTYPE_ARGUMENT_PACK. - (cxx_pretty_printer::type_id): Handle TYPE_ARGUMENT_PACK. - -2020-02-26 Marek Polacek - - PR c++/93676 - value-init crash in template. - * init.c (build_new_1): Don't call build_vec_init in a template. - -2020-02-26 Marek Polacek - - PR c++/93862 - ICE with static_cast when converting from int[]. - * call.c (reference_compatible_p): No longer static. - * cp-tree.h (reference_compatible_p): Declare. - * typeck.c (build_static_cast_1): Use reference_compatible_p instead - of reference_related_p. - -2020-02-26 Marek Polacek - - PR c++/93803 - ICE with constexpr init and [[no_unique_address]]. - * constexpr.c (reduced_constant_expression_p): Don't crash on a null - field. - -2020-02-24 Martin Sebor - - PR c++/93804 - * parser.c (cp_parser_check_class_key): Avoid issuing -Wredundant-tags - in shared C/C++ code in headers. - Remove a duplicate hunk of code. - -2020-02-24 Marek Polacek - - PR c++/93869 - ICE with -Wmismatched-tags. - * parser.c (cp_parser_check_class_key): Check class_key earlier. - -2020-02-24 Marek Polacek - - PR c++/93712 - ICE with ill-formed array list-initialization. - * call.c (next_conversion): Return NULL for ck_aggr. - (build_aggr_conv): Set u.expr instead of u.next. - (build_array_conv): Likewise. - (build_complex_conv): Likewise. - (conv_get_original_expr): Handle ck_aggr. - -2020-02-24 Jakub Jelinek - - P1937R2 - Fixing inconsistencies between const{expr,eval} functions - * call.c (build_over_call): Don't evaluate immediate functions in - unevaluated operands. - -2020-02-24 Jason Merrill - - P0780R2: Resolve lambda init-capture pack grammar. - * parser.c (cp_parser_lambda_introducer): Expect &...x=y rather than - ...&x=y. - -2020-02-22 Marek Polacek - - PR c++/93882 - * decl.c (grokdeclarator): Use %qs in a diagnostic message. - -2020-02-21 Martin Sebor - - PR gcov-profile/93753 - * class.c (check_flexarrays): Tighten up a test for potential members - of anonymous structs or unions. - -2020-02-20 Martin Sebor - - PR c++/93801 - * parser.c (cp_parser_check_class_key): Only handle true C++ class-keys. - -2020-02-20 Martin Liska - - PR translation/93841 - * config/or1k/or1k.opt: Remove superfluous word. - * doc/invoke.texi: Likewise. - -2020-02-20 Martin Liska - - PR translation/93838 - * parser.c (cp_parser_decl_specifier_seq): Remove trailing space. - -2020-02-19 Marek Polacek - - PR c++/93169 - wrong-code with a non-constexpr constructor. - * constexpr.c (cxx_eval_call_expression): Only set TREE_READONLY - on constant CONSTRUCTORs. - -2020-02-15 Marek Polacek - - PR c++/93710 - poor diagnostic for array initializer. - * call.c (build_user_type_conversion_1): Use cp_expr_loc_or_input_loc - for an error call. - -2020-02-15 Jason Merrill - - PR c++/92556 - * pt.c (any_template_parm_r): Look into lambda body. - - PR c++/92583 - * pt.c (any_template_parm_r): Remove CONSTRUCTOR handling. - -2020-02-14 Jakub Jelinek - - PR c++/61414 - * class.c (enum_min_precision): Change prec type from int to int &. - - PR libstdc++/92906 - * cp-tree.h (enum cp_tree_index): Add CPTI_FALLBACK_DFLOAT32_TYPE, - CPTI_FALLBACK_DFLOAT64_TYPE and CPTI_FALLBACK_DFLOAT128_TYPE. - (fallback_dfloat32_type, fallback_dfloat64_type, - fallback_dfloat128_type): Define. - * mangle.c (write_builtin_type): Handle fallback_dfloat*_type like - dfloat*_type_node. - * rtti.c (emit_support_tinfos): Emit DFP typeinfos even when dfp - is disabled for compatibility. - -2020-02-13 Jason Merrill - - PR c++/93713 - * name-lookup.c (matching_fn_p): A function does not match a - template. - - PR c++/93643 - PR c++/91476 - * tree.c (decl_linkage): Always lk_none for locals. - -2020-02-12 Jason Merrill - - PR c++/92583 - PR c++/92654 - * tree.c (cp_walk_subtrees): Walk CONSTRUCTOR types here. - * pt.c (find_parameter_packs_r): Not here. - -2020-02-12 Iain Sandoe - - * coroutines.cc (build_actor_fn): Implement deallocation function - selection per n4849, dcl.fct.def.coroutine bullet 12. - (morph_fn_to_coro): Implement allocation function selection per - n4849, dcl.fct.def.coroutine bullets 9 and 10. - -2020-02-12 Marek Polacek - - PR c++/93684 - ICE-on-invalid with broken attribute. - * parser.c (cp_parser_std_attribute): Peek a token first before - consuming it. - -2020-02-11 Jason Merrill - - PR c++/93675 - * class.c (add_implicitly_declared_members): Use do_friend. - * method.c (implicitly_declare_fn): Fix friend handling. - (decl_remember_implicit_trigger_p): New. - (synthesize_method): Use it. - * decl2.c (mark_used): Use it. - -2020-02-11 Jason Merrill - - PR c++/93650 - PR c++/90691 - * constexpr.c (maybe_constant_value): Correct earlier change. - (cxx_eval_binary_expression) [SPACESHIP_EXPR]: Pass lval through. - * method.c (genericize_spaceship): Wrap result in TARGET_EXPR. - -2020-02-12 Patrick Palka - - PR c++/69448 - PR c++/80471 - * type-utils.h (find_type_usage): Refactor to take a tree * and to - return a tree *, and update documentation accordingly. - * pt.c (make_auto_1): Set AUTO_IS_DECLTYPE when building a - decltype(auto) node. - (make_constrained_decltype_auto): No need to explicitly set - AUTO_IS_DECLTYPE anymore. - (splice_late_return_type): Use find_type_usage to find and - replace a possibly nested auto node instead of using is_auto. - Check test for is_auto into an assert when deciding whether - to late_return_type. - (type_uses_auto): Adjust the call to find_type_usage. - * parser.c (cp_parser_decltype): No need to explicitly set - AUTO_IS_DECLTYPE anymore. - - * error.c (dump_decl) [CONCEPT_DECL]: Use dump_simple_decl. - (dump_simple_decl): Handle standard concept definitions as well as - variable concept definitions. - -2020-02-10 Jakub Jelinek - - PR other/93641 - * error.c (dump_decl_name): Fix up last argument to strncmp. - -2020-02-10 Jason Merrill - - PR c++/93618 - * tree.c (array_of_unknown_bound_p): New. - * init.c (perform_member_init): Do nothing for flexible arrays. - -2020-02-09 Jakub Jelinek - - PR c++/93633 - * constexpr.c (cxx_eval_constant_expression): If obj is heap var with - ARRAY_TYPE, use the element type. Punt if objtype after that is not - a class type. - -2020-02-08 Jason Merrill - - PR c++/90691 - * expr.c (fold_for_warn): Call maybe_constant_value. - * constexpr.c (struct constexpr_ctx): Add uid_sensitive bit-field. - (maybe_constant_value): Add uid_sensitive parm. - (get_fundef_copy): Don't copy if it's true. - (cxx_eval_call_expression): Don't instantiate if it's true. - (cxx_eval_outermost_constant_expr): Likewise. - - PR c++/92852 - * constexpr.c (maybe_constant_value): Don't unshare if the cached - value is the same as the argument. - - * typeck.c (maybe_warn_about_returning_address_of_local): Add - location parameter. - - * typeck2.c (process_init_constructor): Also clear TREE_SIDE_EFFECTS - if appropriate. - -2020-02-08 Jakub Jelinek - - PR c++/93549 - * constexpr.c (find_array_ctor_elt): If last element has no index, - for flag_checking verify all elts have no index. If i is within the - elts, return it directly, if it is right after the last elt, append - if NULL index, otherwise force indexes on all elts. - (cxx_eval_store_expression): Allow cep->index to be NULL. - -2020-02-07 Marek Polacek - - PR c++/92947 - Paren init of aggregates in unevaluated context. - * call.c (build_new_method_call_1): Don't check - cp_unevaluated_operand. Check the return value of digest_init. - -2020-02-06 Jason Merrill - - PR c++/92654 - * tree.c (cp_walk_subtrees): Walk into type template arguments. - * cp-tree.h (TYPE_TEMPLATE_INFO_MAYBE_ALIAS): Use typedef_variant_p - instead of TYPE_ALIAS_P. - * pt.c (push_template_decl_real): Likewise. - (find_parameter_packs_r): Likewise. Remove dead code. - * error.c (find_typenames_r): Remove dead code. - -2020-02-06 Jason Merrill - - PR c++/92517 - * parser.c (cp_parser_constraint_primary_expression): Do the main - parse non-tentatively. - -2020-02-06 Marek Polacek - - PR c++/93597 - ICE with lambda in operator function. - * name-lookup.c (maybe_save_operator_binding): Check is_overloaded_fn. - -2020-02-05 Jason Merrill - - PR c++/93140 - * pt.c (tsubst_decl) [PARM_DECL]: Check cp_unevaluated_operand in - handling of TREE_CHAIN for empty pack. - -2020-02-05 Jakub Jelinek - - PR c++/93557 - * semantics.c (cp_build_vec_convert): Call decay_conversion on arg - prior to passing it to c_build_vec_convert. - -2020-02-05 Marek Polacek - - PR c++/93559 - ICE with CONSTRUCTOR flags verification. - * decl.c (reshape_init_array_1): Don't reuse a CONSTRUCTOR with - TREE_SIDE_EFFECTS. - -2020-02-05 Jason Merrill - - PR c++/92593 - * decl.c (grokdeclarator): Reject field of current class type even - in a template. - -2020-02-05 Bin Cheng - - * coroutines.cc (maybe_promote_captured_temps): Increase the index - number for temporary variables' name. - -2020-02-05 Jun Ma - - * coroutines.cc (build_co_await): Call convert_from_reference - to wrap co_await_expr with indirect_ref which avoid - reference/non-reference type confusion. - - (co_await_expander): Sink to call_expr if await_resume - is wrapped by indirect_ref. - -2020-02-04 Jason Merrill - - PR c++/93551 - * constraint.cc (satisfy_declaration_constraints): Check return - value of push_tinst_level. - - PR c++/90951 - * constexpr.c (cxx_eval_array_reference): {}-initialize missing - elements instead of value-initializing them. - - PR c++/86917 - * init.c (perform_member_init): Simplify. - * constexpr.c (cx_check_missing_mem_inits): Allow uninitialized - flexarray. - (cxx_eval_vec_init_1): Handle CONSTRUCTOR. - -2020-02-04 Iain Sandoe - - * coroutines.cc (find_promise_type): Delete unused forward - declaration. - (struct coroutine_info): Add a bool for no promise type error. - (coro_promise_type_found_p): Only emit the error for a missing - promise once in each affected coroutine. - -2020-02-03 Jason Merrill - - PR c++/66477 - * constexpr.c (cxx_eval_constant_expression) [PARM_DECL]: Don't - defer loading the value of a reference. - -2020-02-03 Jason Merrill - - PR c++/91953 - * constexpr.c (potential_constant_expression_1) [PARM_DECL]: Allow - empty class type. - [COMPONENT_REF]: A member function reference doesn't use the object - as an rvalue. - -2020-02-03 Iain Sandoe - - PR c++/93458 - * coroutines.cc (struct coroutine_info): Add a bool flag to note - that we emitted an error for a bad function return type. - (get_coroutine_info): Tolerate an unset info table in case of - missing traits. - (find_coro_traits_template_decl): In case of error or if we didn't - find a type template, note we emitted the error and suppress - duplicates. - (find_coro_handle_template_decl): Likewise. - (instantiate_coro_traits): Only check for error_mark_node in the - return from lookup_qualified_name. - (coro_promise_type_found_p): Reorder initialization so that we check - for the traits and their usability before allocation of the info - table. Check for a suitable return type and emit a diagnostic for - here instead of relying on the lookup machinery. This allows the - error to have a better location, and means we can suppress multiple - copies. - (coro_function_valid_p): Re-check for a valid promise (and thus the - traits) before proceeding. Tolerate missing info as a fatal error. - -2020-02-03 Jason Merrill - - PR c++/88256 - * cp-gimplify.c (predeclare_vla): New. - (cp_genericize_r) [NOP_EXPR]: Call it. - -2020-02-03 Jun Ma - - * coroutines.cc (transform_await_wrapper): Set actor funcion as - new context of label_decl. - (build_actor_fn): Fill new field of await_xform_data. - -2020-02-02 Marek Polacek - - PR c++/93530 - ICE on invalid alignas in a template. - * decl.c (grokdeclarator): Call cplus_decl_attributes instead of - decl_attributes. - -2020-01-31 Jason Merrill - - PR c++/86216 - * semantics.c (process_outer_var_ref): Capture VLAs even in - unevaluated context. - - PR c++/14179 - * decl.c (reshape_init_array_1): Reuse a single CONSTRUCTOR with - non-aggregate elements. - (reshape_init_array): Add first_initializer_p parm. - (reshape_init_r): Change first_initializer_p from bool to tree. - (reshape_init): Pass init to it. - - PR c++/14179 - * parser.c (cp_parser_initializer_list): Suppress location wrappers - after 256 elements. - -2020-01-29 Jason Merrill - - PR c++/82521 - * pt.c (tsubst_copy_and_build) [EQ_EXPR]: Only suppress warnings if - the expression was dependent before substitution. - -2020-01-30 Bin Cheng - - * coroutines.cc (act_des_fn): New. - (morph_fn_to_coro): Call act_des_fn to build actor/destroy decls. - Access promise via actor function's frame pointer argument. - (build_actor_fn, build_destroy_fn): Use frame pointer argument. - -2020-01-30 Bin Cheng - - * coroutines.cc (co_await_expander): Handle type conversion case. - -2020-01-29 Jason Merrill - - PR c++/90333 - PR c++/89640 - PR c++/60503 - * parser.c (cp_parser_type_specifier_seq): Don't parse attributes in - a trailing return type. - (cp_parser_lambda_declarator_opt): Parse C++11 attributes before - parens. - -2020-01-29 Marek Polacek - - PR c++/91754 - Fix template arguments comparison with class NTTP. - * pt.c (class_nttp_const_wrapper_p): New. - (template_args_equal): See through class_nttp_const_wrapper_p - arguments. - -2020-01-29 Marek Polacek - - PR c++/92948 - Fix class NTTP with template arguments. - * pt.c (convert_nontype_argument): Use IMPLICIT_CONV_EXPR when - converting a value-dependent expression to a class type. - (tsubst_copy) : Allow IMPLICIT_CONV_EXPR - as the result of the tsubst_copy call. - -2020-01-29 Jakub Jelinek - - PR c++/91118 - * cp-gimplify.c (cxx_omp_predetermined_sharing): Return - OMP_CLAUSE_DEFAULT_SHARED for typeinfo decls. - -2020-01-28 Jason Merrill - - PR c++/93442 - * parser.c (cp_parser_lambda_expression): Clear in_discarded_stmt. - - PR c++/93477 - PR c++/91476 - * decl2.c (copy_linkage): Do copy DECL_ONE_ONLY and DECL_WEAK. - - PR c++/90546 - * call.c (build_user_type_conversion_1): Allow a template conversion - returning an rvalue reference to bind directly to an lvalue. - - PR c++/90731 - * decl.c (grokdeclarator): Propagate eh spec from typedef. - -2020-01-28 Martin Liska - - PR c++/92440 - * pt.c (redeclare_class_template): Group couple of - errors and inform messages with auto_diagnostic_group. - -2020-01-28 Martin Liska - - PR c++/92440 - * pt.c (redeclare_class_template): Use inform - for the second location. - -2020-01-27 Jason Merrill - - PR c++/90966 - * pt.c (tsubst_copy) [STRING_CST]: Don't use fold_convert. - -2020-01-27 Iain Sandoe - - PR c++/93443 - * coroutines.cc (morph_fn_to_coro): Check the ramp return - value when it is constructed from the 'get return object'. - -2020-01-27 Nathan Sidwell - - PR c++/91826 - * name-lookup.c (is_ancestor): Allow CHILD to be a namespace alias. - -2020-01-26 Jason Merrill - - PR c++/90992 - * except.c (maybe_noexcept_warning): Check DECL_IN_SYSTEM_HEADER and - temporarily enable -Wsystem-headers. Change second warning to - conditional inform. - - PR c++/90997 - * semantics.c (finish_call_expr): Don't call - instantiate_non_dependent_expr before warn_for_memset. - -2020-01-25 Marek Polacek - - PR c++/93414 - poor diagnostic for dynamic_cast in constexpr context. - * constexpr.c (cxx_eval_dynamic_cast_fn): Add a reference - dynamic_cast diagnostic. - -2020-01-24 Jason Merrill - - PR c++/93400 - ICE with constrained friend. - * constraint.cc (maybe_substitute_reqs_for): New. - * decl.c (function_requirements_equivalent_p): Call it. - * pt.c (tsubst_friend_function): Only substitute - TEMPLATE_PARMS_CONSTRAINTS. - (tsubst_template_parms): Copy constraints. - -2020-01-24 Jason Merrill - - PR c++/93279 - ICE with lambda in member operator. - * name-lookup.c (maybe_save_operator_binding): Don't remember - class-scope bindings. - -2020-01-24 Jason Merrill - - PR c++/93377 - ICE with member alias in constraint. - * pt.c (any_template_parm_r): Look at template arguments for all - aliases, not only alias templates. - -2020-01-24 Marek Polacek - - PR c++/93299 - ICE in tsubst_copy with parenthesized expression. - * pt.c (tsubst_copy): Handle a REF_PARENTHESIZED_P VIEW_CONVERT_EXPR. - -2020-01-24 Jason Merrill - - PR c++/92852 - ICE with generic lambda and reference var. - * constexpr.c (maybe_constant_value): Likewise. - -2020-01-23 Paolo Carlini - - PR c++/92804 - * parser.c (cp_parser_nested_name_specifier_opt): Properly - diagnose concept-ids. - -2020-01-23 Jason Merrill - - PR c++/93331 - ICE with __builtin_strchr. - * constexpr.c (cxx_eval_builtin_function_call): Use the original - argument if we didn't manage to extract a STRING_CST. - - PR c++/93345 - ICE with defaulted dtor and template. - PR c++/33799 - * decl.c (cxx_maybe_build_cleanup): Don't try to set - throwing_cleanup in a template. - -2020-01-22 Marek Polacek - - PR c++/92907 - noexcept does not consider "const" in member functions. - * g++.dg/cpp0x/noexcept56.C: New test. - -2020-01-22 Marek Polacek - - PR c++/93324 - ICE with -Wall on constexpr if. - * semantics.c (is_std_constant_evaluated_p): Check fndecl. - -2020-01-22 Patrick Palka - - * constraint.cc (get_mapped_args): Avoid using auto_vec - as a vector element. Release the vectors inside the lists - vector. - * parser.c (cp_literal_operator_id): Free the buffer. - -2020-01-22 Jun Ma - - * coroutines.cc (finish_co_await_expr): Add error check on return - value of build_co_await. - (finish_co_yield_expr,): Ditto. - -2020-01-22 Jun Ma - - * coroutines.cc (lookup_awaitable_member): Lookup an awaitable member. - (lookup_promise_method): Emit diagnostic when get NULL_TREE back only. - (build_co_await): Use lookup_awaitable_member instead of lookup_member. - -2020-01-21 Jason Merrill - - PR c++/60855 - ICE with sizeof VLA capture. - * lambda.c (is_lambda_ignored_entity): Don't look past VLA capture. - - PR c++/90732 - ICE with VLA capture and generic lambda. - * pt.c (tsubst_lambda_expr): Repeat add_capture for VLAs. - -2020-01-21 Iain Sandoe - Bin Cheng - - * coroutines.cc (coro_promise_type_found_p): Check for NULL return - from complete_type_or_else. - (register_param_uses): Likewise. - (build_co_await): Do not try to use complete_type_or_else for void - types, otherwise for incomplete types, check for NULL return from - complete_type_or_else. - -2020-01-21 Jason Merrill - - PR c++/91476 - anon-namespace reference temp clash between TUs. - * decl2.c (copy_linkage): Factor out of get_guard. - * call.c (make_temporary_var_for_ref_to_temp): Use it. - * decl.c (cp_finish_decomp): Use it. - (cp_finish_decl): determine_visibility sooner. - -2020-01-21 Bin Cheng - - * coroutines.cc (finish_co_await_expr): Set return value flag. - (finish_co_yield_expr, morph_fn_to_coro): Ditto. - -2020-01-19 Jason Merrill - - PR c++/33799 - destroy return value, take 2. - * cp-tree.h (current_retval_sentinel): New macro. - (struct language_function): Add throwing_cleanup bitfield. - * decl.c (cxx_maybe_build_cleanup): Set it. - * except.c (maybe_set_retval_sentinel) - (maybe_splice_retval_cleanup): New functions. - * parser.c (cp_parser_compound_statement): Call - maybe_splice_retval_cleanup. - * typeck.c (check_return_expr): Call maybe_set_retval_sentinel. - - * parser.c (cp_parser_lambda_body): Use cp_parser_function_body. - -2020-01-18 Jakub Jelinek - - * coroutines.cc (get_fn_local_identifier): Fix NO_DOT_IN_LABEL - but non-NO_DOLLAR_IN_LABEL case build. - -2020-01-18 Iain Sandoe - - * Make-lang.in: Add coroutines.o. - * cp-tree.h (lang_decl-fn): coroutine_p, new bit. - (DECL_COROUTINE_P): New. - * lex.c (init_reswords): Enable keywords when the coroutine flag - is set, - * operators.def (co_await): New operator. - * call.c (add_builtin_candidates): Handle CO_AWAIT_EXPR. - (op_error): Likewise. - (build_new_op_1): Likewise. - (build_new_function_call): Validate coroutine builtin arguments. - * constexpr.c (potential_constant_expression_1): Handle - CO_AWAIT_EXPR, CO_YIELD_EXPR, CO_RETURN_EXPR. - * coroutines.cc: New file. - * cp-objcp-common.c (cp_common_init_ts): Add CO_AWAIT_EXPR, - CO_YIELD_EXPR, CO_RETRN_EXPR as TS expressions. - * cp-tree.def (CO_AWAIT_EXPR, CO_YIELD_EXPR, (CO_RETURN_EXPR): New. - * cp-tree.h (coro_validate_builtin_call): New. - * decl.c (emit_coro_helper): New. - (finish_function): Handle the case when a function is found to - be a coroutine, perform the outlining and emit the outlined - functions. Set a bit to signal that this is a coroutine component. - * parser.c (enum required_token): New enumeration RT_CO_YIELD. - (cp_parser_unary_expression): Handle co_await. - (cp_parser_assignment_expression): Handle co_yield. - (cp_parser_statement): Handle RID_CO_RETURN. - (cp_parser_jump_statement): Handle co_return. - (cp_parser_operator): Handle co_await operator. - (cp_parser_yield_expression): New. - (cp_parser_required_error): Handle RT_CO_YIELD. - * pt.c (tsubst_copy): Handle CO_AWAIT_EXPR. - (tsubst_expr): Handle CO_AWAIT_EXPR, CO_YIELD_EXPR and - CO_RETURN_EXPRs. - * tree.c (cp_walk_subtrees): Likewise. - -2020-01-17 Jason Merrill - - PR c++/92531 - ICE with noexcept(lambda). - * pt.c (uses_template_parms): Don't try to enumerate all the - expression cases. - -2020-01-17 Jakub Jelinek - - PR c++/93228 - * parser.c (cp_parser_template_name): Look up deprecated attribute - in DECL_TEMPLATE_RESULT or its type's attributes. - -2020-01-16 Jason Merrill - - PR c++/93286 - ICE with __is_constructible and variadic template. - * pt.c (tsubst) [TREE_LIST]: Handle pack expansion. - (tsubst_copy_and_build) [TRAIT_EXPR]: Always use tsubst for type2. - - PR c++/93280 - ICE with aggregate assignment and DMI. - * init.c (get_nsdmi): Set TARGET_EXPR_DIRECT_INIT_P here. - * typeck2.c (digest_nsdmi_init): Not here. - -2020-01-15 Paolo Carlini - - PR c++/91073 - * cp-tree.h (is_constrained_auto): New. - * parser.c (cp_parser_maybe_commit_to_declaration): Correctly - handle concept-check expressions; take a cp_decl_specifier_seq* - instead of a bool. - (cp_parser_condition): Update call. - (cp_parser_simple_declaration): Likewise. - (cp_parser_placeholder_type_specifier): Correctly handle - concept-check expressions. - -2020-01-15 Jason Merrill - - Revert - PR c++/33799 - destroy return value if local cleanup throws. - * cp-tree.h (current_retval_sentinel): New macro. - * decl.c (start_preparsed_function): Set up cleanup for retval. - * typeck.c (check_return_expr): Set current_retval_sentinel. - - PR c++/93257 - consteval void function. - * constexpr.c (verify_constant): Allow void_node. - - PR c++/92871 - bad code with xvalue and GNU ?: extension. - * call.c (prevent_lifetime_extension): New. - (build_conditional_expr_1): Use it. - -2020-01-14 Nathan Sidwell - - PR c++/90916 - * pt.c (retrieve_specialization): Use get_template_info, not open - coding access. - - PR c++/90916 - * pt.c (retrieve_specialization): Get the TI from the decl or the - classtype as appropriate. - -2020-01-14 David Malcolm - - * cp-gimplify.c (source_location_table_entry_hash::empty_zero_p): - New static constant. - * cp-tree.h (named_decl_hash::empty_zero_p): Likewise. - (struct named_label_hash::empty_zero_p): Likewise. - * decl2.c (mangled_decl_hash::empty_zero_p): Likewise. - -2020-01-14 Jason Merrill - - PR c++/92590 - wrong handling of inherited default ctor. - * class.c (add_method): A constrained inherited ctor doesn't hide an - implicit derived ctor. - Revert: - PR c++/92552 - ICE with inherited constrained default ctor. - * pt.c (instantiate_class_template_1): Copy - TYPE_HAS_USER_CONSTRUCTOR. - PR c++/91930 - ICE with constrained inherited default ctor. - * name-lookup.c (do_class_using_decl): Set TYPE_HAS_USER_CONSTRUCTOR - for inherited constructor. - PR c++/92594 - ICE with inherited trivial default ctor. - * method.c (trivial_fn_p): Treat an inherited default constructor - like a normal default constructor. - - PR c++/92594 - ICE with inherited trivial default ctor. - * method.c (trivial_fn_p): Treat an inherited default constructor - like a normal default constructor. - - PR c++/92009 - ICE with punning of typeid. - * rtti.c (get_tinfo_desc): Call xref_basetypes. - * constexpr.c (cxx_fold_indirect_ref): Don't strip - REINTERPRET_CAST_P. - -2020-01-13 Jason Merrill - - PR c++/92746 - ICE with noexcept of function concept check. - * except.c (check_noexcept_r): Handle concept-check. - - PR c++/92582 - ICE with member template as requirement. - * pt.c (struct find_template_parameter_info): Add ctx_parms. - (any_template_parm_r): Handle TEMPLATE_DECL. - (find_template_parameters): Take parms instead of their depth. - * constraint.cc (build_parameter_mapping): Pass them. - - PR c++/33799 - destroy return value if local cleanup throws. - * cp-tree.h (current_retval_sentinel): New macro. - * decl.c (start_preparsed_function): Set up cleanup for retval. - * typeck.c (check_return_expr): Set current_retval_sentinel. - - PR c++/93238 - short right-shift with enum. - * typeck.c (cp_build_binary_op): Use folded op1 for short_shift. - -2020-01-10 Jason Merrill - - * typeck.c (cp_build_binary_op): Restore short_shift code. - - PR c++/93143 - incorrect tree sharing with constexpr. - * constexpr.c (cxx_eval_outermost_constant_expr): Don't assume - CONSTRUCTORs are already unshared. - - PR c++/93173 - incorrect tree sharing. - PR c++/93033 - * cp-gimplify.c (cp_gimplify_init_expr, cp_gimplify_expr): Use - copy_if_shared after cp_genericize_tree. - * typeck2.c (split_nonconstant_init): Don't unshare here. - -2020-01-08 Jason Merrill - - * cp-gimplify.c (cp_gimplify_expr) [TARGET_EXPR]: Check - TARGET_EXPR_DIRECT_INIT_P. - * constexpr.c (cxx_eval_constant_expression): Likewise. - -2020-01-08 Jason Merrill - - PR c++/91369 - constexpr destructor and member initializer. - * constexpr.c (cxx_eval_store_expression): Look through TARGET_EXPR - when not preevaluating. - -2020-01-08 Jason Merrill - - * constexpr.c (cxx_eval_call_expression): Remove DECL_BY_REFERENCE - support. - -2020-01-07 Paolo Carlini - - * init.c (build_new): Add location_t parameter and use it throughout. - (build_raw_new_expr): Likewise. - * parser.c (cp_parser_new_expression): Pass the combined_loc. - * pt.c (tsubst_copy_and_build): Adjust call. - * cp-tree.h: Update declarations. - -2020-01-07 Jason Merrill - - PR c++/47877 - -fvisibility-inlines-hidden and member templates. - * decl2.c (determine_visibility): -fvisibility-inlines-hidden beats - explicit class visibility for a template. - -2020-01-07 Richard Sandiford - - * mangle.c (mangle_type_attribute_p): New function, split out from... - (write_CV_qualifiers_for_type): ...here. Don't mangle attributes - that contain a space. - -2020-01-07 Jakub Jelinek - - PR c++/91369 - * constexpr.c (struct constexpr_global_ctx): Add heap_alloc_count - member, initialize it to zero in ctor. - (cxx_eval_call_expression): Bump heap_dealloc_count when deleting - a heap object. Don't cache calls to functions which allocate some - heap objects and don't deallocate them or deallocate some heap - objects they didn't allocate. - -2020-01-06 Jason Merrill - - PR c++/92552 - ICE with inherited constrained default ctor. - * pt.c (instantiate_class_template_1): Copy - TYPE_HAS_USER_CONSTRUCTOR. - * class.c (one_inherited_ctor): Don't set it here. - -2020-01-06 Andrew Sutton - - PR c++/92739 - parsing requires clause with attributes. - * parser.c (cp_parser_constraint_requires_parens): Exclude - attributes as postfix expressions. - -2020-01-05 Jakub Jelinek - - PR c++/93138 - * parser.c (cp_parser_check_class_key): Disable access checks for the - simple name lookup. - (cp_parser_maybe_warn_enum_key): Likewise. Return early if - !warn_redundant_tags. - -2010-01-05 Jakub Jelinek - - PR c++/93046 - * cp-gimplify.c (cp_gimplify_init_expr): Don't look through - TARGET_EXPR if it has been gimplified already. - -2020-01-03 Jason Merrill - - PR c++/93033 - incorrect tree node sharing with array init. - * typeck2.c (split_nonconstant_init): Unshare non-decl. - * cp-gimplify.c (cp_gimplify_init_expr): Only split if -fexceptions. - -2020-01-02 Jason Merrill - - * pt.c (invalid_nontype_parm_type_p): Reject class placeholder in - C++17. - -2020-01-02 Jakub Jelinek - - PR c/90677 - * cp-objcp-common.c (identifier_global_tag): Return NULL_TREE if name - has not been found, rather than error_mark_node. - -2020-01-01 Jakub Jelinek - - Update copyright years. -Copyright (C) 2020 Free Software Foundation, Inc. +Copyright (C) 2021 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 bb82727355a..21e8799b653 100644 --- a/gcc/d/ChangeLog +++ b/gcc/d/ChangeLog @@ -1,1029 +1,5 @@ -2020-12-31 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd 2bd4fc3fe. - -2020-12-30 Iain Buclaw - - * d-lang.cc (deps_add_target): Handle quoting ':' character. - Reimplement backslash tracking. - -2020-12-30 Iain Buclaw - - * d-tree.h (d_eval_constant_expression): Add location argument. - * d-builtins.cc (d_eval_constant_expression): Give generated constants - a proper file location. - * d-compiler.cc (Compiler::paintAsType): Pass expression location to - d_eval_constant_expression. - * d-frontend.cc (eval_builtin): Likewise. - -2020-12-23 Iain Buclaw - - PR d/98427 - * types.cc (TypeVisitor::visit (TypeStruct *)): Set TYPE_MODE of all - non-trivial types as BLKmode. - (TypeVisitor::visit (TypeClass *)): Likewise. - -2020-12-15 Iain Buclaw - - PR d/98277 - * decl.cc (DeclVisitor::visit (VarDeclaration *)): Move setting of - DECL_INITIAL for manifest constants to ... - (get_symbol_decl): ... here. - -2020-11-29 Iain Buclaw - - * d-target.def (d_minfo_section): New hook. - (d_minfo_start_name): New hook. - (d_minfo_end_name): New hook. - * modules.cc: Include d-target.h. - (register_moduleinfo): Update to use new targetdm hooks. - -2020-11-29 Iain Buclaw - - PR d/87788 - * dmd/MERGE: Merge upsream dmd 45fa6cfd2. - -2020-11-27 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd db0df3f7e. - * types.cc (TypeVisitor::visit (TypeFunction *)): Remove LINKpascal. - -2020-11-27 Iain Buclaw - - * intrinsics.cc (maybe_expand_intrinsic): Handle new intrinsics. - * intrinsics.def (INTRINSIC_COS): Add float and double overloads. - (INTRINSIC_FABS): Likewise. - (INTRINSIC_LDEXP): Likewise. - (INTRINSIC_RINT): Likewise. - (INTRINSIC_RNDTOL): Likewise. - (INTRINSIC_SIN): Likewise. - (INTRINSIC_TOPREC): Adjust signature. - -2020-11-22 Iain Buclaw - - PR d/97889 - * expr.cc (ExprVisitor::visit (CatAssignExp *)): Enforce LTR order of - evaluation on left and right hand side expressions. - -2020-11-20 Jakub Jelinek - - PR other/97911 - * Make-lang.in (d.serial): Change from goal to a variable. - (.PHONY): Drop d.serial and d.prev. - (d21$(exeext)): Depend on $(d.serial) rather than d.serial. - -2020-11-18 Jakub Jelinek - - * Make-lang.in (d.serial): New goal. - (.PHONY): Add d.serial d.prev. - (d21$(exeext)): Depend on d.prev. Call LINK_PROGRESS. - -2020-11-18 Iain Buclaw - - PR d/97843 - * d-codegen.cc (build_assign): Evaluate TARGET_EXPR before use in - the right hand side of an assignment. - * expr.cc (ExprVisitor::visit (CatAssignExp *)): Force a TARGET_EXPR - on the element to append if it is a CALL_EXPR. - -2020-11-18 Iain Buclaw - - PR d/97842 - * dmd/MERGE: Merge upstream dmd b6a779e49 - -2020-11-13 Iain Buclaw - - * intrinsics.cc (expand_intrinsic_copysign): Explicitly determine - which built-in copysign function to call. - -2020-11-13 Iain Buclaw - - PR d/97644 - * dmd/MERGE: Merge upstream dmd 95044d8e4. - * d-target.cc (TargetCPP::thunkMangle): New function. - * decl.cc (finish_thunk): Don't force expand thunks for external - functions. - (make_thunk): Emit thunks only if the function has a definition. - Generate correct mangling for thunks to C++ classes. - -2020-11-10 Strager Neds - - * decl.cc (finish_thunk): Use new overload of - set_decl_section_name - -2020-10-27 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd bec5973b0. - * d-target.cc (Target::critsecsize): Remove. - * d-target.def: Remove d_critsec_size. - -2020-10-27 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd 0fcdaab32 - -2020-10-23 Jan Hubicka - - * decl.cc (finish_thunk): Update for new thunk api. - -2020-10-22 Jan Hubicka - - * decl.cc: Include tree-nested.h - (get_symbol_decl): Update for new nested function info. - -2020-10-12 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd 70aabfb51 - -2020-10-12 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd 3a9790525 - * d-target.cc (Target::isVectorTypeSupported): Adjust return codes for - invalid size and invalid base type. - -2020-09-12 Iain Buclaw - - PR d/97002 - * d-codegen.cc (d_build_call): Set input_location on CALL_EXPR. - * d-lang.cc: Include function.h. - (d_type_promotes_to): Do default conversions for C and C++ functions. - * intrinsics.cc (expand_intrinsic_vaarg): Use build1_loc to build - VA_ARG_EXPR. - -2020-09-12 Iain Buclaw - - * d-builtins.cc (d_build_d_type_nodes): Call build_ctype() on all - basic front-end types. - * decl.cc (DeclVisitor::visit (EnumDeclaration *)): Always add decl to - current binding level. - (build_type_decl): Build TYPE_DECL as a typedef if not for an enum or - record type. - * types.cc (TypeVisitor::visit (TypeEnum *)): Set underlying type for - ENUMERAL_TYPEs. Build TYPE_DECL for non-numeric enums. - -2020-09-10 Iain Buclaw - - * lang.opt (Waddress): Enable warning by -Wextra. - (Wcast-result): Likewise. - (Wunknown-pragmas): Likewise. - -2020-09-10 Iain Buclaw - - * decl.cc (DeclVisitor::visit (VarDeclaration *)): Don't warn about - variables initialized with 'void'. - -2020-09-10 Iain Buclaw - - * d-convert.cc (convert_expr): Warn when casting from a D class to a - C++ class. - -2020-09-04 Iain Buclaw - - PR d/96924 - * expr.cc (ExprVisitor::visit (CatAssignExp *)): Don't force - temporaries needlessly. - -2020-09-02 Iain Buclaw - - PR d/96869 - * d-builtins.cc (build_frontend_type): Don't expose intrinsics that - use unsupported vector types. - * d-target.cc (Target::isVectorTypeSupported): Restrict to supporting - only if TARGET_VECTOR_MODE_SUPPORTED_P is true. Don't allow complex - or boolean vector types. - -2020-08-31 Iain Buclaw - - * d-target.cc (Target::_init): Don't set classinfosize. - * d-tree.h (base_vtable_offset): Move under typeinfo.cc section. - * decl.cc (base_vtable_offset): Move to... - * typeinfo.cc (base_vtable_offset): ...here. Get base offset from - internal TypeInfo_Class type. - * intrinsics.cc (expand_intrinsic_bt): Use pointer TYPE_SIZE for - setting bitsize value. Build integer constants of correct type. - -2020-08-26 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd e49192807 - -2020-08-26 Iain Buclaw - - PR d/96156 - * d-frontend.cc (retStyle): Only return RETstack for struct and static - array types. - * decl.cc (DeclVisitor::visit (FuncDeclaration *)): Use NRVO return - for all TREE_ADDRESSABLE types. Set shidden to the RESULT_DECL. - * expr.cc (ExprVisitor::visit (CallExp *)): Force TARGET_EXPR if the - 'this' pointer reference is a CONSTRUCTOR. - (ExprVisitor::visit (StructLiteralExp *)): Generate assignment to the - symbol to initialize with literal. - * toir.cc (IRVisitor::visit (ReturnStatement *)): Detect returning - struct literals and write directly into the RESULT_DECL. - * dmd/MERGE: Merge upstream dmd fe5f388d8. - -2020-08-26 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd cb4a96fae - -2020-08-26 Iain Buclaw - - * d-lang.cc (d_parse_file): Use read() to load contents from stdin, - allow the front-end to free the memory after parsing. - * dmd/MERGE: Merge upstream dmd 2cc25c219. - -2020-08-26 Iain Buclaw - - PR d/96153 - * d-codegen.cc (build_address): Create a temporary for CALL_EXPRs - returning trivial aggregates, pre-filling it with zeroes. - (build_memset_call): Use build_zero_cst if setting the entire object. - -2020-08-26 Iain Buclaw - - PR d/96157 - * d-codegen.cc (d_build_call): Handle TREE_ADDRESSABLE static arrays. - * types.cc (make_array_type): Propagate TREE_ADDRESSABLE from base - type to static array. - -2020-08-26 Iain Buclaw - - * d-gimplify.cc (d_gimplify_expr): Move lowering of each tree node to - separate functions. - (d_gimplify_modify_expr): New function. - (d_gimplify_addr_expr): New function. - (d_gimplify_call_expr): New function. - (d_gimplify_unsigned_rshift_expr): New function. - -2020-08-26 Iain Buclaw - - * Make-lang.in (D_OBJS): Add d-gimplify.o. - * d-lang.cc (empty_modify_p): Move to d-gimplify.cc. - (d_gimplify_expr): Likewise. - * d-tree.h (d_gimplify_expr): Declare. - * d-gimplify.cc: New file. - -2020-08-20 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd 1b5a53d01. - -2020-08-18 Iain Buclaw - - PR d/96301 - * decl.cc (DeclVisitor::visit (FuncDeclaration *)): Only return - non-trivial structs by invisible reference. - -2020-08-04 Iain Buclaw - - PR d/96153 - * d-tree.h (build_expr): Add literalp argument. - * expr.cc (ExprVisitor): Add literalp_ field. - (ExprVisitor::ExprVisitor): Initialize literalp_. - (ExprVisitor::visit (AssignExp *)): Call memset() on blits where RHS - is a struct literal. Elide assignment if initializer is all zeroes. - (ExprVisitor::visit (CastExp *)): Forward literalp_ to generation of - subexpression. - (ExprVisitor::visit (AddrExp *)): Likewise. - (ExprVisitor::visit (ArrayLiteralExp *)): Use memset() to pre-fill - object with zeroes. Set literalp in subexpressions. - (ExprVisitor::visit (StructLiteralExp *)): Likewise. - (ExprVisitor::visit (TupleExp *)): Set literalp in subexpressions. - (ExprVisitor::visit (VectorExp *)): Likewise. - (ExprVisitor::visit (VectorArrayExp *)): Likewise. - (build_expr): Forward literal_p to ExprVisitor. - -2020-08-04 Iain Buclaw - - PR d/96429 - * expr.cc (ExprVisitor::visit (BinExp*)): Use EXACT_DIV_EXPR for - pointer diff expressions. - -2020-08-03 Iain Buclaw - - PR d/96254 - * d-codegen.cc (error_no_frame_access): New. - (get_frame_for_symbol): Use fdparent name in error message. - (get_framedecl): Replace call to assert with error. - * d-tree.h (error_no_frame_access): Declare. - * decl.cc (get_decl_tree): Detect recursion and error. - -2020-08-03 Iain Buclaw - - PR d/96250 - * dmd/MERGE: Merge upstream dmd c2274e56a. - -2020-07-31 Iain Buclaw - - PR d/96393 - * intrinsics.cc (expand_intrinsic_bt): Don't generate BIT_NOT_EXPR for - btr32 intrinsic. - -2020-07-30 Iain Buclaw - - PR d/96152 - * d-codegen.cc (build_array_from_exprs): New function. - * d-tree.h (build_array_from_exprs): Declare. - * expr.cc (ExprVisitor::visit (AssocArrayLiteralExp *)): Use - build_array_from_exprs to generate key and value arrays. - -2020-07-30 Iain Buclaw - - PR d/96154 - * gdc.texi (Warnings): Document -Wvarargs. - * lang.opt: Add -Wvarargs - -2020-07-30 Iain Buclaw - - PR d/96140 - * intrinsics.cc (expand_intrinsic_vaarg): Handle ref parameters as - arguments to va_arg(). - (expand_intrinsic_vastart): Handle ref parameters as arguments to - va_start(). - -2020-07-30 Iain Buclaw - - * expr.cc (ExprVisitor::visit (AssignExp *)): Inline bounds checking - for simple array assignments. - -2020-07-30 Iain Buclaw - - * d-codegen.cc (build_memcmp_call): New function. - (build_memcpy_call): New function. - (build_memset_call): New function. - (build_float_identity): Call build_memcmp_call. - (lower_struct_comparison): Likewise. - (build_struct_comparison): Likewise. - * d-tree.h (build_memcmp_call): Declare. - (build_memcpy_call): Declare. - (build_memset_call): Declare. - * expr.cc (ExprVisitor::visit (EqualExp *)): Call build_memcmp_call. - (ExprVisitor::visit (AssignExp *)): Call build_memset_call. - (ExprVisitor::visit (ArrayLiteralExp *)): Call build_memcpy_call. - (ExprVisitor::visit (StructLiteralExp *)): Call build_memset_call. - -2020-07-30 Iain Buclaw - - * expr.cc (needs_postblit): Move out of ExprVisitor as a static - function. Update all callers. - (needs_dtor): Likewise. - (lvalue_p): Likewise. - (binary_op): Likewise. - (binop_assignment): Likewise. - -2020-07-30 Iain Buclaw - - * intrinsics.cc (expand_intrinsic_rotate): Add function. - (maybe_expand_intrinsic): Handle rol and ror intrinsics. - * intrinsics.def (ROL): Add intrinsic. - (ROL_TIARG): Add intrinsic. - (ROR): Add intrinsic. - (ROR_TIARG): Add intrinsic. - -2020-07-30 Iain Buclaw - - * d-tree.h (DEF_D_INTRINSIC): Rename second argument from A to B. - * intrinsics.cc (intrinsic_decl): Add built_in field. - (DEF_D_INTRINSIC): Rename second argument from ALIAS to BUILTIN. - (maybe_set_intrinsic): Handle new intrinsic codes. - (expand_intrinsic_bt): Likewise. - (expand_intrinsic_checkedint): Likewise. - (expand_intrinsic_bswap): Remove. - (expand_intrinsic_sqrt): Remove. - (maybe_expand_intrinsic): Group together intrinsic cases that map - directly to gcc built-ins. - * intrinsics.def (DEF_D_BUILTIN): Rename second argument from A to B. - Update all callers to pass equivalent DECL_FUNCTION_CODE. - (DEF_CTFE_BUILTIN): Likewise. - (STD_COS): Remove intrinsic. - (STD_FABS): Remove intrinsic. - (STD_LDEXP): Remove intrinsic. - (STD_RINT): Remove intrinsic. - (STD_RNDTOL): Remove intrinsic. - (STD_SIN): Remove intrinsic. - (STD_SQRTF): Remove intrinsic. - (STD_SQRT): Remove intrinsic. - (STD_SQRTL): Remove intrinsic. - -2020-06-28 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd 8508c4e68. - -2020-06-25 Iain Buclaw - - * decl.cc (get_symbol_decl): Do not implicitly set - DECL_DECLARED_INLINE_P on member functions. - -2020-06-25 Iain Buclaw - - * d-lang.cc (d_gimplify_expr_p): Make static. - (d_parse_file): Likewise. - (d_signed_or_unsigned_type): Move to types.cc. - (d_unsigned_type): Likewise. - (d_signed_type): Likewise. - * d-tree.h (d_unsigned_type): Change the location in file. - (d_signed_type): Likewise. - * types.cc (d_signed_or_unsigned_type): Moved from d-lang.cc. - (d_unsigned_type): Likewise. - (d_signed_type): Likewise. - -2020-06-25 Iain Buclaw - - PR d/95075 - * dmd/MERGE: Merge upstream dmd 4be011355. - -2020-06-25 Iain Buclaw - - PR d/95250 - * dmd/MERGE: Merge upstream dmd 90450f3ef. - -2020-06-25 Iain Buclaw - - * d-lang.cc (d_parse_file): Replace OutBuffer with obstack. - -2020-06-25 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd 5fc1806cd. - * d-lang.cc (d_parse_file): Use peekChars to get string representation - of OutBuffer data. - -2020-06-25 Iain Buclaw - - PR d/95173 - * d-attribs.cc (uda_attribute_p): Don't search target attribute table - if NULL. - -2020-06-25 Iain Buclaw - - * decl.cc (DeclVisitor::visit (VarDeclaration *)): Don't set - DECL_INITIAL if initializer is 'void'. - -2020-06-25 Iain Buclaw - - * d-lang.cc (d_init_options): Turn on deprecation warnings by default. - -2020-06-25 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd 4f1046222. - * toir.cc (IRVisitor::visit (OnScopeGuardStatement *)): Rename to ... - (IRVisitor::visit (ScopeGuardStatement *)): ... this. - -2020-06-16 Iain Buclaw - - * d-attribs.cc (handle_noreturn_attribute): Remove names of unused - function parameters. - (handle_leaf_attribute): Likewise. - (handle_const_attribute): Likewise. - (handle_malloc_attribute): Likewise. - (handle_pure_attribute): Likewise. - (handle_novops_attribute): Likewise. - (handle_nonnull_attribute): Likewise. - (handle_nothrow_attribute): Likewise. - (handle_type_generic_attribute): Likewise. - (handle_transaction_pure_attribute): Likewise. - (handle_returns_twice_attribute): Likewise. - (handle_fnspec_attribute): Likewise. - (handle_always_inline_attribute): Likewise. - (d_handle_noinline_attribute): Likewise. - (d_handle_forceinline_attribute): Likewise. - (d_handle_flatten_attribute): Likewise. - (d_handle_noclone_attribute): Likewise. - (d_handle_section_attribute): Likewise. - (d_handle_alias_attribute): Likewise. - (d_handle_weak_attribute): Likewise. - -2020-06-16 Iain Buclaw - - * d-attribs.cc: Update code formatting in a consistant style. - * d-builtins.cc: Likewise. - * d-codegen.cc: Likewise. - * d-compiler.cc: Likewise. - * d-convert.cc: Likewise. - * d-diagnostic.cc: Likewise. - * d-frontend.cc: Likewise. - * d-lang.cc: Likewise. - * d-longdouble.cc: Likewise. - * d-port.cc: Likewise. - * d-spec.cc: Likewise. - * d-tree.h: Likewise. - * decl.cc: Likewise. - * expr.cc: Likewise. - * longdouble.h: Likewise. - * modules.cc: Likewise. - * toir.cc: Likewise. - * typeinfo.cc: Likewise. - -2020-06-16 Iain Buclaw - - * d-builtins.cc: Update quotation formatting of comments. - * d-codegen.cc: Likewise. - * d-lang.cc: Likewise. - * decl.cc: Likewise. - * expr.cc: Likewise. - * imports.cc: Likewise. - * runtime.cc: Likewise. - * toir.cc: Likewise. - * typeinfo.cc: Likewise. - * types.cc: Likewise. - -2020-06-16 Iain Buclaw - - * d-diagnostic.cc (expand_d_format): Replace OutBuffer with obstack. - (d_diagnostic_report_diagnostic): Don't free xformat. - * d-lang.cc (struct d_option_data): Change deps_target type from - OutBuffer to vec . - (deps_add_target): Update to push each target to deps_target. - (deps_write_string): New function. - (deps_write): Change buffer type to obstack* and remove colmax. - (d_init_options): Update initialization of deps_target. - (d_parse_file): Replace OutBuffer with obstack. - -2020-06-16 Iain Buclaw - - * d-lang.cc (d_parse_file): Replace uses of File with FILE. - -2020-06-16 Iain Buclaw - - * d-codegen.cc (build_array_bounds_call): New function. - (build_bounds_condition): Use build_array_bounds_call. - * d-lang.cc (d_init_options): Explicitly set default check action to - CHECKACTION_D. - (d_post_options): Set check action to CHECKACTION_C if the flag - -fno-druntime was seen. - * d-tree.h (build_array_bounds_call): Declare. - * expr.cc (ExprVisitor::visit (AssertExp *)): Use - build_array_bounds_call. - -2020-06-16 Iain Buclaw - - * d-attribs.cc (build_attributes): Use toStringExp instead of cast. - * toir.cc (IRVisitor::visit): Likewise. - -2020-06-16 Iain Buclaw - - * d-attribs.cc (build_attributes): Use isXxxxExp helpers instead of - explicit casts. - * d-codegen.cc (d_build_call): Likewise. - * d-compiler.cc (Compiler::paintAsType): Likewise. - * decl.cc (ExprVisitor::visit): Likewise. - (layout_class_initializer): Likewise. - * expr.cc (ExprVisitor::lvalue_p): Likewise - (ExprVisitor::visit): Likewise. - * types.cc (layout_aggregate_members): Likewise. - -2020-06-16 Iain Buclaw - - * d-frontend.cc (eval_builtin): Use toTypeFunction instead of cast. - * decl.cc (DeclVisitor::visit): Likewise. - * toir.cc (IRVisitor::visit): Likewise. - * typeinfo.cc (TypeInfoVisitor::visit): Likewise. - -2020-06-16 Iain Buclaw - - * d-builtins.cc (d_eval_constant_expression): Use isTypeXxxx helpers - instead of explicit casts. - (d_build_builtins_module): Likewise. - * d-codegen.cc (get_array_length): Likewise. - (identity_compare_p): Likewise. - (lower_struct_comparison): Likewise. - (build_array_from_val): Likewise. - (array_bounds_check): Likewise. - (get_function_type): Likewise. - (d_build_call): Likewise. - * d-compiler.cc (Compiler::paintAsType): Likewise. - * d-convert.cc (convert_expr): Likewise. - (convert_for_assignment): Likewise. - * d-lang.cc (d_classify_record): Likewise. - (d_build_eh_runtime_type): Likewise. - * decl.cc (DeclVisitor::visit): Likewise. - * expr.cc (ExprVisitor::needs_postblit): Likewise. - (ExprVisitor::needs_dtor): Likewise. - (ExprVisitor::visit): Likewise. - * imports.cc (ImportVisitor::visit): Likewise. - * typeinfo.cc (get_typeinfo_kind): Likewise. - (TypeInfoVisitor::visit): Likewise. - (TypeDeclInfoVisitor::visit): Likewise. - * types.cc (merge_aggregate_types): Likewise. - (TypeVisitor::visit): Likewise. - -2020-06-14 Iain Buclaw - - * expr.cc (ExprVisitor::visit (AssocArrayLiteralExp *)): Fix line - lengths, no functional change. - * typeinfo.cc (TypeInfoVisitor::layout_interfaces): Likewise. - (layout_classinfo_interfaces): Likewise. - -2020-06-09 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd 13d67c575. - * d-builtins.cc (build_frontend_type): Update call to - TypeVector::create. - * d-frontend.cc (Global::_init): Move setting of errorLimit to ... - * d-lang.cc (d_init_options): ... here. Update for new field - location of errorLimit. - (d_post_options): Likewise. - * d-port.cc (Port::readwordLE): Update signature. - (Port::readwordBE): Likewise. - (Port::readlongLE): Likewise. - (Port::readlongBE): Likewise. - * decl.cc (get_symbol_decl): Update for new field types. - -2020-06-08 Iain Buclaw - - PR d/95573 - * dmd/MERGE: Merge upstream dmd 5041e56f1. - -2020-06-08 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd 955b8b36f. - * expr.cc (ExprVisitor::visit (AndAndExp *)): Rename type to ... - (ExprVisitor::visit (LogicalExp *)): ... this. Handle both 'and if' - and 'or if' expression nodes. - (ExprVisitor::visit (OrOrExp *)): Remove. - -2020-06-07 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd 73d8e2fec. - * decl.cc (get_symbol_decl): Use new Prot::Kind enum. - * modules.cc (get_internal_fn): Likewise. - -2020-06-07 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd 108ca1bcd. - * d-diagnostic.cc (expand_d_format): Adjust to use extractChars(). - * d-frontend.cc (Loc::toChars): Likewise. - * d-lang.cc (deps_write): Likewise. - (d_parse_file): Likewise. - * decl.cc (d_mangle_decl): Likewise. - * intrinsics.cc (maybe_set_intrinsic): Likewise. - -2020-06-07 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd b0df0e982. - * d-builtins.cc (build_frontend_type): Use VarArg for varargs_p. - * d-codegen.cc (declaration_type): Call TypeFunction::create with - argument VARARGnone. - (parameter_type): Likewise. - (d_build_call): Use new field names and member functions. - * d-target.cc (Target::cppParameterType): Call TypeFunction::create - with argument VARARGnone. - * types.cc (TypeVisitor::visit (TypeFunction *): Use new field names - and member functions. - -2020-06-07 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd 1831b24ff. - * d-lang.cc (d_init_options): Remove initialization of updated fields. - (d_handle_option): Adjust for new field types. - -2020-06-07 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd cef1e7991. - * d-lang.cc (d_parse_file): Adjust for new field types. - -2020-06-05 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd 740f3d1ea. - * d-lang.cc (d_handle_option): Use new fields to save debug and - version levels passed over command-line. - (d_post_options): Add them to front-end here. - -2020-06-05 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd f5638c7b8. - * d-builtins.cc (d_init_versions): Use new CHECKENABLE enum. - * d-codegen.cc (array_bounds_check): Likewise. - (build_frame_type): Likewise. - (get_frameinfo): Likewise. - * d-lang.cc (d_init_options): Likewise. - (d_init_options_struct): Don't initialize x_flag_bounds_check. - (d_handle_option): Use new CHECKENABLE enum. - (d_post_options): Likewise. Set flag_bounds_check here. - * expr.cc (ExprVisitor::visit(AssertExp *)): Use new CHECKENABLE enum. - -2020-06-05 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd 56f0a65c4. - * d-builtins.cc (build_frontend_type): Remove static. - (d_build_builtins_module): Use target.va_listType() to get front-end - type for va_list. - (d_init_builtins): Move creation of va_list to Target::va_listType. - * d-codegen.cc (build_interface_binfo): Use new target global. - (build_vindex_ref): Likewise. - (identity_compare_p): Likewise. - * d-ctfloat.cc (CTFloat::parse): Likewise. - * d-lang.cc (d_init): Likewise. - * d-port.cc (Port::isFloat32LiteralOutOfRange): Likewise. - (Port::isFloat64LiteralOutOfRange): Likewise. - * d-target.cc (define_float_constants): Initialize constants through a - reference, instead of setting globals. - (Target::_init): Initialize new fields instead of setting globals. - (Target::va_listType): Build front-end type from va_list_type_node. - (Target::toCppMangle): Renamed to ... - (TargetCPP::toMangle): ... this. - (Target::cppTypeInfoMangle): Renamed to ... - (TargetCPP::typeInfoMangle): ... this. - (Target::cppTypeMangle): Renamed to ... - (TargetCPP::typeMangle): this. - (Target::cppParameterType): Renamed to ... - (TargetCPP::parameterType): ... this. Use target.va_listType() to get - front-end type for va_list. - (Target::cppFundamentalType): Renamed to ... - (TargetCPP::fundamentalType): ... this. - * d-tree.h (build_frontend_type): Declare. - * decl.cc (base_vtable_offset): Use new target global. - * typeinfo.cc (layout_classinfo_interfaces): Likewise. - (layout_cpp_typeinfo): Likewise. - * types.cc (valist_array_p): Use target.va_listType() to get front-end - type for va_list. - (layout_aggregate_type): Use new target global. - -2020-06-05 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd 6d5bffa54. - * d-builtins.cc (maybe_set_builtin_1): Update call to - Condition::include(). - * decl.cc (DeclVisitor::visit(AttribDeclaration *)): Likewise. - * types.cc (layout_aggregate_members): Likewise. - -2020-06-04 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd 48d704f08. - * d-attribs.cc (build_attributes): Use new field name. - * d-builtins.cc (build_frontend_type): Likewise. - (maybe_set_builtin_1): Likewise. - (d_maybe_set_builtin): Likewise. - * d-codegen.cc (build_interface_binfo): Likewise. - (identity_compare_p): Likewise. - (lower_struct_comparison): Likewise. - (build_struct_comparison): Likewise. - (d_build_call): Likewise. - (build_frame_type): Likewise. - (build_closure): Likewise. - * d-compiler.cc (Compiler::paintAsType): Likewise. - (Compiler::loadModule): Likewise. - * d-incpath.cc (add_globalpaths): Likewise. - (add_filepaths): Likewise. - (add_import_paths): Likewise. - * d-lang.cc (deps_write): Likewise. - (d_parse_file): Likewise. - * decl.cc (gcc_attribute_p): Likewise. - (base_vtable_offset): Likewise. - (get_vtable_decl): Likewise. - (build_class_instance): Likewise. - * expr.cc (class ExprVisitor): Likewise. - * modules.cc (layout_moduleinfo_fields): Likewise. - (layout_moduleinfo): Likewise. - (build_module_tree): Likewise. - * toir.cc (class IRVisitor): Likewise. - * typeinfo.cc (class TypeInfoVisitor): Likewise. - (layout_classinfo_interfaces): Likewise. - * types.cc (layout_aggregate_members): Likewise. - (layout_aggregate_type): Likewise. - -2020-06-04 Iain Buclaw - - * dmd/MERGE: Merge upstream dmd 47ed0330f. - -2020-06-04 Iain Buclaw - - * Make-lang.in (D_OBJS): Add d-compiler.o, d-ctfloat.o, d-port.o. - * d-frontend.cc (Port::memicmp): Move to d-port.cc. - (Port::strupr): Likewise. - (Port::isFloat32LiteralOutOfRange): Likewise. - (Port::isFloat64LiteralOutOfRange): Likewise. - (Port::readwordLE): Likewise. - (Port::readwordBE): Likewise. - (Port::readlongLE): Likewise. - (Port::readlongBE): Likewise. - (Port::valcpy): Likewise. - (CTFloat::fabs): Move to d-ctfloat.cc. - (CTFloat::ldexp): Likewise. - (CTFloat::isIdentical): Likewise. - (CTFloat::isNaN): Likewise. - (CTFloat::isSNaN): Likewise. - (CTFloat::isInfinity): Likewise. - (CTFloat::parse): Likewise. - (CTFloat::sprint): Likewise. - (CTFloat::hash): Likewise. - (Compiler::genCmain): Move to d-compiler.cc. - (Compiler::paintAsType): Likewise. - (Compiler::loadModule): Likewise. - * d-compiler.cc: New file. - * d-ctfloat.cc: New file. - * d-port.cc: New file. - -2020-06-02 Iain Buclaw - - * decl.cc (DeclVisitor::build_dsymbol): New function. - (DeclVisitor::visit (TupleDeclaration *)): Use build_dsymbol to - traverse AST instead of accept. - (DeclVisitor::visit (AttribDeclaration *)): Likewise. - (DeclVisitor::visit (Nspace *)): Likewise. - (DeclVisitor::visit (TemplateDeclaration *)): Likewise. - (DeclVisitor::visit (TemplateInstance *)): Likewise. - (DeclVisitor::visit (TemplateMixin *)): Likewise. - (DeclVisitor::visit (StructDeclaration *)): Likewise. - (DeclVisitor::visit (ClassDeclaration *)): Likewise. - (DeclVisitor::visit (InterfaceDeclaration *)): Likewise. - (DeclVisitor::visit (VarDeclaration *)): Likewise. - (build_decl_tree): Likewise. - -2020-06-02 Iain Buclaw - - * d-builtins.cc (build_frontend_type): Handle struct fields with NULL - DECL_NAME. Use byte_position to get the real field offset. - -2020-05-06 Iain Buclaw - - PR d/94970 - * d-codegen.cc (force_target_expr): Move create_temporary_var - implementation inline here. - (create_temporary_var): Remove. - (maybe_temporary_var): Remove. - (bind_expr): Remove. - * d-convert.cc (d_array_convert): Use build_local_temp to generate - temporaries, and generate its assignment. - * d-tree.h (create_temporary_var): Remove. - (maybe_temporary_var): Remove. - (d_array_convert): Remove vars argument. - * expr.cc (ExprVisitor::visit (CatExp *)): Use build_local_temp to - generate temporaries, don't wrap them in a BIND_EXPR. - (ExprVisitor::visit (NewExp *)): Likewise. - -2020-04-30 Iain Buclaw - - * gdc.texi (Options for Linking): Clarify usage of -defaultlib= and - -debuglib= options. - -2020-04-29 Iain Buclaw - - * d-codegen.cc (d_decl_context): Don't include module in the name of - class and struct types that aren't extern(D). - -2020-04-27 Iain Buclaw - - PR d/94777 - * d-builtins.cc (build_frontend_type): Set parent for generated - fields of built-in types. - * d-codegen.cc (argument_reference_p): Rename to ... - (parameter_reference_p): ... this. - (type_passed_as): Rename to ... - (parameter_type): ... this. Make TREE_ADDRESSABLE types restrict. - (d_build_call): Move handling of non-POD types here from ... - * d-convert.cc (convert_for_argument): ... here. - * d-tree.h (argument_reference_p): Rename declaration to ... - (parameter_reference_p): ... this. - (type_passed_as): Rename declaration to ... - (parameter_type): ... this. - * types.cc (TypeVisitor::visit (TypeFunction *)): Update caller. - -2020-04-26 Iain Buclaw - - * decl.cc (get_symbol_decl): Set DECL_DECLARED_INLINE_P or - DECL_UNINLINABLE for declarations with pragma(inline). - * toir.cc (IRVisitor::visit (GccAsmStatement *)): Set ASM_INLINE_P if - in function decorated with pragma(inline). - -2020-04-25 Iain Buclaw - - * intrinsics.cc (expand_intrinsic_toprec): New function. - (maybe_expand_intrinsic): Handle toPrec intrinsics. - * intrinsics.def (TOPRECF, TOPREC, TOPRECL): Add toPrec intrinsics. - -2020-04-24 Iain Buclaw - - * d-spec.cc (need_phobos): Remove. - (lang_specific_driver): Replace need_phobos with phobos_library. - Reorder -debuglib and -defaultlib to have precedence over libphobos. - (lang_specific_pre_link): Remove test for need_phobos. - -2020-04-19 Iain Buclaw - - PR d/94609 - * d-codegen.cc (argument_reference_p): Don't check TREE_ADDRESSABLE. - (type_passed_as): Build reference type if TREE_ADDRESSABLE. - * d-convert.cc (convert_for_argument): Build explicit TARGET_EXPR if - needed for arguments passed by invisible reference. - * types.cc (TypeVisitor::visit (TypeStruct *)): Mark all structs that - are not POD as TREE_ADDRESSABLE. - -2020-04-13 Iain Buclaw - - * Make-lang.in (D_FRONTEND_OBJS): Remove d/argtypes.o. - * d-target.cc (Target::toArgTypes): New function. - -2020-04-10 Iain Buclaw - - * d-spec.cc (LIBDRUNTIME): Remove. - (LIBDRUNTIME_PROFILE): Remove. - (lang_specific_driver): Don't link in libgdruntime. - -2020-04-07 Iain Buclaw - - PR d/94425 - * toir.cc (IRVisitor::visit (GccAsmStatement *)): Set ASM_VOLATILE_P - on all asm statements. - -2020-04-01 Iain Buclaw - - PR d/90136 - * d-attribs.cc: Include dmd/attrib.h. - (build_attributes): Redeclare as static. - (apply_user_attributes): New function. - * d-tree.h (class UserAttributeDeclaration): Remove. - (build_attributes): Remove. - (apply_user_attributes): Declare. - (finish_aggregate_type): Remove attrs argument. - * decl.cc (get_symbol_decl): Merge declaration prototypes with - definitions. Use apply_user_attributes. - * modules.cc (layout_moduleinfo_fields): Remove last argument to - finish_aggregate_type. - * typeinfo.cc (layout_classinfo_interfaces): Likewise. - * types.cc (layout_aggregate_members): Likewise. - (finish_aggregate_type): Remove attrs argument. - (TypeVisitor::visit (TypeEnum *)): Use apply_user_attributes. - (TypeVisitor::visit (TypeStruct *)): Remove last argument to - finish_aggregate_type. Use apply_user_attributes. - (TypeVisitor::visit (TypeClass *)): Likewise. - -2020-03-31 Iain Buclaw - - * d-attribs.cc (d_langhook_common_attribute_table): Add always_inline. - (handle_always_inline_attribute): New function. - -2020-03-31 Iain Buclaw - - PR d/94424 - * d-codegen.cc (build_alignment_field): Remove. - (build_struct_literal): Don't insert alignment padding. - * expr.cc (ExprVisitor::visit (AssignExp *)): Call memset before - assigning struct literals. - -2020-03-31 Iain Buclaw - - * typeinfo.cc (TypeInfoVisitor::internal_reference): Call - d_comdat_linkage on generated decl. - -2020-03-22 Iain Buclaw - - PR d/93038 - * d-lang.cc (deps_write): Generate phony targets for content imported - files. - -2020-03-22 Iain Buclaw - - PR d/93038 - * d-lang.cc (deps_write): Add content imported files to the make - dependency list. - -2020-03-21 Iain Buclaw - - PR d/94240 - * typeinfo.cc (class TypeInfoVisitor): Replace type_ field with decl_. - (TypeInfoVisitor::TypeInfoVisitor): Set decl_. - (TypeInfoVisitor::result): Update. - (TypeInfoVisitor::internal_reference): New function. - (TypeInfoVisitor::layout_string): Use internal_reference. - (TypeInfoVisitor::visit (TypeInfoTupleDeclaration *)): Likewise. - (layout_typeinfo): Construct TypeInfoVisitor with typeinfo decl. - (layout_classinfo): Likewise. - -2020-03-20 Iain Buclaw - - PR lto/91027 - * d-tree.h (struct GTY): Add daggregate field. - (IDENTIFIER_DAGGREGATE): Define. - (d_mangle_decl): Add declaration. - * decl.cc (mangle_decl): Remove static linkage, rename to... - (d_mangle_decl): ...this, update all callers. - * types.cc (merge_aggregate_types): New function. - (TypeVisitor::visit (TypeStruct *)): Call merge_aggregate_types, set - IDENTIFIER_DAGGREGATE and TYPE_CXX_ODR_P. - (TypeVisitor::visit (TypeClass *)): Likewise. - -2020-03-18 Jakub Jelinek - - * expr.cc (ExprVisitor::visit (CatAssignExp *)): Fix up duplicated - word issue in a comment. - * d-target.cc (Target::FPTypeProperties::max): Likewise. - -2020-03-16 Iain Buclaw - - PR d/92309 - * types.cc (fixup_anonymous_offset): Don't set DECL_FIELD_OFFSET on - anonymous fields. - -2020-03-16 Iain Buclaw - - PR d/92216 - * decl.cc (make_thunk): Don't set TREE_PUBLIC on thunks if the target - function is external to the current compilation. - -2020-01-01 Jakub Jelinek - - Update copyright years. - - * gdc.texi: Bump @copyrights-d year. -Copyright (C) 2020 Free Software Foundation, Inc. +Copyright (C) 2021 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 66e39f553c6..21e8799b653 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,2381 +1,5 @@ -2020-12-29 Paul Thomas - - PR fortran/97612 - * primary.c (build_actual_constructor): Missing allocatable - components are set unallocated using EXPR_NULL. Then missing - components are tested for a default initializer. - -2020-12-29 Paul Thomas - - PR fortran/93833 - * trans-array.c (get_array_ctor_var_strlen): If the character - length backend_decl cannot be found, convert the expression and - use the string length. Clear up some minor white space issues - in the rest of the file. - -2020-12-27 Paul Thomas - - PR fortran/97694 - PR fortran/97723 - * check.c (allocatable_check): Select rank temporaries are - permitted even though they are treated as associate variables. - * resolve.c (gfc_resolve_code): Break on select rank as well as - select type so that the block os resolved. - * trans-stmt.c (trans_associate_var): Class associate variables - that are optional dummies must use the backend_decl. - -2020-12-26 Paul Thomas - - PR fortran/98022 - * data.c (gfc_assign_data_value): Throw an error for inquiry - references. Follow with corrected code that would provide the - expected result and provides clean error recovery. - -2020-12-26 Paul Thomas - - PR fortran/83118 - * trans-array.c (gfc_alloc_allocatable_for_assignment): Make - sure that class expressions are captured for dummy arguments by - use of gfc_get_class_from_gfc_expr otherwise the wrong vptr is - used. - * trans-expr.c (gfc_get_class_from_gfc_expr): New function. - (gfc_get_class_from_expr): If a constant expression is - encountered, return NULL_TREE; - (gfc_trans_assignment_1): Deallocate rhs allocatable components - after passing derived type function results to class lhs. - * trans.h : Add prototype for gfc_get_class_from_gfc_expr. - -2020-12-25 Harald Anlauf - - * data.c (gfc_assign_data_value): Restrict use of - create_character_initializer to constant initializers. - * trans-expr.c (gfc_conv_initializer): Ensure that character - initializer is constant, otherwise fall through to get the same - error handling as for non-character cases. - -2020-12-20 Thomas Koenig - - * trans.c (create_var_debug_raw): Set DECL_ARTIFICIAL - on variables. - -2020-12-18 Paul Thomas - - PR fortran/83118 - PR fortran/96012 - * resolve.c (resolve_ordinary_assign): Generate a vtable if - necessary for scalar non-polymorphic rhs's to unlimited lhs's. - * trans-array.c (get_class_info_from_ss): New function. - (gfc_trans_allocate_array_storage): Defer obtaining class - element type until all sources of class exprs are tried. Use - class API rather than TREE_OPERAND. Look for class expressions - in ss->info by calling get_class_info_from_ss. After, obtain - the element size for class descriptors. Where the element type - is unknown, cast the data as character(len=size) to overcome - unlimited polymorphic problems. - (gfc_conv_ss_descriptor): Do not fix class variable refs. - (build_class_array_ref, structure_alloc_comps): Replace code - replicating the new function gfc_resize_class_size_with_len. - (gfc_alloc_allocatable_for_assignment): Obtain element size - for lhs in cases of deferred characters and class enitities. - Move code for the element size of rhs to start of block. Clean - up extraction of class parameters throughout this function. - After the shape check test whether or not the lhs and rhs - element sizes are the same. Use earlier evaluation of - 'cond_null'. Reallocation of lhs only to happen if size changes - or element size changes. - * trans-expr.c (gfc_resize_class_size_with_len): New function. - (gfc_get_class_from_expr): If a constant expression is - encountered, return NULL_TREE; - (trans_scalar_class_assign): New function. - (gfc_conv_procedure_call): Ensure the vtable is present for - passing a non-class actual to an unlimited formal. - (trans_class_vptr_len_assignment): For expressions of type - BT_CLASS, extract the class expression if necessary. Use a - statement block outside the loop body. Ensure that 'rhs' is - of the correct type. Obtain rhs vptr in all circumstances. - (gfc_trans_scalar_assign): Call trans_scalar_class_assign to - make maximum use of the vptr copy in place of assignment. - (trans_class_assignment): Actually do reallocation if needed. - (gfc_trans_assignment_1): Simplify some of the logic with - 'realloc_flag'. Set 'vptr_copy' for all array assignments to - unlimited polymorphic lhs. - * trans.c (gfc_build_array_ref): Call gfc_resize_class_size_ - with_len to correct span for unlimited polymorphic decls. - * trans.h : Add prototype for gfc_resize_class_size_with_len. - -2020-12-17 Tobias Burnus - - PR fortran/92587 - * match.c (gfc_match_assignment): Move gfc_find_vtab call from here ... - * resolve.c (gfc_resolve_code): ... to here. - -2020-12-17 Harald Anlauf - - PR fortran/98307 - * trans-stmt.c (check_forall_dependencies): Extend dependency - check to allocatable components of derived types. - -2020-12-16 Harald Anlauf - - PR fortran/98284 - * resolve.c (check_data_variable): Reject DATA elements with the - ALLOCATABLE attribute. - -2020-12-15 Thomas Koenig - - PR fortran/90207 - * invoke.texi: Document -fdebug-aux-vars. - * lang.opt: Add -fdebug-aux-vars. - * trans.c (MAX_PREFIX_LEN): New macro. - (create_var_debug_raw): New function. - (gfc_create_var_np): Call create_var_debug_raw if - flag_debug_aux_vars is set. - -2020-12-13 Thomas Koenig - - * dump-parse-tree.c (show_array_ref): Also show coarrays. - (debug): Implement for array reference. - -2020-12-12 Paul Thomas - - PR fortran/98022 - * data.c (gfc_assign_data_value): Handle inquiry references in - the data statement object list. - -2020-12-08 Tobias Burnus - - * dump-parse-tree.c (show_omp_clauses, show_omp_node, - show_code_node): Handle OMP SCAN. - * gfortran.h (enum gfc_statement): Add ST_OMP_SCAN. - (enum): Add OMP_LIST_SCAN_IN and OMP_LIST_SCAN_EX. - (enum gfc_exec_op): Add EXEC_OMP_SCAN. - * match.h (gfc_match_omp_scan): New prototype. - * openmp.c (gfc_match_omp_scan): New. - (gfc_match_omp_taskgroup): Cleanup. - (resolve_omp_clauses, gfc_resolve_omp_do_blocks, - omp_code_to_statement, gfc_resolve_omp_directive): Handle 'omp scan'. - * parse.c (decode_omp_directive, next_statement, - gfc_ascii_statement): Likewise. - * resolve.c (gfc_resolve_code): Handle EXEC_OMP_SCAN. - * st.c (gfc_free_statement): Likewise. - * trans-openmp.c (gfc_trans_omp_clauses, gfc_trans_omp_do, - gfc_split_omp_clauses): Handle 'omp scan'. - -2020-12-05 Paul Thomas - - PR fortran/98016 - * resolve.c (resolve_symbol): Set formal_arg_flag before - resolving an array spec and restore value afterwards. - -2020-12-03 Harald Anlauf - - PR fortran/95342 - * decl.c (gfc_match_function_decl): Avoid NULL pointer dereference. - (gfc_match_subroutine): Likewise. - -2020-11-30 Tobias Burnus - - PR fortran/98011 - * scanner.c (skip_free_comments, skip_fixed_comments): If only - -fopenacc but not -fopenmp is used, ignore OpenMP's conditional - compilation sentinels. Fix indentation, use 'else if' for readability. - -2020-11-30 Tobias Burnus - - PR fortran/98010 - PR fortran/98013 - * options.c (gfc_post_options): Also imply recursive with - -fopenacc. - * trans-decl.c (gfc_generate_function_code): Simplify condition. - -2020-11-30 Tobias Burnus - - * dump-parse-tree.c (show_expr): Use '==' not '=' for '.eq.'. - -2020-11-29 Harald Anlauf - - * expr.c (simplify_parameter_variable): Fix up character length - after copying an array-valued expression. - -2020-11-28 Thomas Koenig - - PR fortran/97454 - * trans-decl.c (gfc_get_extern_function_decl): Add argument - fnspec. - * trans-intrinsic.c (MAX_SPEC_ARG): Define. - (intrinsic_fnspec): New function. - (ADD_CHAR): Define. - (specific_intrinsic_symbol): Adjust comment. Pass - fn spec to gfc_get_extern_function_decl. - (gfc_conv_intrinsic_funcall): Add ANY, ALL, NORM2, PRODUCT - and SUM intrnisic. Add FIXME for cshift et al. - * trans-types.c (gfc_get_function_type): Add fnspec argument, - handle it. - * trans-types.h (gfc_get_function_type): Add optinal fnspec - argument. - * trans.h (gfc_get_extern_function_decl): Likewise. - -2020-11-25 Harald Anlauf - - PR fortran/85796 - * resolve.c (traverse_data_list): Fix copy&paste errors; catch - step=0 in implied do loop. - -2020-11-20 Jakub Jelinek - - PR other/97911 - * Make-lang.in (fortran.serial): Change from goal to a variable. - (.PHONY): Drop fortran.serial and fortran.prev. - (f951$(exeext)): Depend on $(fortran.serial) rather than - fortran.serial. - -2020-11-18 Jakub Jelinek - - * Make-lang.in (fortran.serial): New goal. - (.PHONY): Add fortran.serial fortran.prev. - (f951$(exeext)): Depend on fortran.prev. Call LINK_PROGRESS. - -2020-11-17 Harald Anlauf - - * gfortran.texi: Fix description of GFC_RTCHECK_* to match actual - code. - -2020-11-16 Harald Anlauf - - * trans-intrinsic.c (gfc_conv_intrinsic_size): Generate runtime - checking code for status of argument. - -2020-11-13 Gergö Barany - Thomas Schwinge - - * lang.opt (fopenacc-kernels): Add. - -2020-11-12 Jakub Jelinek - - * f95-lang.c (ATTR_ALLOC_WARN_UNUSED_RESULT_SIZE_2_NOTHROW_LIST): - Define. - (gfc_init_builtin_functions): Add alloc_size and warn_unused_result - attributes to __builtin_GOMP_alloc. - * types.def (BT_PTRMODE): New primitive type. - (BT_FN_VOID_PTR_PTRMODE, BT_FN_PTR_SIZE_SIZE_PTRMODE): New function - types. - -2020-11-12 Tobias Burnus - - PR fortran/97782 - * trans-openmp.c (gfc_trans_oacc_construct, gfc_trans_omp_parallel_do, - gfc_trans_omp_parallel_do_simd, gfc_trans_omp_parallel_sections, - gfc_trans_omp_parallel_workshare, gfc_trans_omp_sections - gfc_trans_omp_single, gfc_trans_omp_task, gfc_trans_omp_teams - gfc_trans_omp_target, gfc_trans_omp_target_data, - gfc_trans_omp_workshare): Use code->loc instead of input_location - when building the OMP_/OACC_ construct. - -2020-11-11 Jakub Jelinek - - PR fortran/97768 - * misc.c (gfc_typename): Use ex->value.character.length only if - ex->expr_type == EXPR_CONSTANT. If ex->ts.deferred, print : instead - of length. If ex->ts.u.cl && ex->ts.u.cl->length == NULL, print * - instead of length. Otherwise if character length is non-constant, - print just CHARACTER or CHARACTER(KIND=N). - -2020-11-10 Tobias Burnus - - * dump-parse-tree.c (show_omp_clauses): Handle new reduction enums. - * gfortran.h (OMP_LIST_REDUCTION_INSCAN, OMP_LIST_REDUCTION_TASK, - OMP_LIST_IN_REDUCTION, OMP_LIST_TASK_REDUCTION): Add enums. - * openmp.c (enum omp_mask1): Add OMP_CLAUSE_IN_REDUCTION - and OMP_CLAUSE_TASK_REDUCTION. - (gfc_match_omp_clause_reduction): Extend reduction handling; - moved from ... - (gfc_match_omp_clauses): ... here. Add calls to it. - (OMP_TASK_CLAUSES, OMP_TARGET_CLAUSES, OMP_TASKLOOP_CLAUSES): - Add OMP_CLAUSE_IN_REDUCTION. - (gfc_match_omp_taskgroup): Add task_reduction matching. - (resolve_omp_clauses): Update for new reduction clause changes; - remove removed nonmonotonic-schedule restrictions. - (gfc_resolve_omp_parallel_blocks): Add new enums to switch. - * trans-openmp.c (gfc_omp_clause_default_ctor, - gfc_trans_omp_reduction_list, gfc_trans_omp_clauses, - gfc_split_omp_clauses): Handle updated reduction clause. - -2020-11-10 Tobias Burnus - - PR fortran/95847 - * trans-decl.c (gfc_get_symbol_decl): Do not (re)set the location - of an external procedure. - (build_entry_thunks, generate_coarray_init, create_main_function, - gfc_generate_function_code): Use fndecl's location in BIND_EXPR. - -2020-11-09 Tobias Burnus - - PR fortran/90111 - * parse.c (case_decl): Move ST_OACC_ROUTINE and ST_OACC_DECLARE to ... - (case_omp_decl): ... here. - (verify_st_order): Update comment. - -2020-11-06 Thomas Schwinge - - * openmp.c (oacc_is_parallel, resolve_oacc_params_in_parallel): - Remove. - (resolve_oacc_loop_blocks): Don't call the former. - -2020-11-06 Tobias Burnus - - * openmp.c (gfc_match_oacc_atomic): No longer accept 'update capture'. - -2020-11-06 Tobias Burnus - - PR fortran/97652 - * module.c (mio_symbol): Fix symbol name for pdt_type. - -2020-11-03 Nathan Sidwell - - * cpp.c (gfc_cpp_add_dep): Only add dependency if we're recording - them. - (gfc_cpp_init): Likewise for target. - -2020-11-03 Tobias Burnus - - * decl.c (ext_attr_list): Add EXT_ATTR_DEPRECATED. - * gfortran.h (ext_attr_id_t): Ditto. - * gfortran.texi (GCC$ ATTRIBUTES): Document it. - * resolve.c (resolve_variable, resolve_function, - resolve_call, resolve_values): Show -Wdeprecated-declarations warning. - * trans-decl.c (add_attributes_to_decl): Skip those - with no middle_end_name. - -2020-11-03 Thomas Schwinge - - PR fortran/92793 - * trans-openmp.c (gfc_trans_omp_clauses): More precise location - information for OpenACC 'gang', 'worker', 'vector' clauses with - argument. - -2020-11-02 Thomas Schwinge - - PR fortran/92793 - * trans.c (gfc_set_backend_locus): Use 'gfc_get_location'. - (gfc_restore_backend_locus): Adjust. - -2020-11-02 Tobias Burnus - - PR fortran/97655 - * openmp.c (gfc_match_omp_atomic): Fix mem-order handling; - reject specifying update + capture together. - -2020-10-30 Tobias Burnus - - * dump-parse-tree.c (show_omp_clauses): Handle atomic clauses. - (show_omp_node): Call it for atomic. - * gfortran.h (enum gfc_omp_atomic_op): Add GFC_OMP_ATOMIC_UNSET, - remove GFC_OMP_ATOMIC_SEQ_CST and GFC_OMP_ATOMIC_ACQ_REL. - (enum gfc_omp_memorder): Replace OMP_MEMORDER_LAST by - OMP_MEMORDER_UNSET, add OMP_MEMORDER_SEQ_CST/OMP_MEMORDER_RELAXED. - (gfc_omp_clauses): Add capture and atomic_op. - (gfc_code): remove omp_atomic. - * openmp.c (enum omp_mask1): Add atomic, capture, memorder clauses. - (gfc_match_omp_clauses): Match them. - (OMP_ATOMIC_CLAUSES): Add. - (gfc_match_omp_flush): Update for 'last' to 'unset' change. - (gfc_match_omp_oacc_atomic): Removed and placed content .. - (gfc_match_omp_atomic): ... here. Update for OpenMP 5 clauses. - (gfc_match_oacc_atomic): Match directly here. - (resolve_omp_atomic, gfc_resolve_omp_directive): Update. - * parse.c (parse_omp_oacc_atomic): Update for struct gfc_code changes. - * resolve.c (gfc_resolve_blocks): Update assert. - * st.c (gfc_free_statement): Also call for EXEC_O{ACC,MP}_ATOMIC. - * trans-openmp.c (gfc_trans_omp_atomic): Update. - (gfc_trans_omp_flush): Update for 'last' to 'unset' change. - -2020-10-30 Jan Hubicka - - * trans-types.c: Include alias.h - (gfc_get_array_type_bounds): Set typeless storage. - -2020-10-27 Harald Anlauf - - * resolve.c (gfc_impure_variable): A dummy argument with the VALUE - attribute may be redefined without making a procedure impure. - -2020-10-27 Richard Biener - - * trans-array.c (gfc_get_descriptor_field): New helper. - (gfc_conv_descriptor_data_get): Use it - drop strange - REFERENCE_TYPE handling and make sure we don't trigger it. - (gfc_conv_descriptor_data_addr): Use gfc_get_descriptor_field. - (gfc_conv_descriptor_data_set): Likewise. - (gfc_conv_descriptor_offset): Likewise. - (gfc_conv_descriptor_dtype): Likewise. - (gfc_conv_descriptor_span): Likewise. - (gfc_get_descriptor_dimension): Likewise. - (gfc_conv_descriptor_token): Likewise. - (gfc_conv_descriptor_subfield): New helper. - (gfc_conv_descriptor_stride): Use it. - (gfc_conv_descriptor_lbound): Likewise. - (gfc_conv_descriptor_ubound): Likewise. - -2020-10-25 Thomas Koenig - - PR fortran/97454 - * gfortran.h (gfc_symbol): Add pass_as_value flag. - (gfc_copy_formal_args_intr): Add optional argument - copy_type. - (gfc_get_intrinsic_function_symbol): Add prototype. - (gfc_find_intrinsic_symbol): Add prototype. - * intrinsic.c (gfc_get_intrinsic_function_symbol): New function. - (gfc_find_intrinsic_symbol): New function. - * symbol.c (gfc_copy_formal_args_intr): Add argument. Handle case - where the type needs to be copied from the actual argument. - * trans-intrinsic.c (remove_empty_actual_arguments): New function. - (specific_intrinsic_symbol): New function. - (gfc_conv_intrinsic_funcall): Use it. - (strip_kind_from_actual): Adjust so that the expression pointer - is set to NULL. - (gfc_conv_intrinsic_minmaxloc): Likewise. - (gfc_conv_intrinsic_minmaxval): Adjust removal of dim. - * trans-types.c (gfc_sym_type): If sym->pass_as_value is set, do - not pass by reference. - -2020-10-22 Tobias Burnus - - * gfortran.h (enum gfc_omp_memorder): Add. - (gfc_omp_clauses): Use it. - * openmp.c (gfc_match_omp_flush): Match memorder clauses. - * trans-openmp.c (gfc_trans_omp_flush): Handle them. - (gfc_trans_omp_directive): Update call. - -2020-10-21 Tobias Burnus - - PR fortran/45516 - * class.c: Add _deallocate to the vtable documentation - comment. - -2020-10-16 Harald Anlauf - - PR fortran/95979 - * expr.c (gfc_check_init_expr): Fix check of return code from - gfc_intrinsic_func_interface. - * intrinsic.c (gfc_intrinsic_func_interface): Add further attempt - of simplification of elemental intrinsics with array arguments. - * iresolve.c (gfc_resolve_index_func): Keep optional KIND argument - for simplification of elemental use of INDEX. - -2020-10-15 Andre Vehreschild - - * trans-decl.c (gfc_build_builtin_function_decls): Fix the coarray fndecls. - -2020-10-14 Tobias Burnus - - PR fortran/97390 - * scanner.c (load_line): Fix line-truncation warning for !$acc - and !gcc$ in free-form source code. - -2020-10-14 Steven G. Kargl - Mark Eggleston - - PR fortran/95614 - * decl.c (gfc_get_common): Use gfc_match_common_name instead - of match_common_name. - * decl.c (gfc_bind_idents): Use gfc_match_common_name instead - of match_common_name. - * match.c : Rename match_common_name to gfc_match_common_name. - * match.c (gfc_match_common): Use gfc_match_common_name instead - of match_common_name. - * match.h : Rename match_common_name to gfc_match_common_name. - * resolve.c (resolve_common_vars): Check each symbol in a - common block has a global symbol. If there is a global symbol - issue an error if the symbol type is a module or a program. - -2020-10-12 Mark Eggleston - - PR fortran/96099 - * decl.c (gfc_match_implicit): Check for numeric and logical - types. - -2020-10-07 Paul Thomas - - PR fortran/47469 - * trans-expr.c (arrayfunc_assign_needs_temporary): Tidy detection - of pointer and allocatable functions. - -2020-10-04 Harald Anlauf - - PR fortran/97272 - * trans-intrinsic.c (strip_kind_from_actual): Helper function for - removal of KIND argument. - (gfc_conv_intrinsic_minmaxloc): Ignore KIND argument here, as it - is treated elsewhere. - -2020-10-02 Jan Hubicka - - * trans-decl.c (gfc_build_library_function_decl_with_spec): Verify - fnspec. - (gfc_build_intrinsic_function_decls): Update fnspecs. - (gfc_build_builtin_function_decls): Update fnspecs. - * trans-io.c (gfc_build_io_library_fndecls): Update fnspecs. - * trans-types.c (create_fn_spec): Update fnspecs. - -2020-09-30 Jan Hubicka - - * trans-decl.c (gfc_build_intrinsic_function_decls): Add traling dots - to spec strings so they match the number of parameters; do not use - R and W for non-pointer parameters. Drop pointless specifier on - caf_stop_numeric and caf_get_team. - -2020-09-30 Jan Hubicka - - * trans-io.c (gfc_build_io_library_fndecls): Add trailing dots so - length of spec string matches number of arguments. - -2020-09-30 Tobias Burnus - - PR fortran/97242 - * expr.c (gfc_is_not_contiguous): Fix check. - (gfc_check_pointer_assign): Use it. - -2020-09-30 Paul Thomas - - PR fortran/97045 - * trans-array.c (gfc_conv_array_ref): Make sure that the class - decl is passed to build_array_ref in the case of unlimited - polymorphic entities. - * trans-expr.c (gfc_conv_derived_to_class): Ensure that array - refs do not preceed the _len component. Free the _len expr. - * trans-stmt.c (trans_associate_var): Reset 'need_len_assign' - for polymorphic scalars. - * trans.c (gfc_build_array_ref): When the vptr size is used for - span, multiply by the _len field of unlimited polymorphic - entities, when non-zero. - -2020-09-30 Tom de Vries - - * f95-lang.c (gfc_init_builtin_functions): Update - targetm.libc_has_function call. - -2020-09-28 Mark Eggleston - - Revert: - 2020-09-27 Steven G. Kargl - Mark Eggleston - - PR fortran/95614 - * decl.c (gfc_get_common): Use gfc_match_common_name instead - of match_common_name. - * decl.c (gfc_bind_idents): Use gfc_match_common_name instead - of match_common_name. - * match.c : Rename match_common_name to gfc_match_common_name. - * match.c (gfc_match_common): Use gfc_match_common_name instead - of match_common_name. - * match.h : Rename match_common_name to gfc_match_common_name. - * resolve.c (resolve_common_vars): Check each symbol in a - common block has a global symbol. If there is a global symbol - issue an error if the symbol type is known as is not a common - block name. - -2020-09-27 Steven G. Kargl - Mark Eggleston - - PR fortran/95614 - * decl.c (gfc_get_common): Use gfc_match_common_name instead - of match_common_name. - * decl.c (gfc_bind_idents): Use gfc_match_common_name instead - of match_common_name. - * match.c : Rename match_common_name to gfc_match_common_name. - * match.c (gfc_match_common): Use gfc_match_common_name instead - of match_common_name. - * match.h : Rename match_common_name to gfc_match_common_name. - * resolve.c (resolve_common_vars): Check each symbol in a - common block has a global symbol. If there is a global symbol - issue an error if the symbol type is known as is not a common - block name. - -2020-09-24 Paul Thomas - - PR fortran/96495 - * trans-expr.c (gfc_conv_procedure_call): Take the deallocation - of allocatable result components of a scalar result outside the - scalarization loop. Find and use the stored result. - -2020-09-21 Harald Anlauf - Paul Thomas - - * iresolve.c (gfc_resolve_mvbits): Remove unneeded conversion of - FROMPOS, LEN and TOPOS arguments to fit a C int. - * trans-intrinsic.c (gfc_conv_intrinsic_mvbits): Add inline - expansion of MVBITS intrinsic elemental subroutine and add code - for runtime argument checking. - (gfc_conv_intrinsic_subroutine): Recognise MVBITS intrinsic, but - defer handling to gfc_trans_call. - * trans-stmt.c (replace_ss): - (gfc_trans_call): Adjust to handle inline expansion, scalarization - of intrinsic subroutine MVBITS in gfc_conv_intrinsic_mvbits. - * trans.h (gfc_conv_intrinsic_mvbits): Add prototype for - gfc_conv_intrinsic_mvbits. - -2020-09-19 Sandra Loosemore - - * interface.c (gfc_compare_actual_formal): Add assertion after - main processing loop to silence maybe-uninitialized error. - -2020-09-19 Harald Anlauf - - * symbol.c (gfc_check_conflict): Allow ELEMENTAL RECURSIVE - procedure prefix for -std=f2018. - -2020-09-17 Tobias Burnus - - PR fortran/96041 - PR fortran/93423 - * decl.c (gfc_match_submod_proc): Avoid later double-free - in the error case. - -2020-09-16 Tobias Burnus - - PR fortran/97061 - * trans-openmp.c (gfc_trans_omp_do): Handle simd with (last)private. - -2020-09-15 Tobias Burnus - - PR fortran/96668 - * trans.h (gfc_omp_finish_clause): Add bool openacc arg. - * trans-openmp.c (gfc_omp_finish_clause): Ditto. Use - GOMP_MAP_ALWAYS_POINTER with PSET for pointers. - (gfc_trans_omp_clauses): Like the latter and also if the always - modifier is used. - -2020-09-09 Tobias Burnus - - PR fortran/95109 - PR fortran/94690 - * resolve.c (gfc_resolve_code): Also call - gfc_resolve_omp_parallel_blocks for 'distribute parallel do (simd)'. - * openmp.c (gfc_resolve_omp_parallel_blocks): Handle it. - (gfc_resolve_do_iterator): Remove special code for SIMD, which is - not needed. - * trans-openmp.c (gfc_trans_omp_target): For TARGET_PARALLEL_DO_SIMD, - call simd not do processing function. - -2020-09-08 Thomas Koenig - - * intrinsic.texi: Fix description of FINDLOC result. - -2020-09-07 Harald Anlauf - - * trans-intrinsic.c (build_round_expr): Use temporary with - appropriate kind for conversion before rounding to nearest - integer when the result precision is 128 bits. - -2020-09-07 Tobias Burnus - - PR fortran/96896 - * resolve.c (get_temp_from_expr): Also reset proc_pointer + - use_assoc attribute. - (resolve_ptr_fcn_assign): Use information from the LHS. - -2020-09-07 Francois-Xavier Coudert - - * trans-types.c (gfc_get_derived_type): Fix argument types. - -2020-09-07 Francois-Xavier Coudert - - * resolve.c (resolve_select_type): Provide a formal arg list. - -2020-09-06 Francois-Xavier Coudert - - * trans-types.c (gfc_get_ppc_type): Add comment. - -2020-09-06 Francois-Xavier Coudert - - * trans-types.c (gfc_get_ppc_type): Fix function arg types. - -2020-09-06 Francois-Xavier Coudert - - PR fortran/96947 - * trans-stmt.c (gfc_trans_fail_image): caf_fail_image - expects no argument. - -2020-09-02 Jakub Jelinek - - PR fortran/96859 - * check.c (gfc_boz2real, gfc_boz2int): When clearing first two bits, - change also '2' to '0' and '3' to '1' rather than just handling '4' - through '7'. - -2020-09-01 Steven G. Kargl - Mark Eggleston - - PR fortran/95398 - * resolve.c (resolve_select_type): Add check for BT_CLASS - type before using the CLASS_DATA macro which will have a - NULL pointer to derive components if it isn't BT_CLASS. - -2020-08-30 José Rui Faustino de Sousa - - PR fortran/96728 - * module.c (module_peek_char): Peek ahead function. - (parse_integer): Add code for parsing signed integers. - (parse_atom): Add code to handle signed integers. - (peek_atom): Add code to handle signed integers. - -2020-08-30 José Rui Faustino de Sousa - - PR fortran/96727 - * expr.c (gfc_check_init_expr): Add default error message for the AS_ASSUMED_RANK case. - -2020-08-30 José Rui Faustino de Sousa - - PR fortran/96726 - * expr.c (check_references): Change different relational operator - to less-than operator to avoid infinite loop. - -2020-08-30 José Rui Faustino de Sousa - - PR fortran/95352 - * simplify.c (simplify_bound_dim): Add check for NULL pointer - before trying to access structure member. - -2020-08-30 José Rui Faustino de Sousa - - PR fortran/94110 - * interface.c (gfc_compare_actual_formal): Add code to also raise - the actual argument cannot be an assumed-size array error when the - dummy arguments are deferred-shape or assumed-rank pointer. - -2020-08-28 Tobias Burnus - - PR fortran/94672 - * trans-array.c (gfc_trans_g77_array): Check against the parm decl and - set the nonparm decl used for the is-present check to NULL if absent. - -2020-08-28 Paul Thomas - - PR fortran/96624 - * simplify.c (gfc_simplify_reshape): Detect zero shape and - clear index if found. - -2020-08-27 Mark Eggleston - - PR fortran/95882 - * decl.c (char_len_param_value): Check gfc_seen_div0 and - if it is set return MATCH_ERROR. - -2020-08-27 Martin Liska - - * trans-openmp.c (gfc_trans_omp_do): Set exact argument of a vector - growth function to true. - -2020-08-26 Tobias Burnus - - * gfortran.h (enum gfc_omp_device_type): New. - (symbol_attribute, gfc_omp_clauses, gfc_common_head): Use it. - * module.c (enum ab_attribute): Add AB_OMP_DEVICE_TYPE_HOST, - AB_OMP_DEVICE_TYPE_NOHOST and AB_OMP_DEVICE_TYPE_ANY. - (attr_bits, mio_symbol_attribute): Handle it. - (load_commons, write_common_0): Handle omp_device_type flag. - * openmp.c (enum omp_mask1): Add OMP_CLAUSE_DEVICE_TYPE - (OMP_DECLARE_TARGET_CLAUSES): Likewise. - (gfc_match_omp_clauses): Match 'device_type'. - (gfc_match_omp_declare_target): Handle it. - * trans-common.c (build_common_decl): Write device-type clause. - * trans-decl.c (add_attributes_to_decl): Likewise. - -2020-08-23 Paul Thomas - - PR fortran/96737 - * trans-types.c (gfc_get_derived_type): Derived types that are - used in submodules are not compatible with TYPE_CANONICAL from - any of the global namespaces. - -2020-08-20 Paul Thomas - - PR fortran/96100 - PR fortran/96101 - * trans-array.c (get_array_charlen): Tidy up the evaluation of - the string length for array constructors. Avoid trailing array - references. Ensure string lengths of deferred length components - are set. For parentheses operator apply string length to both - the primary expression and the enclosed expression. - -2020-08-20 Andre Vehreschild - - PR fortran/94958 - * trans-array.c (gfc_bcast_alloc_comp): Use the correct variable. - -2020-08-20 Tobias Burnus - - * openmp.c (gfc_match_omp_clauses): Re-order 'if' clause pasing - to avoid creating spurious symbols. - -2020-08-18 Harald Anlauf - - * check.c (check_rest): Reject MIN/MAX character arguments of - different kind. - * simplify.c (min_max_choose): The simplification result shall - have the highest kind value of the arguments. - * trans-intrinsic.c (gfc_conv_intrinsic_minmax): Choose type and - kind of intermediate by looking at all arguments, not the result. - -2020-08-17 Martin Liska - - * openmp.c (resolve_omp_clauses): Add static assert - for OMP_LIST_NUM and size of clause_names array. - Remove check that is always true. - -2020-08-17 Martin Liska - - * openmp.c (resolve_omp_clauses): Add NONTEMPORAL to clause - names. - -2020-08-13 Andre Vehreschild - - PR fortran/93671 - * trans-array.c (structure_alloc_comps): Keep caf-mode when applying to - components; get the caf_token correctly for allocated scalar components. - -2020-08-13 Matthew Krupcale - - PR fortran/96595 - * invoke.texi: Fix typos. - -2020-08-12 Tobias Burnus - - * gfortran.h: Add OMP_LIST_NONTEMPORAL. - * dump-parse-tree.c (show_omp_clauses): Dump it - * openmp.c (enum omp_mask1): Add OMP_CLAUSE_NOTEMPORAL. - (OMP_SIMD_CLAUSES): Add it. - (gfc_match_omp_clauses): Match nontemporal clause. - * trans-openmp.c (gfc_trans_omp_clauses): Process - nontemporal clause. - -2020-08-10 Thomas Koenig - - PR fortran/96556 - * frontend-passes.c (doloop_contained_function_call): - Do not dereference a NULL pointer for value.function.esym. - -2020-08-10 Paul Thomas - - PR fortran/96312 - * trans-expr.c (fcncall_realloc_result): Only compare shapes if - lhs was allocated.. - -2020-08-10 Paul Thomas - - PR fortran/96102 - * resolve.c (check_host_association): Replace the gcc_assert - with an error for internal procedures. - -2020-08-05 Thomas Koenig - - PR fortran/96469 - * frontend-passes.c (doloop_contained_function_call): New - function. - (doloop_contained_procedure_code): New function. - (CHECK_INQ): Macro for inquire checks. - (doloop_code): Invoke doloop_contained_procedure_code and - doloop_contained_function_call if appropriate. - (do_intent): Likewise. - -2020-08-04 Tobias Burnus - - * openmp.c (resolve_omp_do): Detect not perfectly - nested loop with innermost collapse. - -2020-08-04 Tobias Burnus - - * trans-openmp.c (gfc_trans_omp_do): Fix 'lastprivate(conditional:'. - -2020-08-03 Julian Brown - Thomas Schwinge - - * trans-openmp.c (gfc_trans_omp_clauses): Don't create present/release - mappings for array descriptors. - -2020-08-03 Martin Jambor - - * f95-lang.c (gfc_init_builtin_functions): Remove processing of - hsa-builtins.def. - -2020-08-03 Tobias Burnus - - * gfc-internals.texi: Fix typos. - * gfortran.texi: Likewise. - * intrinsic.texi: Likewise. - * invoke.texi: Likewise. - -2020-08-02 Paul Thomas - - PR target/96320 - * interface.c (gfc_check_dummy_characteristics): If a module - procedure arrives with assumed shape in the interface and - deferred shape in the procedure itself, update the latter and - copy the lower bounds. - -2020-08-02 Paul Thomas - - PR fortran/96325 - * primary.c (gfc_match_varspec): In the case that a component - reference is added to an intrinsic type component, emit the - error message in this function. - -2020-07-29 Tobias Burnus - - * dump-parse-tree.c (show_omp_clauses): Handle order(concurrent). - * gfortran.h (struct gfc_omp_clauses): Add order_concurrent. - * openmp.c (enum omp_mask1, OMP_DO_CLAUSES, OMP_SIMD_CLAUSES): - Add OMP_CLAUSE_ORDER. - * trans-openmp.c (gfc_trans_omp_clauses, gfc_split_omp_clauses): - Handle order(concurrent) clause. - -2020-07-29 Tobias Burnus - - * openmp.c (resolve_omp_clauses): Permit 'omp target data' without - map if use_device_{addr,ptr} is present. - -2020-07-29 Mark Eggleston - - PR fortran/96319 - * intrinsic.c (gfc_convert_type_warn): Add check for - LOGICAL type so that warnings are not output. - -2020-07-29 Tobias Burnus - - * module.c (mio_symbol_attribute): Fix indent of previous - commit. - -2020-07-29 Mark Eggleston - - PR fortran/53298 - * trans-array.c (gfc_walk_array_ref): If ref->ss.end is set - call gfc_get_scalar_ss. - -2020-07-29 Tobias Burnus - - * gfortran.h (enum gfc_statement): Add ST_OMP_REQUIRES. - (enum gfc_omp_requires_kind): New. - (enum gfc_omp_atomic_op): Add GFC_OMP_ATOMIC_ACQ_REL. - (struct gfc_namespace): Add omp_requires and omp_target_seen. - (gfc_omp_requires_add_clause, - (gfc_check_omp_requires): New. - * match.h (gfc_match_omp_requires): New. - * module.c (enum ab_attribute, attr_bits): Add omp requires clauses. - (mio_symbol_attribute): Read/write them. - * openmp.c (gfc_check_omp_requires, (gfc_omp_requires_add_clause, - gfc_match_omp_requires): New. - (gfc_match_omp_oacc_atomic): Use requires's default mem-order. - * parse.c (decode_omp_directive): Match requires, set omp_target_seen. - (gfc_ascii_statement): Handle ST_OMP_REQUIRES. - * trans-openmp.c (gfc_trans_omp_atomic): Handle GFC_OMP_ATOMIC_ACQ_REL. - -2020-07-27 Tobias Burnus - - * openmp.c (gfc_resolve_omp_directive): Remove NULL check - for clauses in EXEC_OMP_CRITICAL as it no longer can be NULL. - -2020-07-23 Tobias Burnus - - * gfortran.h (gfc_omp_namelist): Add lastprivate_conditional. - * openmp.c (gfc_match_omp_clauses): Handle 'conditional:' - modifier of 'lastprivate'. - * trans-openmp.c (gfc_omp_clause_default_ctor): Don't assert - on OMP_CLAUSE__CONDTEMP_ and other OMP_*TEMP_. - (gfc_trans_omp_variable_list): Handle lastprivate_conditional. - -2020-07-23 Tobias Burnus - - * intrinsic.texi (OMP_LIB_KINDS): Add omp_depend_kind. - -2020-07-23 Tobias Burnus - - * gfortran.texi (Standards): Update URL; state that OpenMP 4.5 - is supported and 5.0 is partially. - * intrinsic.texi (OpenMP Modules): Refer also to OpenMP 5.0; - (OMP_LIB): Add missing derived type and new named constants. - -2020-07-22 Tobias Burnus - - * gfortran.h (enum gfc_omp_if_kind): Add OMP_IF_CANCEL and OMP_IF_SIMD. - * openmp.c (OMP_SIMD_CLAUSES): Add OMP_CLAUSE_IF. - (gfc_match_omp_clauses, resolve_omp_clauses): Handle 'if (simd/cancel:'. - * dump-parse-tree.c (show_omp_clauses): Likewise. - * trans-openmp.c (gfc_trans_omp_clauses, gfc_trans_omp_cancel, - (gfc_split_omp_clauses): Likewise. - -2020-07-22 Tobias Burnus - - * openmp.c (gfc_match_omp_critical): Fix handling hints; permit - hint clause without named critical. - (resolve_omp_clauses): Require nonnegative constant integer - for the hint clause. - (gfc_resolve_omp_directive): Check for no name but - nonzero value for hint clause. - * parse.c (parse_omp_structured_block): Fix same-name check - for critical. - * trans-openmp.c (gfc_trans_omp_critical): Handle hint clause properly. - -2020-07-21 Harald Anlauf - - PR fortran/89574 - * trans-decl.c (gfc_get_extern_function_decl): Check whether a - symbol belongs to a different module. - -2020-07-19 Thomas Koenig - - PR fortran/96220 - * dump-parse-tree.c (get_c_type_name): Always use the entries from - c_interop_kinds_table to find the correct C type. - -2020-07-19 Thomas Koenig - - PR fortran/96018 - * frontend-passes.c (gfc_check_externals): Adjust formatting. - (implicit_pure_call): New function. - (implicit_pure_expr): New function. - (gfc_fix_implicit_pure): New function. - * gfortran.h (gfc_fix_implicit_pure): New prototype. - * parse.c (translate_all_program_units): Call gfc_fix_implicit_pure. - -2020-07-18 David Edelsohn - - * check.c (gfc_invalid_boz): Mark hint for translation using _(). - -2020-07-16 Julian Brown - Thomas Schwinge - - * trans-openmp.c (gfc_trans_omp_clauses): Rework OpenACC - attach/detach handling for arrays with descriptors. - -2020-07-14 Steven G. Kargl - Mark Eggleston - - PR fortran/95612 - * expr.c (gfc_check_pointer_assigb): Output an error if - rvalue is a zero sized array or output an error if rvalue - doesn't have a symbol tree. - -2020-07-14 Tobias Burnus - - * openmp.c (gfc_match_omp_clauses): Match also derived-type - component refs in OMP_CLAUSE_MAP. - (resolve_omp_clauses): Resolve those. - * trans-openmp.c (gfc_trans_omp_array_section, gfc_trans_omp_clauses): - Handle OpenMP structure-element mapping. - (gfc_trans_oacc_construct, gfc_trans_oacc_executable_directive, - (gfc_trans_oacc_combined_directive, gfc_trans_oacc_declare): Update - add openacc=true in gfc_trans_omp_clauses call. - -2020-07-14 Tobias Burnus - - PR fortran/67311 - * trans-openmp.c (gfc_has_alloc_comps): Return false also for - pointers to arrays. - -2020-07-14 Steven G. Kargl - Mark Eggleston - - PR fortran/96038 - * decl.c (add_init_expr_sym): For a symbol that is a - parameter accept an initialisation if it does not have a - value otherwise output a error and reject. - -2020-07-13 Mark Eggleston - - PR fortran/45337 - * resolve.c (resolve_fl_variable): Remove type and intent - checks from the check for dummy. - -2020-07-13 Steven G. Kargl - Mark Eggleston - - PR fortran/95981 - * check.c (dim_rank_check): Allow NULL references in call to - gfc_find_array_ref and return false if no reference is found. - -2020-07-11 Thomas Koenig - - PR fortran/96073 - * frontend-passes.c (check_externals_procedure): Add locus - information for new_sym. - * interface.c (gfc_check_dummy_characteristics): Do not warn - about INTENT for artificially generated variables. - -2020-07-10 Harald Anlauf - - PR fortran/95980 - * class.c (gfc_add_component_ref, gfc_build_class_symbol): - Add checks for NULL pointer dereference. - * primary.c (gfc_variable_attr): Likewise. - * resolve.c (resolve_variable, resolve_assoc_var) - (resolve_fl_var_and_proc, resolve_fl_variable_derived) - (resolve_symbol): Likewise. - -2020-07-10 Harald Anlauf - - PR fortran/96086 - * match.c (gfc_match_select_rank): Catch NULL pointer - dereference. - * resolve.c (resolve_assoc_var): Catch NULL pointer dereference - that may occur after an illegal declaration. - -2020-07-09 Julian Brown - - * trans-openmp.c (gfc_trans_omp_clauses): Use 'inner' not 'decl' for - derived type members which themselves have derived types. - -2020-07-08 Harald Anlauf - - PR fortran/96085 - * resolve.c (gfc_resolve_code): Check whether assign target is a - parameter. - -2020-07-06 Harald Anlauf - - PR fortran/95980 - * match.c (copy_ts_from_selector_to_associate, build_class_sym): - Distinguish between unlimited polymorphic and ordinary variables - to avoid NULL pointer dereference. - * resolve.c (resolve_select_type): - Distinguish between unlimited polymorphic and ordinary variables - to avoid NULL pointer dereference. - -2020-07-06 Harald Anlauf - - PR fortran/95709 - * resolve.c (gfc_resolve_code): Check for valid arguments to - assigned GOTO. - -2020-07-05 Thomas Koenig - - PR fortran/27318 - * frontend-passes.c (check_against_globals): New function. - (gfc_check_externals): Split; also invoke check_against_globals - via gfc_traverse_ns. - (gfc_check_externals0): Recursive part formerly in - gfc_check_externals. - * resolve.c (resolve_global_procedure): Set sym->error on - interface mismatch. - * symbol.c (ambiguous_symbol): Check for, and set sym->error. - -2020-07-02 Harald Anlauf - - PR fortran/93423 - * resolve.c (resolve_symbol): Avoid NULL pointer dereference. - -2020-07-02 Harald Anlauf - - PR fortran/93337 - * class.c (gfc_find_derived_vtab): Punt if name is not set. - -2020-07-02 Mark Eggleston - - PR fortran/52279 - * check.c (gfc_invalid_boz): Change array declaration for - hint into a pointer. - -2020-07-02 Steven G. Kargl - Mark Eggleston - - PR fortran/95584 - * interface.c (generic_correspondence): Only use the pointer - to a symbol if exists. - -2020-07-01 David Edelsohn - - * check.c (gfc_invalid_boz): Fix bootstrap. Revert - Mark hint for translation using _(). - -2020-07-01 Mark Eggleston - - PR fortran/52279 - * arith.c (reduce_binary_aa): Mark for translation the string - parameter to gfc_check_conformance with G_(). - * check.c (gfc_invalid_boz): Mark hint for translation using - _(). (gfc_check_achar): Mark for translation the message - parameter to gfc_invalid_boz using G_(). (gfc_check_char): - Mark for translation the message parameter to gfc_invalid_boz - using G_(). (gfc_check_complex): Mark for translation the - message parameter to gfc_invalid_boz using G_(). - (gfc_check_float): Mark for translation the message - parameter to gfc_invalid_boz using G_(). (check_rest): Mark - for translation the string parameter to gfc_check_conformance - with _(). (gfc_check_minloc_maxloc): Mark for translation - the string parameter to gfc_check_conformance with _(). - (gfc_check_findloc): Mark for translation the string parameter - to gfc_check_conformance with _(). (check_reduction): Mark - for translation the string parameter to gfc_check_conformance - with _(). (gfc_check_pack): Mark for translation the string - parameter to gfc_check_conformance with _(). - * decl.c (match_old_style_init): Mark for translation the - message parameter to gfc_invalid_boz using G_(). - * expr.c (gfc_check_assign): Mark for translation the string - parameter to gfc_check_conformance with _(). - * intrinsic.c (check_specific): Mark for translation the string - parameter to gfc_check_conformance with _(). - (gfc_check_intrinsic_standard): Mark symstd_msg strings for - translation using G_(). No need to mark symstd_msg for - translation in call to gfc_warning or when setting symstd. - * io.c (check_open_constraints): Mark strings for translation - using G_() in all calls to warn_or_error. (match_io_element): - Mark for translation the message parameter to gfc_invalid_boz - using G_(). - * primary.c (match_boz_constant): Mark for translation the - message parameter to gfc_invalid_boz using G_(). - * resolve.c (resolve_elemental_actual): Mark for translation - the string parameter to gfc_check_conformance with _(). - (resolve_operator): Mark for translation the string parameter - to gfc_check_conformance with _(). Mark translation strings - assigned to msg using G_() for use in a call to cfg_warning. - -2020-07-01 Steven G. Kargl - Mark Eggleston - - PR fortran/95446 - * resolve.c (resolve_elemental_actual): Add code to check for - non-optional argument of the same rank. Revise warning message - to refer to the Fortran 2018 standard. - -2020-07-01 Steven G. Kargl - Mark Eggleston - - PR fortran/95829 - * decl.c (gfc_match_decl_type_spec): Compare with "* ) " instead - of "*)". - -2020-06-30 Harald Anlauf - - PR fortran/88379 - * resolve.c (resolve_assoc_var): Avoid NULL pointer dereference. - -2020-06-30 Thomas Koenig - - PR fortran/95355 - * gfortran.h (gfc_typename): Add optional argument for_hash. - * misc.c (gfc_typename): When for_hash is true, just retur - CHARACTER(kind). - * class.c (gfc_intrinsic_hash_value): Call gfc_typename with - for_hash = true. - -2020-06-29 Harald Anlauf - - PR fortran/95978 - * decl.c (gfc_match_data): Avoid NULL pointer dereference. - -2020-06-29 Thomas Koenig - - PR fortran/95743 - * trans-decl.c (gfc_generate_function_code): Do not generate - recursion check for compiler-generated procedures. - -2020-06-29 Harald Anlauf - - PR fortran/71706 - * trans-stmt.c (gfc_trans_sync): Do proper kind conversion in - bounds-checking code. - -2020-06-28 Harald Anlauf - - PR fortran/95340 - * match.c (gfc_match_select_rank): Do not dereference NULL pointer. - -2020-06-28 Harald Anlauf - - PR fortran/95880 - * symbol.c (gfc_add_type): If sym->ns->proc_name is set, use it, - otherwise fall back to sym->name. - -2020-06-27 Harald Anlauf - - PR fortran/95881 - * resolve.c (resolve_symbol): Avoid NULL pointer dereference. - -2020-06-25 Harald Anlauf - - PR fortran/95828 - * match.c (select_rank_set_tmp): Enlarge internal buffer used in - generating a mangled name. - * resolve.c (resolve_select_rank): Likewise. - -2020-06-25 Harald Anlauf - - PR fortran/95826 - * decl.c (gfc_match_decl_type_spec): Replace a fixed size - buffer by a pointer and reallocate if necessary. - -2020-06-25 Tobias Burnus - - PR fortran/95837 - * resolve.c (gfc_resolve_substring_charlen): Remove - bogus ts.kind setting for the expression. - -2020-06-25 Tobias Burnus - Kwok Cheung Yeung - - PR fortran/95869 - * trans-openmp.c (gfc_trans_omp_target): Use correct scoping block. - -2020-06-25 Kwok Cheung Yeung - - * trans-openmp.c (gfc_split_omp_clauses): Add if clause - to target and simd sub-constructs. - -2020-06-24 Harald Anlauf - - PR fortran/95827 - * iresolve.c (gfc_get_string): Enlarge internal buffer used in - generating the mangled name. - -2020-06-23 Thomas Koenig - - PR fortran/95812 - * dependency.c (ref_same_as_full_array): Handle case of AR_FULL - vs. AR_FULL. - -2020-06-23 Steven G. Kargl - Mark Eggleston - - PR fortran/95586 - * decl.c (gfc_match_implicit): Only perform else branch if - the type spect is not BT_DERIVED. - -2020-06-22 Steven G. Kargl - Mark Eggleston - - PR fortran/95708 - * intrinsic.c (add_functions): Replace CLASS_INQUIRY with - CLASS_TRANSFORMATIONAL for intrinsic num_images. - (make_generic): Replace ACTUAL_NO with ACTUAL_YES for - intrinsic team_number. - * resolve.c (resolve_fl_procedure): Check pointer ts.u.derived - exists before using it. - -2020-06-22 Steven G. Kargl - Mark Eggleston - - PR fortran/95585 - * check.c (gfc_check_reshape): Add check for a value when - the symbol has an attribute flavor FL_PARAMETER. - -2020-06-22 Mark Eggleston - - PR fortran/42693 - * arith.c (gfc_arith_error): Enclose strings in G_() instead - of _(). - -2020-06-20 Harald Anlauf - - PR fortran/95707 - * gfortran.h (gfc_common_head): Enlarge buffer. - * trans-common.c (gfc_sym_mangled_common_id): Enlarge temporary - buffers, and add check on length on mangled name to prevent - overflow. - -2020-06-20 Harald Anlauf - - PR fortran/95688 - * iresolve.c (gfc_get_string): Enlarge static buffer size. - -2020-06-20 Harald Anlauf - - PR fortran/95687 - * class.c (get_unique_type_string): Return a string with dynamic - length. - (get_unique_hashed_string, gfc_hash_value): Use dynamic result - from get_unique_type_string instead of static buffer. - -2020-06-20 Harald Anlauf - - PR fortran/95689 - * interface.c (check_sym_interfaces): Enlarge temporary buffer, - and add check on length on mangled name to prevent overflow. - -2020-06-20 Harald Anlauf - - PR fortran/95587 - * match.c (gfc_match_equivalence): Check constraints on - EQUIVALENCE objects also for CLASS variables. - -2020-06-18 Tobias Burnus - - * openmp.c (resolve_omp_clauses): Reject vars with - allocatable components in OpenMP map clauses. - -2020-06-16 Tobias Burnus - - * parse.c (decode_oacc_directive): Permit 'acc routine' also - inside pure procedures. - * openmp.c (gfc_match_oacc_routine): Inside pure procedures - do not permit gang, worker or vector clauses. - -2020-06-16 Tobias Burnus - - * parse.c (decode_omp_directive): Remove "or ELEMENTAL" - from "in PURE" error message also for -fopenmp-simd. - -2020-06-16 Tobias Burnus - - * parse.c (decode_omp_directive): Remove "or ELEMENTAL" - from "in PURE" error message. - -2020-06-14 Thomas Koenig - - PR fortran/42122 - * dump-parse-tree.c (gfc_dump_global_symbols): If the symroot is - empty, just output "empty". - -2020-06-14 Harald Anlauf - - PR fortran/95088 - * class.c (get_unique_type_string): Replace use of fixed size - buffer by internally passing a pointer to strings. - -2020-06-14 Thomas Koenig - - * check.c (gfc_check_random_seed): Always use locations - from get and put arguments for error messages. - -2020-06-14 Thomas Koenig - - PR fortran/94109 - * class.c (finalize_component): Return early if finalization has - already happened for expression and component within namespace. - * gfortran.h (gfc_was_finalized): New type. - (gfc_namespace): Add member was_finalzed. - (gfc_expr): Remove finalized. - * symbol.c (gfc_free_namespace): Free was_finalized. - -2020-06-11 Harald Anlauf - Steven G. Kargl - - PR fortran/95611 - * decl.c (access_attr_decl): Use correct symbol in error message. - -2020-06-11 Steven G. Kargl - Harald Anlauf - - PR fortran/95544 - * check.c (invalid_null_arg): Rename to gfc_invalid_null_arg. - (gfc_check_associated, gfc_check_kind, gfc_check_merge) - (gfc_check_shape, gfc_check_size, gfc_check_spread) - (gfc_check_transfer): Adjust. - (gfc_check_len_lentrim, gfc_check_trim): Check for NULL() argument. - * gfortran.h: Declare gfc_invalid_null_arg (). - * intrinsic.c (check_arglist): Check for NULL() argument. - -2020-06-11 Harald Anlauf - - PR fortran/95503 - * expr.c (gfc_check_pointer_assign): Skip contiguity check of rhs - of pointer assignment if lhs cannot be simply contiguous. - -2020-06-11 José Rui Faustino de Sousa - - PR fortran/95331 - * trans-array.c (gfc_conv_array_ref): For class array dummy - arguments use the transformed descriptor in sym->backend_decl - instead of the original descriptor. - -2020-06-11 José Rui Faustino de Sousa - - PR fortran/52351 - PR fortran/85868 - * trans-array.c (gfc_conv_expr_descriptor): Enable the - creation of a new descriptor with the correct one based - indexing for array sections. Rework array descriptor - indexing offset calculation. - -2020-06-11 José Rui Faustino de Sousa - - PR fortran/94022 - * trans-expr.c (gfc_conv_procedure_call): In the case of - assumed-size arrays ensure that the reference is to a full array. - -2020-06-07 Harald Anlauf - - PR fortran/95091 - * class.c (gfc_hash_value): Add cast. - -2020-06-07 Harald Anlauf - - PR fortran/95091 - * class.c (get_unique_type_string, gfc_hash_value): Enlarge - buffers, and check whether the strings returned by - get_unique_type_string() fit. - -2020-06-05 Harald Anlauf - - PR fortran/95530 - PR fortran/95537 - * decl.c (gfc_match_decl_type_spec): Enlarge buffer, and enhance - string copy to detect buffer overflow. - * gfortran.h (gfc_common_head): Enlarge buffer. - * trans-common.c (finish_equivalences): Enhance string copy to - detect buffer overflow. - -2020-06-05 Tom Tromey - - PR fortran/95509 - * misc.c (gfc_closest_fuzzy_match): Update cutoff value - computation. - -2020-06-04 Steven G. Kargl - Harald Anlauf - - PR fortran/95500 - * trans-expr.c (gfc_conv_expr_reference): Do not dereference NULL - pointer. - -2020-06-03 José Rui Faustino de Sousa - - PR fortran/95214 - PR fortran/66833 - PR fortran/67938 - * trans-expr.c (gfc_maybe_dereference_var): Add assumed-rank to - character dummy arguments list of possible attributes. - -2020-06-03 Tobias Burnus - - * f95-lang.c (LANG_HOOKS_OMP_PREDETERMINED_MAPPING): Redefine. - * trans-openmp.c (gfc_omp_predetermined_mapping): New. - * trans.h (gfc_omp_predetermined_mapping): Declare. - -2020-05-31 Thomas Koenig - - PR fortran/94361 - * class.c (finalize_component): Use expr->finalized instead of - comp->finalized. - * gfortran.h (gfc_component): Remove finalized member. - (gfc_expr): Add it here instead. - -2020-05-30 Harald Anlauf - - PR fortran/95373 - * primary.c (is_inquiry_ref): Move validity check of inquiry - references against selected Fortran standard from here... - (gfc_match_varspec) ...to here. - -2020-05-30 Harald Anlauf - - PR fortran/95090 - * class.c (get_unique_type_string): Use buffer overrun check. - -2020-05-29 Harald Anlauf - - PR fortran/95090 - * class.c (get_unique_type_string): Enlarge temporary for - name-mangling. Use strncpy to prevent buffer overrun. - (get_unique_hashed_string): Enlarge temporary. - (gfc_hash_value): Enlarge temporary for name-mangling. - -2020-05-28 Harald Anlauf - - PR fortran/95373 - * primary.c (is_inquiry_ref): Check validity of inquiry - references against selected Fortran standard. - -2020-05-28 Steven G. Kargl - Mark Eggleston - Mark Eggleston - - PR fortran/94397 - * match.c (gfc_match_type_spec): New variable ok initialised - to true. Set ok with the return value of gfc_reduce_init_expr - called only if the expression is not EXPR_CONSTANT and is not - EXPR_VARIABLE. Add !ok to the check for type not being integer - or the rank being greater than zero. - -2020-05-27 Harald Anlauf - - PR fortran/95090 - * iresolve.c (gfc_get_string): Enlarge temporary for - name-mangling. - -2020-05-27 Tobias Burnus - Mark Eggleston - - PR fortran/50392 - * trans-decl.c (gfc_get_symbol_decl): Remove unnecessary block - delimiters. Add auxiliary variables if a label is assigned to - a return variable. (gfc_gat_fake_result): If the symbol has an - assign attribute set declaration from the symbol's backend - declaration. - -2020-05-26 Harald Anlauf - - PR fortran/95089 - * trans-types.c (gfc_get_derived_type): Enlarge temporary to hold - mangled name "_caf_symbol". - -2020-05-26 Alexandre Oliva - - * options.c (gfc_get_option_string): Drop auxbase, add - dumpbase_ext. - -2020-05-24 Harald Anlauf - - PR fortran/95106 - * trans-common.c (gfc_sym_mangled_common_id): Enlarge temporaries - for name-mangling. - -2020-05-23 Thomas Koenig - - PR libfortran/95191 - * libgfortran.h (libgfortran_error_codes): Add - LIBERROR_BAD_WAIT_ID. - -2020-05-20 Mark Eggleston - - PR fortran/39695 - * resolve.c (resolve_fl_procedure): Set name depending on - whether the result attribute is set. For PROCEDURE/RESULT - conflict use the name in sym->ns->proc_name->name. - * symbol.c (gfc_add_type): Add check for function and result - attributes use sym->ns->proc_name->name if both are set. - Where the symbol cannot have a type use the name in - sym->ns->proc_name->name. - -2020-05-18 Harald Anlauf - - PR fortran/95053 - * arith.c (gfc_divide): Revert hunk introduced by patch for - PR93499. - * decl.c (variable_decl): Generate error for array shape not being - an INTEGER constant. - (gfc_get_pdt_instance): Generate error if KIND or LEN expressions - in declaration of a PDT instance do not simplify to INTEGER - constants. - -2020-05-15 Tobias Burnus - - PR fortran/94690 - * openmp.c (resolve_omp_do): Permit more clauses for SIMD - iteration variables. - -2020-05-14 Jakub Jelinek - - * trans-openmp.c: Include function.h. - (gfc_trans_omp_target): Set cfun->has_omp_target. - -2020-05-13 Steven G. Kargl - - PR fortran/93497 - * decl.c (char_len_param_value): Check whether character - length expression is of type EXPR_OP and if so simplify it. - * resolve.c (resolve_charlen): Reject length if it has a - rank. - -2020-05-13 Tobias Burnus - - PR fortran/94690 - * openmp.c (OMP_DISTRIBUTE_CLAUSES): Add OMP_CLAUSE_LASTPRIVATE. - (gfc_resolve_do_iterator): Skip the private handling for SIMD as - that is handled by ME code. - * trans-openmp.c (gfc_trans_omp_do): Don't add private/lastprivate - for dovar_found == 0, unless !simple. - -2020-05-11 Harald Anlauf - - PR fortran/95053 - * arith.c (gfc_divide): Do not error out if operand 2 is - non-numeric. Defer checks to later stage. - -2020-05-11 Tobias Burnus - - PR fortran/94672 - * trans.h (gfc_conv_expr_present): Add use_saved_decl=false argument. - * trans-expr.c (gfc_conv_expr_present): Likewise; use DECL directly - and only if use_saved_decl is true, use the actual PARAM_DECL arg (saved - descriptor). - * trans-array.c (gfc_trans_dummy_array_bias): Set local 'arg.0' - variable to NULL if 'arg' is not present. - * trans-openmp.c (gfc_omp_check_optional_argument): Simplify by checking - 'arg.0' instead of the true PARM_DECL. - (gfc_omp_finish_clause): Remove setting 'arg.0' to NULL. - -2020-05-11 Janus Weil - Dominique d'Humieres - - PR fortran/59107 - * gfortran.h: Rename field resolved as resolve_symbol_called - and assign two 2 bits instead of 1. - * interface.c (check_dtio_interface1): Use new field name. - (gfc_find_typebound_dtio_proc): Use new field name. - * resolve.c (gfc_resolve_intrinsic): Replace check of the formal - field with resolve_symbol_called is at least 2, if it is not - set the field to 2. (resolve_typebound_procedure): Use new field - name. (resolve_symbol): Use new field name and check whether it - is at least 1, if it is not set the field to 1. - -2020-05-10 Harald Anlauf - - PR fortran/93499 - * arith.c (gfc_divide): Catch division by zero. - (eval_intrinsic_f3): Safeguard for NULL operands. - -2020-05-05 Steve Kargl - Harald Anlauf - - PR fortran/93366 - * check.c (gfc_check_associated, invalid_null_arg): Factorize - check for presence of invalid NULL() argument. - (gfc_check_kind, gfc_check_merge, gfc_check_shape) - (gfc_check_sizeof, gfc_check_spread, gfc_check_transfer): Use this - check for presence of invalid NULL() arguments. - -2020-04-29 Stefan Schulze Frielinghaus - - PR fortran/94769 - * io.c (check_io_constraints): Initialize local variable num to - -1 and assert that it receives a meaningful value by function - compare_to_allowed_values. - -2020-04-27 Thomas Koenig - - PR fortran/93956 - PR fortran/94788 - * expr.c (gfc_check_pointer_assign): Revert patch for PR 93956. - * interface.c: Likewise. - -2020-04-25 Thomas Koenig - - PR fortran/94578 - * trans-expr.c (arrayfunc_assign_needs_temporary): If the - LHS is a subref pointer, we also need a temporary. - -2020-04-23 Thomas Koenig - - PR fortran/93956 - * expr.c (gfc_check_pointer_assign): Also set subref_array_pointer - when a function returns a pointer. - * interface.c (gfc_set_subref_array_pointer_arg): New function. - (gfc_procedure_use): Call it. - -2020-04-22 Fritz Reese - - * trigd_fe.inc: Use mpfr to compute cosd(30) rather than a host- - precision floating point literal based on an invalid macro. - -2020-04-22 José Rui Faustino de Sousa - - PR fortran/90350 - * simplify.c (simplify_bound): In the case of assumed-size arrays - check if the reference is to a full array. - -2020-04-22 Tobias Burnus - - PR fortran/94709 - * scanner.c (load_line): In fixed form, also treat 'C' as comment and - 'D'/'d' only with -fd-lines-as-comments. Treat '!$' with -fopenmp, - '!$acc' with -fopenacc and '!GCC$' as non-comment to permit - and truncation warnings. - -2020-04-20 Thomas Koenig - - * dump-parse-tree.c (show_attr): Add numerous flags, some cleanup. - -2020-04-20 Harald Anlauf - - PR fortran/93364 - * array.c (gfc_set_array_spec): Check for sum of rank and corank - not exceeding GFC_MAX_DIMENSIONS. - -2020-04-20 Steve Kargl - Thomas Koenig - - PR fortran/91800 - * decl.c (variable_decl): Reject Hollerith constants as type - initializer. - -2020-04-19 Thomas Koenig - - PR fortran/93500 - * resolve.c (resolve_operator): If both operands are - NULL, return false. - * simplify.c (simplify_bound): If a division by zero - was seen during bound simplification, free the - corresponcing expression and return &gfc_bad_expr. - -2020-04-17 Thomas Koenig - - PR fortran/94090 - * gfortran.dg (gfc_compare_interfaces): Add - optional argument bad_result_characteristics. - * interface.c (gfc_check_result_characteristics): Fix - whitespace. - (gfc_compare_interfaces): Handle new argument; return - true if function return values are wrong. - * resolve.c (resolve_global_procedure): Hard error if - the return value of a function is wrong. - -2020-04-15 Fritz Reese - Linus Koenig - - PR fortran/94192 - * simplify.c (simplify_bound): Simplify condition for error check. - -2020-04-14 Tobias Burnus - - * module.c (gfc_match_use): Fix name-conflict check for use-associating - the same symbol again in a submodule. - -2020-04-13 Linus Koenig - - PR fortran/94192 - * resolve.c (resolve_fl_var_and_proc): Set flag "error" to 1 if - pointer is found to not have an assumed rank or a deferred shape. - * simplify.c (simplify_bound): If an error has been issued for a - given pointer, one should not attempt to find its bounds. - -2020-04-09 Fritz Reese - - PR fortran/87923 - * gfortran.h (gfc_resolve_open, gfc_resolve_close): Add - locus parameter. - (gfc_resolve_dt): Add code parameter. - * io.c (async_io_dt, check_char_variable, is_char_type): Removed. - (resolve_tag_format): Add locus to error message regarding - zero-sized array in FORMAT tag. - (check_open_constraints, check_close_constraints): New functions - called at resolution time. - (gfc_match_open, gfc_match_close, match_io): Move checks which don't - affect the match result to new functions check_open_constraints, - check_close_constraints, check_io_constraints. - (gfc_resolve_open, gfc_resolve_close): Call new functions - check_open_constraints, check_close_constraints after all tags have - been independently resolved. Remove duplicate constraints which are - already verified by resolve_tag. Explicitly pass locus to all error - reports. - (compare_to_allowed_values): Add locus parameter and provide - explicit locus all error reports. - (match_open_element, match_close_element, match_file_element, - match_dt_element, match_inquire_element): Remove redundant special - cases for ASYNCHRONOUS and IOMSG tags. - (gfc_resolve_dt): Remove redundant special case for format - expression. Call check_io_constraints, forwarding an I/O list as - the io_code parameter if present. - (check_io_constraints): Change return type to bool. Pass explicit - locus to error reports. Move generic checks after tag-specific - checks, since errors are no longer buffered. Move simplification of - format string to match_io. Remove redundant checks which are - verified by resolve_tag. Remove usage of async_io_dt flag and - explicitly mark symbols used in asynchronous I/O with the - asynchronous attribute. - * resolve.c (resolve_transfer, resolve_fl_namelist): Remove checks - for async_io_dt flag. This is now done in io.c. - (check_io_constraints). - (gfc_resolve_code): Pass code locus to gfc_resolve_open, - gfc_resolve_close, gfc_resolve_dt. - -2020-04-07 Fritz Reese - Steven G. Kargl - - PR fortran/93871 - * gfortran.h (GFC_ISYM_ACOSD, GFC_ISYM_ASIND, GFC_ISYM_ATAN2D, - GFC_ISYM_ATAND, GFC_ISYM_COSD, GFC_ISYM_COTAND, GFC_ISYM_SIND, - GFC_ISYM_TAND): New. - * intrinsic.c (add_functions): Remove check for flag_dec_math. - Give degree trig functions simplification and name resolution - functions (e.g, gfc_simplify_atrigd () and gfc_resolve_atrigd ()). - (do_simplify): Remove special casing of degree trig functions. - * intrinsic.h (gfc_simplify_acosd, gfc_simplify_asind, - gfc_simplify_atand, gfc_simplify_cosd, gfc_simplify_cotand, - gfc_simplify_sind, gfc_simplify_tand, gfc_resolve_trigd2): Add new - prototypes. - (gfc_simplify_atrigd, gfc_simplify_trigd, gfc_resolve_cotan, - resolve_atrigd): Remove prototypes of deleted functions. - * iresolve.c (is_trig_resolved, copy_replace_function_shallow, - gfc_resolve_cotan, get_radians, get_degrees, resolve_trig_call, - gfc_resolve_atrigd, gfc_resolve_atan2d): Delete functions. - (gfc_resolve_trigd, gfc_resolve_trigd2): Resolve to library functions. - * simplify.c (rad2deg, deg2rad, gfc_simplify_acosd, gfc_simplify_asind, - gfc_simplify_atand, gfc_simplify_atan2d, gfc_simplify_cosd, - gfc_simplify_sind, gfc_simplify_tand, gfc_simplify_cotand): New - functions. - (gfc_simplify_atan2): Fix error message. - (simplify_trig_call, gfc_simplify_trigd, gfc_simplify_atrigd, - radians_f): Delete functions. - * trans-intrinsic.c: Add LIB_FUNCTION decls for sind, cosd, tand. - (rad2deg, gfc_conv_intrinsic_atrigd, gfc_conv_intrinsic_cotan, - gfc_conv_intrinsic_cotand, gfc_conv_intrinsic_atan2d): New functions. - (gfc_conv_intrinsic_function): Handle ACOSD, ASIND, ATAND, COTAN, - COTAND, ATAN2D. - * trigd_fe.inc: New file. Included by simplify.c to implement - simplify_sind, simplify_cosd, simplify_tand with code common to the - libgfortran implementation. - -2020-04-06 Steven G. Kargl - - PR fortran/93686 - * decl.c (gfc_match_data): Handle data matching for derived type - pointers. - -2020-04-02 Tobias Burnus - - * gfortran.h (gfc_resolve_formal_arglist): Add prototype. - * interface.c (check_dtio_interface1): Call it. - * resolve.c (gfc_resolve_formal_arglist): Renamed from - resolve_formal_arglist, removed static. - (find_arglists, resolve_types): Update calls. - -2020-04-02 Tobias Burnus - - PR fortran/93522 - * match.c (gfc_match_select_rank): Fix error cleanup. - -2020-04-02 Steven G. Kargl - - PR fortran/93498 - * check.c (gfc_check_findloc): If the kinds of the arguments - differ goto label "incompat". - -2020-04-02 Steven G. Kargl - - PR fortran/94030 - * resolve.c (resolve_equivalence): Correct formatting - around the label "identical_types". Instead of using - gfc_resolve_array_spec use is_non_constants_shape_array - to determine whether the array can be used in a in an - equivalence statement. - -2020-04-01 Mark Eggleston - - PR fortran/94386 - expr.c (simplify_parameter_variable): Restore code deleted - in PR94246. - -2020-03-28 Paul Thomas - - PR fortran/94246 - * arith.c : Remove trailing white space. - * expr.c (scalarize_intrinsic_call): Remove the error checking. - Make a copy of the expression to be simplified and only replace - the original if the simplification succeeds. - -2020-03-28 Tobias Burnus - - PR fortran/94348 - * decl.c (gfc_match_submod_proc): Add result var to the - proc's namespace. - -2020-03-27 Tobias Burnus - - PR fortran/93957 - * trans-array.c (gfc_alloc_allocatable_for_assignment): Accept - nonallocatable, nonpointer deferred-rank arrays. - -2020-03-27 Tobias Burnus - - PR fortran/93363 - * resolve.c (resolve_assoc_var): Reject association to DT and - function name. - -2020-03-25 Steven G. Kargl - - PR fortran/93484 - * match.c (gfc_match_type_spec): Replace gfc_match_init_expr with - gfc_match_expr. Return m if m is MATCH_NO or MATCH_ERROR. - -2020-03-23 Mark Eggleston - Steven G. Kargl - - PR fortran/93600 - * expr.c (simplify_parameter_variable): Check whether the ref - chain contains INQUIRY_LEN or INQUIRY_KIND and set inquiry - boolean. When an empty array has been identified and a new - new EXPR_ARRAY expression has been created only return that - expression if inquiry is not set. This allows the new - expression to drop through to be simplified into a - EXPR_CONSTANT representing %kind or %len. - * matc.c (gfc_match_assignment): If lvalue doesn't have a - symtree free both lvalue and rvalue expressions and return - an error. - * resolv.c (gfc_resolve_ref): Ensure that code to handle - INQUIRY_LEN is only performed for arrays with deferred types. - -2020-03-18 Jakub Jelinek - - * class.c (generate_finalization_wrapper): Fix up duplicated word - issue in a comment. - * trans-types.c (gfc_get_nodesc_array_type): Likewise. - -2020-03-17 Jakub Jelinek - - * array.c (gfc_check_iter_variable): Fix up duplicated word issue - in a comment. - * arith.c (gfc_arith_concat): Likewise. - * resolve.c (gfc_resolve_ref): Likewise. - * frontend-passes.c (matmul_lhs_realloc): Likewise. - * module.c (gfc_match_submodule, load_needed): Likewise. - * trans-expr.c (gfc_init_se): Likewise. - -2020-03-15 Lewis Hyatt - - * lang.opt: Avoid redundancy in the help text. - -2020-03-12 Tobias Burnus - - PR middle-end/94120 - * openmp.c (gfc_match_oacc_declare): Accept function-result - variables; reject variables declared in a different scoping unit. - -2020-03-08 Paul Thomas - - PR fortran/93581 - * resolve.c (gfc_resolve_ref): Modify array refs to be elements - if the ref chain ends in INQUIRY_LEN. - * trans-array.c (gfc_get_dataptr_offset): Provide the offsets - for INQUIRY_RE and INQUIRY_IM. - -2020-03-05 Steven G. Kargl - - PR fortran/93792 - * decl.c (variable_decl): If param and initializer check - for BOZ, if found, output an error, set m to MATCH_ERROR - and goto cleanup. - -2020-03-02 Andrew Benson - - PR fortran/93486 - * module.c: Increase size of variables used to read module names - when loading interfaces from module files to permit cases where - the name is the concatenation of a module and submodule name. - * gfortran.dg/pr93486.f90: New test. - -2020-03-01 Paul Thomas - - PR fortran/92976 - * match.c (select_type_set_tmp): If the selector array spec has - explicit bounds, make the temporary's bounds deferred. - -2020-03-01 Paul Thomas - - PR fortran/92959 - * trans-intrinsic.c (gfc_conv_associated): Eliminate - 'nonzero_charlen' and move the chunk to evaluate zero character - length until after the argument evaluation so that the string - length can be used. - -2020-02-28 Paul Thomas - - PR fortran/92785 - * trans-expr.c (gfc_conv_intrinsic_to_class): Renormalise non- - variable expressions to be unity lbound based. - -2020-02-25 Steven G. Kargl - - * simplify.c (degrees_f): Remove unused code. - -2020-02-25 Jakub Jelinek - - PR translation/93864 - * intrinsic.texi (CO_BROADCAST): Fix typo, paramter -> parameter. - * trans-array.c (gfc_allocate_pdt_comp, gfc_deallocate_pdt_comp, - gfc_check_pdt_dummy): Fix comment typo paramter -> parameter. - -2020-02-24 Mark Eggleston - Steven G. Kargl - - PR fortran/93835 - * decl.c (gfc_match_data) : Check whether the data expression - is a derived type and is a constructor. If a BOZ constant - is encountered in the constructor output an error and return - MATCH_ERROR. - -2020-02-24 Steven G. Kargl - - PR fortran/93604 - * decl.c (gfc_match_data) : Check whether the data expression - is a derived type and is a constructor. If a BOZ constant - is encountered in the constructor output an error and return - MATCH_ERROR. - -2020-02-24 Tobias Burnus - - PR fortran/93552 - * match.c (match_exit_cycle): With OpenACC, check the kernels loop - directive and tile clause as well. - -2020-02-23 Thomas Koenig - - PR fortran/93889 - * interface.c (compare_parameter): Fix error message. - -2020-02-23 Thomas Koenig - - PR fortran/93890 - * interface.c: Replace "can not" by "cannot" and remove trailing - space. - -2020-02-20 Tobias Burnus - - PR fortran/93825 - * openmp.c (resolve_oacc_loop_blocks): Move call to - resolve_oacc_nested_loops from here ... - (resolve_oacc_loop): ... to here. - -2020-02-18 Mark Eggleston - - PR fortran/93714 - * expr.c (gfc_check_pointer_assign): Move check for - matching character length to after checking the lvalue - attributes for target or pointer. - -2020-02-18 Steven G. Kargl - - PR fortran/93601 - * match.c (gfc_match_assignment) : Reject assignment if - the lhs stype is BT_CLASS and the rhs type is BT_BOZ. - -2020-02-18 Steven G. Kargl - - PR fortran/93603 - * match.c (gfc_match_associate) : If target expression - has the type BT_BOZ output an error and goto - assocListError. - -2020-02-18 Steven G. Kargl - Mark Eggleston - - PR fortran/93580 - * primary.c (gfc_match_varspec): If the symbol following % - is re or im and the primary expression type is not BT_COMPLEX - issue an error. If the symbol is len and the primary - expression type is not BT_CHARACTER is an error. - -2020-02-10 Andrew Benson - - PR fortran/83113 - * array.c: Do not attempt to set the array spec for a submodule - function symbol (as it has already been set in the corresponding - module procedure interface). - * symbol.c: Do not reject duplicate POINTER, ALLOCATABLE, or - DIMENSION attributes in declarations of a submodule function. - * gfortran.h: Add a macro that tests for a module procedure in a - submodule. - * gfortran.dg/pr83113.f90: New test. - -2020-02-03 Julian Brown - Tobias Burnus - - * cpp.c (cpp_define_builtins): Update _OPENACC define to 201711. - * intrinsic.texi: Update mentions of OpenACC version to 2.6. - * gfortran.texi: Likewise. Remove experimental disclamer for OpenACC. - * invoke.texi: Remove experimental disclamer for OpenACC. - -2020-02-03 Tobias Burnus - - PR fortran/93541 - * intrinisic.texi (OpenMP Modules OMP_LIB and OMP_LIB_KINDS): - Add undocumented parameters from omp_lib.f90.in. - -2020-02-03 Tobias Burnus - - PR fortran/93427 - * resolve.c (resolve_assoc_var): Remove too strict check. - * gfortran.dg/associate_51.f90: Update test case. - -2020-02-01 Jakub Jelinek - - PR fortran/92305 - * trans-types.c (gfc_get_function_type): Also push boolean_type_node - types for non-character scalar VALUE optional dummy arguments. - * trans-decl.c (create_function_arglist): Skip those in - hidden_typelist. Formatting fix. - -2020-01-31 Tobias Burnus - - PR fortran/93462 - * frontend-passes.c (gfc_code_walker): For EXEC_OACC_ATOMIC, set - in_omp_atomic to true prevent front-end optimization. - -2020-01-30 Bernhard Reutner-Fischer - - PR fortran/87103 - * expr.c (gfc_check_conformance): Check vsnprintf for truncation. - * iresolve.c (gfc_get_string): Likewise. - * symbol.c (gfc_new_symbol): Remove check for maximum symbol - name length. Remove redundant 0 setting of new calloc()ed - gfc_symbol. - -2020-01-30 Paul Thomas   - Jakub Jelinek - - PR fortran/92123 - * trans-decl.c (gfc_get_symbol_decl): Call gfc_defer_symbol_init for - CFI descs. - (gfc_build_builtin_function_decls): Use ".w." instead of ".ww" or ".wR" - for gfor_fndecl_{cfi_to_gfc,gfc_to_cfi}. - (convert_CFI_desc): Handle references to CFI descriptors. - -2020-01-29 Jakub Jelinek - - PR fortran/93463 - * openmp.c (oacc_code_to_statement): Handle - EXEC_OACC_{ROUTINE,UPDATE,WAIT,CACHE,{ENTER,EXIT}_DATA,DECLARE}. - -2020-01-28 Andrew Benson - - PR fortran/93461 - * trans.h: Increase GFC_MAX_MANGLED_SYMBOL_LEN to - GFC_MAX_SYMBOL_LEN*3+5 to allow for inclusion of submodule name, - plus the "." between module and submodule names. - * gfortran.dg/pr93461.f90: New test. - -2020-01-28 Andrew Benson - - PR fortran/93473 - * parse.c: Increase length of char variables to allow them to hold - a concatenated module + submodule name. - * gfortran.dg/pr93473.f90: New test. - -2020-01-28 Julian Brown - - PR fortran/93025 - * openmp.c (resolve_omp_clauses): Check array references for contiguity. - -2020-01-28 Julian Brown - - * gfortran.h (gfc_symbol): Add comp_mark bitfield. - * openmp.c (resolve_omp_clauses): Disallow mixed component and - full-derived-type accesses to the same variable within a single - directive. - -2020-01-28 Tobias Burnus - - PR fortran/93464 - * openmp.c (gfc_omp_check_optional_argument): Avoid ICE when - DECL_LANG_SPECIFIC and GFC_DESCRIPTOR_TYPE_P but not - GFC_DECL_SAVED_DESCRIPTOR as for local allocatable character vars. - -2020-01-28 Tobias Burnus - - * gfortran.texi (Runtime): Remove tailing '.' in @menu. - -2020-01-27 Tobias Burnus - - PR fortran/85781 - * trans-expr.c (gfc_conv_substring): Handle non-ARRAY_TYPE strings - of Bind(C) procedures. - -2020-01-22 Jakub Jelinek - - * parse.c (parse_omp_structured_block): Handle ST_OMP_TARGET_PARALLEL. - * trans-openmp.c (gfc_trans_omp_target) - : Call pushlevel first. - - PR fortran/93329 - * openmp.c (omp_code_to_statement): Handle remaining EXEC_OMP_* - cases. - -2020-01-21 Tobias Burnus - - PR fortran/93309 - * interface.c (gfc_procedure_use): Also check parent namespace for - 'implict none (external)'. - * symbol.c (gfc_get_namespace): Don't set has_implicit_none_export - to parent namespace's setting. - -2020-01-19 Thomas König - - PR fortran/44960 - * primary.c (gfc_match_rvalue): Break after setting MATCH_ERROR. - * resolve.c (resolve_function): Issue error when a - function call contains a reference. - -2020-01-17 Mark Eggleston - - PR fortran/93236 - * resolve.c (resolve_types): Declare boolean recursive and set with the - value of the recursive attribute of namespace proc_name symbol - structure if it exists. Call gfc_save_all if both flag_automatic and - recursive are false or ns->save_all is true. - -2020-01-16 Tobias Burnus - - PR fortran/93253 - * check.c (gfc_invalid_boz): Mention -fallow-invalid-boz - in the error message. - * gfortran.texi (BOZ literal constants): List another missing - extension and refer to -fallow-invalid-boz. - * lang.opt (fallow-invalid-boz): Also mention 'X' in the help text - as it is not covered by the previous wording. - * primary.c (match_boz_constant): Tweak wording such that it is - clear how to fix the nonstandard use. - -2020-01-09 Thomas Koenig - - PR fortran/65428 - * array.c (empty_constructor): New variable. - (empty_ts): New variable. - (expand_constructor): Save typespec in empty_ts. - Unset empty_constructor if there is an element. - (gfc_expand_constructor): Initialize empty_constructor - and empty_ts. If there was no explicit constructor - type and the constructor is empty, take the type from - empty_ts. - -2020-01-09 Tobias Burnus - - PR fortran/84135 - * array.c (gfc_set_array_spec): Fix shifting of codimensions - when adding a dimension. - * decl.c (merge_array_spec): Ditto. Fix using correct codimensions. - -2020-01-07 Jakub Jelinek - - PR fortran/93162 - * trans-openmp.c (gfc_trans_omp_clauses): Check for REF_ARRAY type - before testing u.ar.type == AR_FULL. - -2020-01-04 Tobias Burnus - - PR fortran/91640 - * trans-expr.c (gfc_conv_procedure_call): Avoid copy-out for nonvariable - arguments to contiguous dummy args. Avoid re-checking whether fsym is - NULL. - -2020-01-03 Tobias Burnus - - * trans-openmp.c (gfc_omp_check_optional_argument): Always return a - Boolean expression; handle unallocated/disassociated actual arguments - as absent if passed to nonallocatable/nonpointer dummy array arguments. - (gfc_build_cond_assign): Change to assume a Boolean expr not a pointer. - (gfc_omp_finish_clause, gfc_trans_omp_clauses): Assign NULL to generated - array-data variable if the argument is absent. Simplify code as - 'present' is now a Boolean expression. - -2020-01-03 Tobias Burnus - - PR fortran/92994 - * primary.c (gfc_match_rvalue): Add some flavor checks - gfc_matching_procptr_assignment. - * resolve.c (resolve_assoc_var): Add more checks for invalid targets. - -2020-01-02 Tobias Burnus - - PR fortran/68020 - * array.c (gfc_match_array_spec): Fix implied-type matching - for rank > 2. - -2020-01-01 Thomas Koenig - - PR fortran/93113 - * dependency.c (gfc_dep_resolver): Handle REF_INQUIRY in switch - for ref types. - -2020-01-01 Jakub Jelinek - - Update copyright years. - - * 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. -Copyright (C) 2020 Free Software Foundation, Inc. +Copyright (C) 2021 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 31879d2e998..21e8799b653 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,29083 +1,5 @@ -2020-12-31 Jakub Jelinek - - PR testsuite/98489 - PR tree-optimization/56719 - * gcc.dg/tree-ssa/pr56719.c: Remove semicolon from - scan-tree-dump-times regexps. - -2020-12-31 Richard Sandiford - - PR tree-optimization/98302 - * gcc.dg/vect/pr98302.c: New test. - -2020-12-31 Richard Sandiford - - PR tree-optimization/94994 - * gcc.dg/vect/pr94994.c: New test. - -2020-12-31 Richard Sandiford - - PR rtl-optimization/98214 - * gcc.target/aarch64/sve/pr98214.c: New file. - -2020-12-31 Jakub Jelinek - - PR tree-optimization/94802 - * gcc.dg/tree-ssa/pr94802-1.c: New test. - -2020-12-31 Jakub Jelinek - - PR tree-optimization/94785 - * gcc.dg/tree-ssa/pr94785.c: New test. - -2020-12-31 Jakub Jelinek - - PR tree-optimization/98474 - * gcc.c-torture/execute/pr98474.c: New test. - -2020-12-31 Jakub Jelinek - - PR c++/98206 - * g++.dg/ubsan/align-4.C: New test. - -2020-12-31 Jakub Jelinek - - PR tree-optimization/56719 - * gcc.dg/tree-ssa/pr56719.c: New test. - -2020-12-30 Jakub Jelinek - - PR target/98461 - * gcc.target/i386/sse2-pr98461.c: New test. - * gcc.target/i386/avx2-pr98461.c: New test. - -2020-12-29 Paul Thomas - - PR fortran/97612 - * gfortran.dg/structure_constructor_17.f90: New test. - -2020-12-29 Paul Thomas - - PR fortran/93833 - * gfortran.dg/deferred_character_36.f90 : New test. - -2020-12-29 Claudiu Zissulescu - - * gcc.target/arc/loop-3.c: Update test pattern. - -2020-12-29 Vladimir Isaev - - * gcc.target/arc/uncached-9.c: New test. - -2020-12-28 Uroš Bizjak - - PR target/96793 - * gcc.target/i386/pr96793-2.c: New test. - -2020-12-28 Hongyu Wang - - * gcc.target/i386/pr92658-avx2-2.c: New test. - * gcc.target/i386/pr92658-avx512bw-2.c: Likewise. - * gcc.target/i386/pr92658-sse4-2.c: Likewise. - -2020-12-27 Jeff Law - - * gcc.dg/tree-ssa/asm-2.c: Use different register for iq2000. - * gcc.dg/tree-ssa/asm-3.c: Likewise. - -2020-12-27 Paul Thomas - - PR fortran/97694 - PR fortran/97723 - * gfortran.dg/select_rank_5.f90: New test. - -2020-12-26 Iain Sandoe - - PR c++/96045 - * obj-c++.dg/property/property-neg-6.mm: Adjust EOF - diagnostic location. - * obj-c++.dg/syntax-error-10.mm: Likewise. - * obj-c++.dg/syntax-error-8.mm: Likewise. - * obj-c++.dg/syntax-error-9.mm: Likewise. - -2020-12-26 Paul Thomas - - PR fortran/98022 - * gfortran.dg/data_inquiry_ref.f90: Change to dg-compile and - add errors for inquiry references. - -2020-12-25 Harald Anlauf - - * gfortran.dg/pr93685_1.f90: New test. - * gfortran.dg/pr93685_2.f90: New test. - -2020-12-23 Martin Sebor - - PR middle-end/98160 - * g++.dg/warn/pr98160.C: New test. - -2020-12-23 Martin Sebor - - PR c++/98413 - * g++.dg/warn/pr98413.C: New test. - -2020-12-23 Joel Brobecker - - * gcc.target/arm/data-rel-1.c: Require "fpic" support. - * gcc.target/arm/data-rel-2.c: Likewise. - * gcc.target/arm/data-rel-3.c: Ditto. - * gcc.target/arm/pr44788.c: Ditto. - * gcc.target/arm/pr52006.c: Ditto. - * gcc.target/arm/pr59858.c: Ditto. - * gcc.target/arm/tlscall.c: Ditto. - * gcc.target/arm/require-pic-register-loc.c: Ditto. - Adjust line numbers. - -2020-12-23 Nathan Sidwell - - PR c++/96045 - * g++.dg/diagnostic/pr96045-1.C: New. - * g++.dg/diagnostic/pr96045-2.C: New. - * g++.dg/diagnostic/pr96045-3.C: New. - * c-c++-common/goacc/pr79428-1.c: Adjust EOF diagnostic location. - * c-c++-common/gomp/pr79428-2.c: Likewise - * c-c++-common/raw-string-6.c: Likewise - * g++.dg/cpp0x/decltype63.C: Likewise - * g++.dg/cpp0x/gen-attrs-64.C: Likewise - * g++.dg/cpp0x/pr68726.C: Likewise - * g++.dg/cpp0x/pr78341.C: Likewise - * g++.dg/cpp1y/pr65202.C: Likewise - * g++.dg/cpp1y/pr65340.C: Likewise - * g++.dg/cpp1y/pr68578.C: Likewise - * g++.dg/cpp1z/class-deduction44.C: Likewise - * g++.dg/diagnostic/unclosed-extern-c.C: Likewise - * g++.dg/diagnostic/unclosed-function.C: Likewise - * g++.dg/diagnostic/unclosed-namespace.C: Likewise - * g++.dg/diagnostic/unclosed-struct.C: Likewise - * g++.dg/ext/pr84598.C: Likewise - * g++.dg/other/switch4.C: Likewise - * g++.dg/parse/attr4.C: Likewise - * g++.dg/parse/cond4.C: Likewise - * g++.dg/parse/crash10.C: Likewise - * g++.dg/parse/crash18.C: Likewise - * g++.dg/parse/crash27.C: Likewise - * g++.dg/parse/crash34.C: Likewise - * g++.dg/parse/crash35.C: Likewise - * g++.dg/parse/crash52.C: Likewise - * g++.dg/parse/crash59.C: Likewise - * g++.dg/parse/crash61.C: Likewise - * g++.dg/parse/crash67.C: Likewise - * g++.dg/parse/error14.C: Likewise - * g++.dg/parse/error56.C: Likewise - * g++.dg/parse/invalid1.C: Likewise - * g++.dg/parse/parameter-declaration-1.C: Likewise - * g++.dg/parse/parser-pr28152-2.C: Likewise - * g++.dg/parse/parser-pr28152.C: Likewise - * g++.dg/parse/pr68722.C: Likewise - * g++.dg/parse/pr96258.C: Likewise - * g++.dg/pr46852.C: Likewise - * g++.dg/pr46868.C: Likewise - * g++.dg/template/crash115.C: Likewise - * g++.dg/template/crash43.C: Likewise - * g++.dg/template/crash90.C: Likewise - * g++.dg/template/error-recovery1.C: Likewise - * g++.dg/template/error57.C: Likewise - * g++.old-deja/g++.other/crash31.C: Likewise - -2020-12-23 Jason Merrill - - PR c++/97597 - * g++.dg/init/empty3.C: New test. - -2020-12-23 Jason Merrill - - * g++.dg/cpp0x/constexpr-overflow3.C: Use INT_MAX. - -2020-12-23 Jason Merrill - - PR c++/98332 - * g++.dg/cpp0x/constexpr-overflow3.C: New test. - -2020-12-23 Iain Buclaw - - PR d/98427 - * gdc.dg/pr98427.d: New test. - -2020-12-23 Uroš Bizjak - - PR target/96793 - * gcc.target/i386/pr96793-1.c: New test. - -2020-12-22 Nathan Sidwell - - * g++.dg/modules/access-1_a.C: New.: New. - * g++.dg/modules/access-1_b.C: New. - * g++.dg/modules/access-1_c.C: New. - * g++.dg/modules/adhoc-1_a.C: New. - * g++.dg/modules/adhoc-1_b.C: New. - * g++.dg/modules/adl-1_a.C: New. - * g++.dg/modules/adl-1_b.C: New. - * g++.dg/modules/adl-1_c.C: New. - * g++.dg/modules/adl-2_a.C: New. - * g++.dg/modules/adl-2_b.C: New. - * g++.dg/modules/adl-2_c.C: New. - * g++.dg/modules/adl-3_a.C: New. - * g++.dg/modules/adl-3_b.C: New. - * g++.dg/modules/adl-3_c.C: New. - * g++.dg/modules/adl-4_a.C: New. - * g++.dg/modules/adl-4_b.C: New. - * g++.dg/modules/adl-5_a.c: New. - * g++.dg/modules/adl-5_b.C: New. - * g++.dg/modules/adl-5_c.C: New. - * g++.dg/modules/adl-5_d.C: New. - * g++.dg/modules/alias-1_a.H: New. - * g++.dg/modules/alias-1_b.C: New. - * g++.dg/modules/alias-1_c.C: New. - * g++.dg/modules/alias-1_d.C: New. - * g++.dg/modules/alias-1_e.C: New. - * g++.dg/modules/alias-1_f.C: New. - * g++.dg/modules/alias-2_a.H: New. - * g++.dg/modules/alias-2_b.C: New. - * g++.dg/modules/align-type-1_a.C: New. - * g++.dg/modules/align-type-1_b.C: New. - * g++.dg/modules/ambig-1_a.C: New. - * g++.dg/modules/ambig-1_b.C: New. - * g++.dg/modules/anon-1_a.C: New. - * g++.dg/modules/anon-1_b.C: New. - * g++.dg/modules/anon-1_c.C: New. - * g++.dg/modules/anon-2.h: New. - * g++.dg/modules/anon-2_a.H: New. - * g++.dg/modules/anon-2_b.C: New. - * g++.dg/modules/atom-decl-0_a.C: New. - * g++.dg/modules/atom-decl-0_b.C: New. - * g++.dg/modules/atom-decl-0_c.C: New. - * g++.dg/modules/atom-decl-2.C: New. - * g++.dg/modules/atom-decl-3.C: New. - * g++.dg/modules/atom-pragma-1.C: New. - * g++.dg/modules/atom-pragma-3.C: New. - * g++.dg/modules/atom-preamble-1.C: New. - * g++.dg/modules/atom-preamble-2_a.C: New. - * g++.dg/modules/atom-preamble-2_b.C: New. - * g++.dg/modules/atom-preamble-2_c.C: New. - * g++.dg/modules/atom-preamble-2_d.C: New. - * g++.dg/modules/atom-preamble-2_e.C: New. - * g++.dg/modules/atom-preamble-2_f.C: New. - * g++.dg/modules/atom-preamble-3.C: New. - * g++.dg/modules/atom-preamble-4.C: New. - * g++.dg/modules/auto-1.h: New. - * g++.dg/modules/auto-1_a.H: New. - * g++.dg/modules/auto-1_b.C: New. - * g++.dg/modules/auto-2.h: New. - * g++.dg/modules/auto-2_a.H: New. - * g++.dg/modules/auto-2_b.C: New. - * g++.dg/modules/bad-mapper-1.C: New. - * g++.dg/modules/bad-mapper-2.C: New. - * g++.dg/modules/bad-mapper-3.C: New. - * g++.dg/modules/ben-1.map: New. - * g++.dg/modules/ben-1_a.C: New. - * g++.dg/modules/ben-1_b.C: New. - * g++.dg/modules/bfield-1_a.C: New. - * g++.dg/modules/bfield-1_b.C: New. - * g++.dg/modules/bfield-2_a.C: New. - * g++.dg/modules/bfield-2_b.C: New. - * g++.dg/modules/bool-1.h: New. - * g++.dg/modules/bool-1_a.H: New. - * g++.dg/modules/bool-1_b.H: New. - * g++.dg/modules/bool-1_c.C: New. - * g++.dg/modules/bug-1_a.C: New. - * g++.dg/modules/bug-1_b.C: New. - * g++.dg/modules/builtin-1_a.C: New. - * g++.dg/modules/builtin-1_b.C: New. - * g++.dg/modules/builtin-2.C: New. - * g++.dg/modules/builtin-3_b.C: New. - * g++.dg/modules/builtin-4_a.H: New. - * g++.dg/modules/builtin-4_b.C: New. - * g++.dg/modules/builtin-5_a.H: New. - * g++.dg/modules/builtin-5_b.C: New. - * g++.dg/modules/builtin-6_a.H: New. - * g++.dg/modules/builtin-6_b.C: New. - * g++.dg/modules/builtin-7_a.H: New. - * g++.dg/modules/builtin-7_b.C: New. - * g++.dg/modules/by-name-1.C: New. - * g++.dg/modules/cexpr-1_a.C: New. - * g++.dg/modules/cexpr-1_b.C: New. - * g++.dg/modules/cexpr-2_a.C: New. - * g++.dg/modules/cexpr-2_b.C: New. - * g++.dg/modules/circ-1_a.C: New. - * g++.dg/modules/circ-1_b.C: New. - * g++.dg/modules/circ-1_c.C: New. - * g++.dg/modules/circ-1_d.C: New. - * g++.dg/modules/class-1_a.C: New. - * g++.dg/modules/class-1_b.C: New. - * g++.dg/modules/class-1_c.C: New. - * g++.dg/modules/class-2_a.C: New. - * g++.dg/modules/class-2_b.C: New. - * g++.dg/modules/class-3_a.C: New. - * g++.dg/modules/class-3_b.C: New. - * g++.dg/modules/class-3_c.C: New. - * g++.dg/modules/class-3_d.C: New. - * g++.dg/modules/class-4_a.C: New. - * g++.dg/modules/class-4_b.C: New. - * g++.dg/modules/class-5_a.C: New. - * g++.dg/modules/class-5_b.C: New. - * g++.dg/modules/class-5_c.C: New. - * g++.dg/modules/class-6_a.C: New. - * g++.dg/modules/class-6_b.C: New. - * g++.dg/modules/class-6_c.C: New. - * g++.dg/modules/class-7_a.C: New. - * g++.dg/modules/class-7_b.C: New. - * g++.dg/modules/class-7_c.C: New. - * g++.dg/modules/class-8_a.C: New. - * g++.dg/modules/class-8_b.C: New. - * g++.dg/modules/clone-1_a.C: New. - * g++.dg/modules/clone-1_b.C: New. - * g++.dg/modules/concept-1_a.C: New. - * g++.dg/modules/concept-1_b.C: New. - * g++.dg/modules/concept-2_a.C: New. - * g++.dg/modules/concept-2_b.C: New. - * g++.dg/modules/concept-3_a.C: New. - * g++.dg/modules/concept-3_b.C: New. - * g++.dg/modules/concept-4.H: New. - * g++.dg/modules/concept-5.h: New. - * g++.dg/modules/concept-5_a.H: New. - * g++.dg/modules/concept-5_b.C: New. - * g++.dg/modules/concept-6.h: New. - * g++.dg/modules/concept-6_a.H: New. - * g++.dg/modules/concept-6_b.C: New. - * g++.dg/modules/constrained-partial-1_a.C: New. - * g++.dg/modules/constrained-partial-1_b.C: New. - * g++.dg/modules/convop-1_a.C: New. - * g++.dg/modules/convop-1_b.C: New. - * g++.dg/modules/cpp-1.C: New. - * g++.dg/modules/cpp-2_a.H: New. - * g++.dg/modules/cpp-2_b.H: New. - * g++.dg/modules/cpp-2_c.C: New. - * g++.dg/modules/cpp-3.C: New. - * g++.dg/modules/cpp-4.C: New. - * g++.dg/modules/cpp-4.h: New. - * g++.dg/modules/cpp-5_a.H: New. - * g++.dg/modules/cpp-5_b.C: New. - * g++.dg/modules/cpp-5_c.C: New. - * g++.dg/modules/cpp-6_a.H: New. - * g++.dg/modules/cpp-6_b.H: New. - * g++.dg/modules/cpp-6_c.C: New. - * g++.dg/modules/debug-1_a.C: New. - * g++.dg/modules/debug-1_b.C: New. - * g++.dg/modules/decomp-1_a.C: New. - * g++.dg/modules/decomp-1_b.C: New. - * g++.dg/modules/deferred-1.h: New. - * g++.dg/modules/deferred-1_a.H: New. - * g++.dg/modules/deferred-1_b.C: New. - * g++.dg/modules/dep-1_a.C: New. - * g++.dg/modules/dep-1_b.C: New. - * g++.dg/modules/dep-2.C: New. - * g++.dg/modules/dep-3.C: New. - * g++.dg/modules/dir-only-1.C: New. - * g++.dg/modules/dir-only-2_a.H: New. - * g++.dg/modules/dir-only-2_b.C: New. - * g++.dg/modules/dir-only-3.C: New. - * g++.dg/modules/dir-only-4.C: New. - * g++.dg/modules/dir-recovery.C: New. - * g++.dg/modules/enum-1_a.C: New. - * g++.dg/modules/enum-1_b.C: New. - * g++.dg/modules/enum-2_a.C: New. - * g++.dg/modules/enum-2_b.C: New. - * g++.dg/modules/enum-3_a.C: New. - * g++.dg/modules/enum-3_b.C: New. - * g++.dg/modules/enum-4_a.C: New. - * g++.dg/modules/enum-4_b.C: New. - * g++.dg/modules/enum-5_a.H: New. - * g++.dg/modules/enum-5_b.C: New. - * g++.dg/modules/enum-6_a.H: New. - * g++.dg/modules/enum-6_b.C: New. - * g++.dg/modules/enum-7.C: New. - * g++.dg/modules/enum-8_a.H: New. - * g++.dg/modules/enum-8_b.H: New. - * g++.dg/modules/enum-8_c.C: New. - * g++.dg/modules/enum-8_d.C: New. - * g++.dg/modules/enum-bad-1_a.H: New. - * g++.dg/modules/enum-bad-1_b.C: New. - * g++.dg/modules/err-1_a.C: New. - * g++.dg/modules/err-1_b.C: New. - * g++.dg/modules/err-1_c.C: New. - * g++.dg/modules/err-1_d.C: New. - * g++.dg/modules/except-1.C: New. - * g++.dg/modules/except-2.h: New. - * g++.dg/modules/except-2_a.H: New. - * g++.dg/modules/except-2_b.C: New. - * g++.dg/modules/except-3.h: New. - * g++.dg/modules/except-3_a.H: New. - * g++.dg/modules/except-3_b.C: New. - * g++.dg/modules/exp-xlate-1_a.H: New. - * g++.dg/modules/exp-xlate-1_b.C: New. - * g++.dg/modules/export-1.C: New. - * g++.dg/modules/extern-tpl-1_a.H: New. - * g++.dg/modules/extern-tpl-1_b.C: New. - * g++.dg/modules/extern-tpl-1_c.C: New. - * g++.dg/modules/extern-tpl-2_a.H: New. - * g++.dg/modules/extern-tpl-2_b.H: New. - * g++.dg/modules/extern-tpl-2_c.C: New. - * g++.dg/modules/extern-tpl-2_d.C: New. - * g++.dg/modules/flag-1_a.C: New. - * g++.dg/modules/flag-1_b.C: New. - * g++.dg/modules/fn-inline-1_a.C: New. - * g++.dg/modules/fn-inline-1_b.C: New. - * g++.dg/modules/fn-inline-1_c.C: New. - * g++.dg/modules/freeze-1_a.C: New. - * g++.dg/modules/freeze-1_b.C: New. - * g++.dg/modules/freeze-1_c.C: New. - * g++.dg/modules/freeze-1_d.C: New. - * g++.dg/modules/friend-1_a.C: New. - * g++.dg/modules/friend-1_b.C: New. - * g++.dg/modules/friend-1_c.C: New. - * g++.dg/modules/friend-2_a.C: New. - * g++.dg/modules/friend-2_b.C: New. - * g++.dg/modules/friend-3.C: New. - * g++.dg/modules/friend-4_a.C: New. - * g++.dg/modules/friend-4_b.C: New. - * g++.dg/modules/friend-5_a.C: New. - * g++.dg/modules/friend-5_b.C: New. - * g++.dg/modules/gc-1_a.C: New. - * g++.dg/modules/gc-1_b.C: New. - * g++.dg/modules/gc-1_c.C: New. - * g++.dg/modules/gc-1_d.C: New. - * g++.dg/modules/gc-2.map: New. - * g++.dg/modules/gc-2_a.C: New. - * g++.dg/modules/global-1_a.C: New. - * g++.dg/modules/global-1_b.C: New. - * g++.dg/modules/gmf-1_a.C: New. - * g++.dg/modules/gmf-1_b.C: New. - * g++.dg/modules/gmf-2_a.H: New. - * g++.dg/modules/gmf-2_b.C: New. - * g++.dg/modules/gmf-2_c.C: New. - * g++.dg/modules/gmf-2_d.C: New. - * g++.dg/modules/gvar_a.C: New. - * g++.dg/modules/gvar_b.C: New. - * g++.dg/modules/hdr-1_a.H: New. - * g++.dg/modules/hdr-1_b.H: New. - * g++.dg/modules/hdr-1_c.C: New. - * g++.dg/modules/hdr-init-1_a.H: New. - * g++.dg/modules/hdr-init-1_b.H: New. - * g++.dg/modules/hdr-init-1_c.C: New. - * g++.dg/modules/horcrux-1_a.C: New. - * g++.dg/modules/horcrux-1_b.C: New. - * g++.dg/modules/ice-1.C: New. - * g++.dg/modules/imp-inline-1_a.C: New. - * g++.dg/modules/imp-inline-1_b.C: New. - * g++.dg/modules/imp-member-1_a.C: New. - * g++.dg/modules/imp-member-1_b.C: New. - * g++.dg/modules/imp-member-1_c.C: New. - * g++.dg/modules/imp-member-1_d.C: New. - * g++.dg/modules/imp-member-1_e.C: New. - * g++.dg/modules/imp-member-2_a.C: New. - * g++.dg/modules/imp-member-2_b.C: New. - * g++.dg/modules/imp-member-2_c.C: New. - * g++.dg/modules/imp-member-3.H: New. - * g++.dg/modules/import-1_a.C: New. - * g++.dg/modules/import-1_b.C: New. - * g++.dg/modules/import-1_c.C: New. - * g++.dg/modules/import-1_d.C: New. - * g++.dg/modules/import-1_e.C: New. - * g++.dg/modules/import-1_f.C: New. - * g++.dg/modules/import-1_g.C: New. - * g++.dg/modules/import-2.C: New. - * g++.dg/modules/inc-xlate-1.map: New. - * g++.dg/modules/inc-xlate-1_a.H: New. - * g++.dg/modules/inc-xlate-1_b.H: New. - * g++.dg/modules/inc-xlate-1_c.C: New. - * g++.dg/modules/inc-xlate-1_e.C: New. - * g++.dg/modules/indirect-1_a.C: New. - * g++.dg/modules/indirect-1_b.C: New. - * g++.dg/modules/indirect-1_c.C: New. - * g++.dg/modules/indirect-2_a.C: New. - * g++.dg/modules/indirect-2_b.C: New. - * g++.dg/modules/indirect-2_c.C: New. - * g++.dg/modules/indirect-3_a.C: New. - * g++.dg/modules/indirect-3_b.C: New. - * g++.dg/modules/indirect-3_c.C: New. - * g++.dg/modules/indirect-4_a.C: New. - * g++.dg/modules/indirect-4_b.C: New. - * g++.dg/modules/indirect-4_c.C: New. - * g++.dg/modules/inext-1.H: New. - * g++.dg/modules/inh-tmpl-ctor-1.h: New. - * g++.dg/modules/inh-tmpl-ctor-1_a.H: New. - * g++.dg/modules/inh-tmpl-ctor-1_b.C: New. - * g++.dg/modules/init-1_a.C: New. - * g++.dg/modules/init-1_b.C: New. - * g++.dg/modules/init-2_a.C: New. - * g++.dg/modules/init-2_b.C: New. - * g++.dg/modules/init-2_c.C: New. - * g++.dg/modules/inst-1_a.C: New. - * g++.dg/modules/inst-1_b.C: New. - * g++.dg/modules/inst-2_a.C: New. - * g++.dg/modules/inst-2_b.C: New. - * g++.dg/modules/inst-3_a.C: New. - * g++.dg/modules/inst-3_b.C: New. - * g++.dg/modules/inst-4_a.C: New. - * g++.dg/modules/inst-4_b.C: New. - * g++.dg/modules/inst-5_a.H: New. - * g++.dg/modules/inst-5_b.C: New. - * g++.dg/modules/internal-1.C: New. - * g++.dg/modules/internal-2_a.H: New. - * g++.dg/modules/internal-2_b.H: New. - * g++.dg/modules/internal-2_c.C: New. - * g++.dg/modules/isalnum.H: New. - * g++.dg/modules/keyword-1_a.C: New. - * g++.dg/modules/keyword-1_b.C: New. - * g++.dg/modules/lambda-1_a.C: New. - * g++.dg/modules/lambda-1_b.C: New. - * g++.dg/modules/lambda-2.h: New. - * g++.dg/modules/lambda-2_a.H: New. - * g++.dg/modules/lambda-2_b.C: New. - * g++.dg/modules/lambda-2_c.C: New. - * g++.dg/modules/lambda-3.h: New. - * g++.dg/modules/lambda-3_a.H: New. - * g++.dg/modules/lambda-3_b.C: New. - * g++.dg/modules/lambda-3_c.C: New. - * g++.dg/modules/lambda-4.h: New. - * g++.dg/modules/lambda-4_a.H: New. - * g++.dg/modules/lambda-4_b.C: New. - * g++.dg/modules/lang-1_a.H: New. - * g++.dg/modules/lang-1_b.C: New. - * g++.dg/modules/lang-1_c.C: New. - * g++.dg/modules/lang-2_a.C: New. - * g++.dg/modules/lang-2_b.C: New. - * g++.dg/modules/late-ret-1.H: New. - * g++.dg/modules/late-ret-2_a.H: New. - * g++.dg/modules/late-ret-2_b.H: New. - * g++.dg/modules/late-ret-2_c.C: New. - * g++.dg/modules/late-ret-3_a.H: New. - * g++.dg/modules/late-ret-3_b.H: New. - * g++.dg/modules/late-ret-3_c.C: New. - * g++.dg/modules/lazy-1_a.C: New. - * g++.dg/modules/lazy-1_b.C: New. - * g++.dg/modules/leg-merge-1_a.H: New. - * g++.dg/modules/leg-merge-1_b.H: New. - * g++.dg/modules/leg-merge-1_c.C: New. - * g++.dg/modules/leg-merge-1_d.C: New. - * g++.dg/modules/leg-merge-2_a.H: New. - * g++.dg/modules/leg-merge-2_b.H: New. - * g++.dg/modules/leg-merge-2_c.C: New. - * g++.dg/modules/leg-merge-3_a.H: New. - * g++.dg/modules/leg-merge-3_b.H: New. - * g++.dg/modules/leg-merge-3_c.C: New. - * g++.dg/modules/leg-merge-3_d.C: New. - * g++.dg/modules/leg-merge-4_a.H: New. - * g++.dg/modules/leg-merge-4_b.H: New. - * g++.dg/modules/leg-merge-4_c.C: New. - * g++.dg/modules/leg-merge-5_a.H: New. - * g++.dg/modules/leg-merge-5_b.H: New. - * g++.dg/modules/leg-merge-5_c.C: New. - * g++.dg/modules/leg-merge-6_a.H: New. - * g++.dg/modules/leg-merge-6_b.H: New. - * g++.dg/modules/leg-merge-6_c.C: New. - * g++.dg/modules/leg-merge-7_a.H: New. - * g++.dg/modules/leg-merge-7_b.H: New. - * g++.dg/modules/leg-merge-7_c.C: New. - * g++.dg/modules/leg-merge-8_a.H: New. - * g++.dg/modules/leg-merge-8_b.H: New. - * g++.dg/modules/leg-merge-8_c.C: New. - * g++.dg/modules/leg-merge-9_a.H: New. - * g++.dg/modules/leg-merge-9_b.H: New. - * g++.dg/modules/leg-merge-9_c.C: New. - * g++.dg/modules/legacy-1_a.H: New. - * g++.dg/modules/legacy-1_b.C: New. - * g++.dg/modules/legacy-1_c.C: New. - * g++.dg/modules/legacy-2.h: New. - * g++.dg/modules/legacy-2.map: New. - * g++.dg/modules/legacy-2_a.H: New. - * g++.dg/modules/legacy-2_b.H: New. - * g++.dg/modules/legacy-2_c.C: New. - * g++.dg/modules/legacy-2_d.C: New. - * g++.dg/modules/legacy-3.h: New. - * g++.dg/modules/legacy-3_a.H: New. - * g++.dg/modules/legacy-3_b.H: New. - * g++.dg/modules/legacy-3_c.H: New. - * g++.dg/modules/legacy-6.map: New. - * g++.dg/modules/legacy-6_a.H: New. - * g++.dg/modules/legacy-6_b.H: New. - * g++.dg/modules/legacy-6_c.C: New. - * g++.dg/modules/legacy-6_d.C: New. - * g++.dg/modules/legacy-6_e.C: New. - * g++.dg/modules/legacy-6_f.C: New. - * g++.dg/modules/legacy-7_a.H: New. - * g++.dg/modules/legacy-7_b.C: New. - * g++.dg/modules/legacy-8_a.H: New. - * g++.dg/modules/legacy-8_b.H: New. - * g++.dg/modules/legacy-8_c.C: New. - * g++.dg/modules/legacy-8_d.C: New. - * g++.dg/modules/legacy-8_e.C: New. - * g++.dg/modules/libfn-1_a.C: New. - * g++.dg/modules/libfn-1_b.C: New. - * g++.dg/modules/literals-1_a.C: New. - * g++.dg/modules/literals-1_b.C: New. - * g++.dg/modules/loc-1_a.C: New. - * g++.dg/modules/loc-1_b.C: New. - * g++.dg/modules/loc-1_c.C: New. - * g++.dg/modules/loc-2_a.C: New. - * g++.dg/modules/loc-2_b.C: New. - * g++.dg/modules/loc-2_c.C: New. - * g++.dg/modules/loc-2_d.C: New. - * g++.dg/modules/loc-2_e.C: New. - * g++.dg/modules/loc-2_f.C: New. - * g++.dg/modules/loc-wrapper-1.h: New. - * g++.dg/modules/loc-wrapper-1_a.H: New. - * g++.dg/modules/loc-wrapper-1_b.C: New. - * g++.dg/modules/local-1_a.C: New. - * g++.dg/modules/local-1_b.C: New. - * g++.dg/modules/local-extern-1.C: New. - * g++.dg/modules/local-extern-2.H: New. - * g++.dg/modules/local-struct-1_a.C: New. - * g++.dg/modules/local-struct-1_b.C: New. - * g++.dg/modules/macloc-1_a.C: New. - * g++.dg/modules/macloc-1_b.C: New. - * g++.dg/modules/macloc-1_c.C: New. - * g++.dg/modules/macloc-1_d.C: New. - * g++.dg/modules/macloc-2_a.H: New. - * g++.dg/modules/macloc-2_b.C: New. - * g++.dg/modules/macro-1_a.H: New. - * g++.dg/modules/macro-1_b.C: New. - * g++.dg/modules/macro-2_a.H: New. - * g++.dg/modules/macro-2_b.H: New. - * g++.dg/modules/macro-2_c.H: New. - * g++.dg/modules/macro-2_d.C: New. - * g++.dg/modules/macro-3_a.H: New. - * g++.dg/modules/macro-3_b.H: New. - * g++.dg/modules/macro-3_c.C: New. - * g++.dg/modules/macro-4_a.H: New. - * g++.dg/modules/macro-4_b.H: New. - * g++.dg/modules/macro-4_c.H: New. - * g++.dg/modules/macro-4_d.C: New. - * g++.dg/modules/macro-4_e.C: New. - * g++.dg/modules/macro-4_f.C: New. - * g++.dg/modules/macro-4_g.C: New. - * g++.dg/modules/macro-5_a.H: New. - * g++.dg/modules/macro-5_b.H: New. - * g++.dg/modules/macro-5_c.C: New. - * g++.dg/modules/macro-6_a.H: New. - * g++.dg/modules/macro-6_b.C: New. - * g++.dg/modules/macro-6_c.C: New. - * g++.dg/modules/macro-7_a.C: New. - * g++.dg/modules/macro-7_b.C: New. - * g++.dg/modules/macro-7_c.C: New. - * g++.dg/modules/map-1.map: New. - * g++.dg/modules/map-1_a.C: New. - * g++.dg/modules/map-1_b.C: New. - * g++.dg/modules/map-1_b.map: New. - * g++.dg/modules/map-2.C: New. - * g++.dg/modules/map-2.map: New. - * g++.dg/modules/member-def-1_a.C: New. - * g++.dg/modules/member-def-1_b.C: New. - * g++.dg/modules/member-def-1_c.C: New. - * g++.dg/modules/member-def-1_d.C: New. - * g++.dg/modules/member-def-2_a.C: New. - * g++.dg/modules/member-def-2_b.C: New. - * g++.dg/modules/member-def-2_c.C: New. - * g++.dg/modules/member-def-2_d.C: New. - * g++.dg/modules/memref-1_a.C: New. - * g++.dg/modules/memref-1_b.C: New. - * g++.dg/modules/merge-10.h: New. - * g++.dg/modules/merge-10_a.H: New. - * g++.dg/modules/merge-10_b.C: New. - * g++.dg/modules/merge-11.h: New. - * g++.dg/modules/merge-11_a.H: New. - * g++.dg/modules/merge-11_b.C: New. - * g++.dg/modules/merge-12.h: New. - * g++.dg/modules/merge-12_a.H: New. - * g++.dg/modules/merge-12_b.C: New. - * g++.dg/modules/merge-13.h: New. - * g++.dg/modules/merge-13_a.H: New. - * g++.dg/modules/merge-13_b.C: New. - * g++.dg/modules/merge-14.h: New. - * g++.dg/modules/merge-14_a.H: New. - * g++.dg/modules/merge-14_b.C: New. - * g++.dg/modules/merge-15.h: New. - * g++.dg/modules/merge-15_a.H: New. - * g++.dg/modules/merge-15_b.C: New. - * g++.dg/modules/merge-1_a.C: New. - * g++.dg/modules/merge-1_b.C: New. - * g++.dg/modules/merge-2_a.H: New. - * g++.dg/modules/merge-2_b.C: New. - * g++.dg/modules/merge-3_a.H: New. - * g++.dg/modules/merge-3_b.C: New. - * g++.dg/modules/merge-4.h: New. - * g++.dg/modules/merge-4_a.H: New. - * g++.dg/modules/merge-4_b.C: New. - * g++.dg/modules/merge-5.h: New. - * g++.dg/modules/merge-5_a.H: New. - * g++.dg/modules/merge-5_b.C: New. - * g++.dg/modules/merge-6.h: New. - * g++.dg/modules/merge-6_a.H: New. - * g++.dg/modules/merge-6_b.C: New. - * g++.dg/modules/merge-7.h: New. - * g++.dg/modules/merge-7_a.H: New. - * g++.dg/modules/merge-7_b.C: New. - * g++.dg/modules/merge-8.h: New. - * g++.dg/modules/merge-8_a.H: New. - * g++.dg/modules/merge-8_b.C: New. - * g++.dg/modules/merge-9.h: New. - * g++.dg/modules/merge-9_a.H: New. - * g++.dg/modules/merge-9_b.C: New. - * g++.dg/modules/mod-exp-1_a.C: New. - * g++.dg/modules/mod-exp-1_b.C: New. - * g++.dg/modules/mod-imp-1_a.C: New. - * g++.dg/modules/mod-imp-1_b.C: New. - * g++.dg/modules/mod-imp-1_c.C: New. - * g++.dg/modules/mod-imp-1_d.C: New. - * g++.dg/modules/mod-impl-1_a.C: New. - * g++.dg/modules/mod-impl-1_b.C: New. - * g++.dg/modules/mod-impl-1_c.C: New. - * g++.dg/modules/mod-impl-1_d.C: New. - * g++.dg/modules/mod-indirect-1_a.C: New. - * g++.dg/modules/mod-indirect-1_b.C: New. - * g++.dg/modules/mod-indirect-1_c.C: New. - * g++.dg/modules/mod-indirect-1_d.C: New. - * g++.dg/modules/mod-indirect-1_e.C: New. - * g++.dg/modules/mod-stamp-1_a.C: New. - * g++.dg/modules/mod-stamp-1_b.C: New. - * g++.dg/modules/mod-stamp-1_c.C: New. - * g++.dg/modules/mod-stamp-1_d.C: New. - * g++.dg/modules/mod-sym-1.C: New. - * g++.dg/modules/mod-sym-2.C: New. - * g++.dg/modules/mod-sym-3.C: New. - * g++.dg/modules/mod-tpl-1_a.C: New. - * g++.dg/modules/mod-tpl-1_b.C: New. - * g++.dg/modules/mod-tpl-2_a.C: New. - * g++.dg/modules/mod-tpl-2_b.C: New. - * g++.dg/modules/mutual-friend.ii: New. - * g++.dg/modules/namespace-1_a.C: New. - * g++.dg/modules/namespace-1_b.C: New. - * g++.dg/modules/namespace-1_c.C: New. - * g++.dg/modules/namespace-2_a.C: New. - * g++.dg/modules/namespace-2_b.C: New. - * g++.dg/modules/namespace-3_a.C: New. - * g++.dg/modules/namespace-3_b.C: New. - * g++.dg/modules/namespace-4_a.C: New. - * g++.dg/modules/namespace-4_b.C: New. - * g++.dg/modules/namespace-4_c.C: New. - * g++.dg/modules/nest-1_a.C: New. - * g++.dg/modules/nest-1_b.C: New. - * g++.dg/modules/nest-1_c.C: New. - * g++.dg/modules/nested-1_a.C: New. - * g++.dg/modules/nested-1_b.C: New. - * g++.dg/modules/nested-1_c.C: New. - * g++.dg/modules/nested-2_a.C: New. - * g++.dg/modules/nested-2_b.C: New. - * g++.dg/modules/nested-constr-1.h: New. - * g++.dg/modules/nested-constr-1_a.H: New. - * g++.dg/modules/nested-constr-1_b.C: New. - * g++.dg/modules/nested-constr-2_a.C: New. - * g++.dg/modules/nested-constr-2_b.C: New. - * g++.dg/modules/nested-constr-2_c.C: New. - * g++.dg/modules/nodes-1_a.C: New. - * g++.dg/modules/nodes-1_b.C: New. - * g++.dg/modules/noexcept-1.h: New. - * g++.dg/modules/noexcept-1_a.H: New. - * g++.dg/modules/noexcept-1_b.C: New. - * g++.dg/modules/ns-alias-1_a.C: New. - * g++.dg/modules/ns-alias-1_b.C: New. - * g++.dg/modules/ns-alias-1_c.C: New. - * g++.dg/modules/ns-dir-1_a.C: New. - * g++.dg/modules/ns-dir-1_b.C: New. - * g++.dg/modules/ns-dup-1_a.C: New. - * g++.dg/modules/ns-dup-1_b.C: New. - * g++.dg/modules/ns-imp-1_a.C: New. - * g++.dg/modules/ns-imp-1_b.C: New. - * g++.dg/modules/ns-imp-1_c.C: New. - * g++.dg/modules/ns-part-1_a.C: New. - * g++.dg/modules/ns-part-1_b.C: New. - * g++.dg/modules/ns-part-1_c.C: New. - * g++.dg/modules/nsdmi-1_a.C: New. - * g++.dg/modules/nsdmi-1_b.C: New. - * g++.dg/modules/nsdmi-2.C: New. - * g++.dg/modules/omp-1_a.C: New. - * g++.dg/modules/omp-1_b.C: New. - * g++.dg/modules/omp-1_c.C: New. - * g++.dg/modules/omp-2_a.C: New. - * g++.dg/modules/omp-2_b.C: New. - * g++.dg/modules/only-1.C: New. - * g++.dg/modules/only-2.C: New. - * g++.dg/modules/only-3.C: New. - * g++.dg/modules/operator-1_a.C: New. - * g++.dg/modules/operator-1_b.C: New. - * g++.dg/modules/p0713-1.C: New. - * g++.dg/modules/p0713-2.C: New. - * g++.dg/modules/p0713-3.C: New. - * g++.dg/modules/part-1_a.C: New. - * g++.dg/modules/part-1_b.C: New. - * g++.dg/modules/part-1_c.C: New. - * g++.dg/modules/part-2_a.C: New. - * g++.dg/modules/part-2_b.C: New. - * g++.dg/modules/part-2_c.C: New. - * g++.dg/modules/part-2_d.C: New. - * g++.dg/modules/part-2_e.C: New. - * g++.dg/modules/part-3_a.C: New. - * g++.dg/modules/part-3_b.C: New. - * g++.dg/modules/part-3_c.C: New. - * g++.dg/modules/part-3_d.C: New. - * g++.dg/modules/part-4_a.C: New. - * g++.dg/modules/part-4_b.C: New. - * g++.dg/modules/part-4_c.C: New. - * g++.dg/modules/part-6_a.C: New. - * g++.dg/modules/part-6_b.C: New. - * g++.dg/modules/part-6_c.C: New. - * g++.dg/modules/part-6_d.C: New. - * g++.dg/modules/part-6_e.C: New. - * g++.dg/modules/part-7_a.C: New. - * g++.dg/modules/part-7_b.C: New. - * g++.dg/modules/part-7_c.C: New. - * g++.dg/modules/part-hdr-1_a.H: New. - * g++.dg/modules/part-hdr-1_b.C: New. - * g++.dg/modules/part-hdr-1_c.C: New. - * g++.dg/modules/part-mac-1_a.H: New. - * g++.dg/modules/part-mac-1_b.C: New. - * g++.dg/modules/part-mac-1_c.C: New. - * g++.dg/modules/partial-1.h: New. - * g++.dg/modules/partial-1_a.H: New. - * g++.dg/modules/partial-1_b.C: New. - * g++.dg/modules/pmf-1.h: New. - * g++.dg/modules/pmf-1_a.H: New. - * g++.dg/modules/pmf-1_b.C: New. - * g++.dg/modules/pmf-2.h: New. - * g++.dg/modules/pmf-2_a.H: New. - * g++.dg/modules/pmf-2_b.C: New. - * g++.dg/modules/pmp-1_a.C: New. - * g++.dg/modules/pmp-1_b.C: New. - * g++.dg/modules/pmp-2.C: New. - * g++.dg/modules/pmp-3.C: New. - * g++.dg/modules/pragma-1_a.H: New. - * g++.dg/modules/pragma-1_b.C: New. - * g++.dg/modules/predef-1.C: New. - * g++.dg/modules/predef-1.h: New. - * g++.dg/modules/predef-2.h: New. - * g++.dg/modules/predef-2_a.C: New. - * g++.dg/modules/predef-2_b.C: New. - * g++.dg/modules/preproc-1.C: New. - * g++.dg/modules/preproc-2_a.H: New. - * g++.dg/modules/preproc-2_b.C: New. - * g++.dg/modules/printf-1_a.H: New. - * g++.dg/modules/printf-1_b.C: New. - * g++.dg/modules/reparent-1_a.C: New. - * g++.dg/modules/reparent-1_b.C: New. - * g++.dg/modules/reparent-1_c.C: New. - * g++.dg/modules/scc-1.C: New. - * g++.dg/modules/scc-2.C: New. - * g++.dg/modules/shadow-1_a.C: New. - * g++.dg/modules/shadow-1_b.C: New. - * g++.dg/modules/stat-tpl-1_a.H: New. - * g++.dg/modules/static-1_a.C: New. - * g++.dg/modules/static-1_b.C: New. - * g++.dg/modules/static-1_c.C: New. - * g++.dg/modules/std-1_a.C: New. - * g++.dg/modules/std-1_b.C: New. - * g++.dg/modules/stdns_a.C: New. - * g++.dg/modules/stdns_b.C: New. - * g++.dg/modules/sv-1.h: New. - * g++.dg/modules/sv-1_a.C: New. - * g++.dg/modules/sv-1_b.C: New. - * g++.dg/modules/sym-subst-1.C: New. - * g++.dg/modules/sym-subst-2_a.C: New. - * g++.dg/modules/sym-subst-2_b.C: New. - * g++.dg/modules/sym-subst-3_a.C: New. - * g++.dg/modules/sym-subst-3_b.C: New. - * g++.dg/modules/sym-subst-4.C: New. - * g++.dg/modules/sym-subst-5.C: New. - * g++.dg/modules/sym-subst-6.C: New. - * g++.dg/modules/sys/alias-2_a.H: New. - * g++.dg/modules/sys/inext-1.H: New. - * g++.dg/modules/tdef-1_a.C: New. - * g++.dg/modules/tdef-1_b.C: New. - * g++.dg/modules/tdef-2_a.C: New. - * g++.dg/modules/tdef-2_b.C: New. - * g++.dg/modules/tdef-2_c.C: New. - * g++.dg/modules/tdef-3_a.C: New. - * g++.dg/modules/tdef-3_b.C: New. - * g++.dg/modules/tdef-3_c.C: New. - * g++.dg/modules/tdef-4_a.C: New. - * g++.dg/modules/tdef-4_b.C: New. - * g++.dg/modules/tdef-4_c.C: New. - * g++.dg/modules/tdef-5_a.C: New. - * g++.dg/modules/tdef-5_b.C: New. - * g++.dg/modules/tdef-6_a.H: New. - * g++.dg/modules/tdef-6_b.C: New. - * g++.dg/modules/tdef-7.h: New. - * g++.dg/modules/tdef-7_a.H: New. - * g++.dg/modules/tdef-7_b.C: New. - * g++.dg/modules/tdef-8_a.C: New. - * g++.dg/modules/tdef-8_b.C: New. - * g++.dg/modules/tdef-inst-1.h: New. - * g++.dg/modules/tdef-inst-1_a.C: New. - * g++.dg/modules/tdef-inst-1_b.C: New. - * g++.dg/modules/thunk-1_a.C: New. - * g++.dg/modules/thunk-1_b.C: New. - * g++.dg/modules/tmpl-part-req-1.h: New. - * g++.dg/modules/tmpl-part-req-1_a.H: New. - * g++.dg/modules/tmpl-part-req-1_b.C: New. - * g++.dg/modules/tmpl-part-req-2.h: New. - * g++.dg/modules/tmpl-part-req-2_a.H: New. - * g++.dg/modules/tmpl-part-req-2_b.C: New. - * g++.dg/modules/token-1.C: New. - * g++.dg/modules/token-2_a.C: New. - * g++.dg/modules/token-2_b.C: New. - * g++.dg/modules/token-3.C: New. - * g++.dg/modules/token-4.C: New. - * g++.dg/modules/token-5.C: New. - * g++.dg/modules/tpl-alias-1.h: New. - * g++.dg/modules/tpl-alias-1_a.H: New. - * g++.dg/modules/tpl-alias-1_b.C: New. - * g++.dg/modules/tpl-ary-1.h: New. - * g++.dg/modules/tpl-ary-1_a.H: New. - * g++.dg/modules/tpl-ary-1_b.C: New. - * g++.dg/modules/tpl-extern-fn-1_a.H: New. - * g++.dg/modules/tpl-extern-fn-1_b.C: New. - * g++.dg/modules/tpl-extern-var-1_a.H: New. - * g++.dg/modules/tpl-extern-var-1_b.C: New. - * g++.dg/modules/tpl-friend-1_a.C: New. - * g++.dg/modules/tpl-friend-1_b.C: New. - * g++.dg/modules/tpl-friend-2_a.C: New. - * g++.dg/modules/tpl-friend-2_b.C: New. - * g++.dg/modules/tpl-friend-3_a.C: New. - * g++.dg/modules/tpl-friend-3_b.C: New. - * g++.dg/modules/tpl-friend-4_a.C: New. - * g++.dg/modules/tpl-friend-4_b.C: New. - * g++.dg/modules/tpl-friend-5_a.C: New. - * g++.dg/modules/tpl-friend-5_b.C: New. - * g++.dg/modules/tpl-friend-6_a.C: New. - * g++.dg/modules/tpl-friend-6_b.C: New. - * g++.dg/modules/tpl-friend-7_a.C: New. - * g++.dg/modules/tpl-friend-7_b.C: New. - * g++.dg/modules/tpl-friend-merge-1.cc: New. - * g++.dg/modules/tpl-friend-merge-1.h: New. - * g++.dg/modules/tpl-friend-merge-1_a.H: New. - * g++.dg/modules/tpl-friend-merge-1_b.H: New. - * g++.dg/modules/tpl-friend-merge-1_c.H: New. - * g++.dg/modules/tpl-friend-merge-1_d.C: New. - * g++.dg/modules/tpl-friend-merge-1_e.C: New. - * g++.dg/modules/tpl-friend-merge-1_f.C: New. - * g++.dg/modules/tpl-spec-1_a.C: New. - * g++.dg/modules/tpl-spec-1_b.C: New. - * g++.dg/modules/tpl-spec-2_a.C: New. - * g++.dg/modules/tpl-spec-2_b.C: New. - * g++.dg/modules/tpl-spec-2_c.C: New. - * g++.dg/modules/tpl-spec-2_d.C: New. - * g++.dg/modules/tpl-spec-3_a.C: New. - * g++.dg/modules/tpl-spec-3_b.C: New. - * g++.dg/modules/tpl-spec-4_a.C: New. - * g++.dg/modules/tpl-spec-4_b.C: New. - * g++.dg/modules/tpl-spec-5_a.C: New. - * g++.dg/modules/tpl-spec-5_b.C: New. - * g++.dg/modules/tpl-spec-6_a.C: New. - * g++.dg/modules/tpl-spec-6_b.C: New. - * g++.dg/modules/tpl-spec-7.C: New. - * g++.dg/modules/tpl-tpl-friend-1_a.C: New. - * g++.dg/modules/tpl-tpl-friend-1_b.C: New. - * g++.dg/modules/tpl-tpl-mem-1_a.C: New. - * g++.dg/modules/tpl-tpl-mem-1_b.C: New. - * g++.dg/modules/tpl-tpl-merge-1.h: New. - * g++.dg/modules/tpl-tpl-merge-1_a.H: New. - * g++.dg/modules/tpl-tpl-merge-1_b.C: New. - * g++.dg/modules/tpl-tpl-merge-2.h: New. - * g++.dg/modules/tpl-tpl-merge-2_a.H: New. - * g++.dg/modules/tpl-tpl-merge-2_b.C: New. - * g++.dg/modules/tpl-tpl-parm-1_a.H: New. - * g++.dg/modules/tpl-tpl-parm-1_b.C: New. - * g++.dg/modules/tpl-tpl-parm-2.h: New. - * g++.dg/modules/tpl-tpl-parm-2_a.H: New. - * g++.dg/modules/tpl-tpl-parm-2_b.C: New. - * g++.dg/modules/tplmem-1_a.C: New. - * g++.dg/modules/tplmem-1_b.C: New. - * g++.dg/modules/tplmem-3_a.C: New. - * g++.dg/modules/tplmem-3_b.C: New. - * g++.dg/modules/ttp-1_a.C: New. - * g++.dg/modules/ttp-1_b.C: New. - * g++.dg/modules/ttp-2_a.C: New. - * g++.dg/modules/ttp-2_b.C: New. - * g++.dg/modules/ttp-3_a.C: New. - * g++.dg/modules/ttp-3_b.C: New. - * g++.dg/modules/typename-1_a.C: New. - * g++.dg/modules/typename-1_b.C: New. - * g++.dg/modules/unnamed-1_a.C: New. - * g++.dg/modules/unnamed-1_b.C: New. - * g++.dg/modules/unnamed-2.C: New. - * g++.dg/modules/used-1_a.H: New. - * g++.dg/modules/used-1_b.H: New. - * g++.dg/modules/used-1_c.C: New. - * g++.dg/modules/using-1_a.C: New. - * g++.dg/modules/using-1_b.C: New. - * g++.dg/modules/using-1_c.C: New. - * g++.dg/modules/using-2_a.C: New. - * g++.dg/modules/using-2_b.C: New. - * g++.dg/modules/using-2_c.C: New. - * g++.dg/modules/using-3.C: New. - * g++.dg/modules/using-4_a.C: New. - * g++.dg/modules/using-4_b.C: New. - * g++.dg/modules/using-5_a.C: New. - * g++.dg/modules/using-5_b.C: New. - * g++.dg/modules/using-6_a.C: New. - * g++.dg/modules/using-6_b.C: New. - * g++.dg/modules/using-7.C: New. - * g++.dg/modules/using-8_a.C: New. - * g++.dg/modules/using-8_b.C: New. - * g++.dg/modules/using-enum-1_a.H: New. - * g++.dg/modules/using-enum-1_b.C: New. - * g++.dg/modules/var-1_a.C: New. - * g++.dg/modules/var-1_b.C: New. - * g++.dg/modules/var-tpl-1_a.C: New. - * g++.dg/modules/var-tpl-1_b.C: New. - * g++.dg/modules/var-tpl-concept-1.h: New. - * g++.dg/modules/var-tpl-concept-1_a.C: New. - * g++.dg/modules/var-tpl-concept-1_b.C: New. - * g++.dg/modules/virt-1_a.C: New. - * g++.dg/modules/virt-1_b.C: New. - * g++.dg/modules/virt-2_a.C: New. - * g++.dg/modules/virt-2_b.C: New. - * g++.dg/modules/virt-2_c.C: New. - * g++.dg/modules/vmort-1_a.C: New. - * g++.dg/modules/vmort-1_b.C: New. - * g++.dg/modules/vmort-2_a.C: New. - * g++.dg/modules/vmort-2_b.C: New. - * g++.dg/modules/vmort-2_c.C: New. - * g++.dg/modules/vtt-1_a.C: New. - * g++.dg/modules/vtt-1_b.C: New. - * g++.dg/modules/vtt-1_c.C: New. - * g++.dg/modules/vtt-2.h: New. - * g++.dg/modules/vtt-2_a.H: New. - * g++.dg/modules/vtt-2_b.C: New. - -2020-12-22 Jakub Jelinek - - PR c++/93480 - * g++.dg/cpp2a/spaceship-synth10.C: New test. - * g++.dg/cpp2a/spaceship-synth-neg5.C: New test. - -2020-12-22 Uroš Bizjak - - PR target/96793 - * gcc.target/i386/pr96793.c: New test. - -2020-12-21 Jakub Jelinek - - PR c++/98353 - * g++.dg/opt/pr98353.C: New test. - -2020-12-21 Jakub Jelinek - - PR tree-optimization/98407 - * gcc.c-torture/compile/pr98407.c: New test. - -2020-12-21 Jakub Jelinek - - PR c++/98383 - * g++.dg/gomp/pr98383.C: New test. - -2020-12-20 Max Filippov - - * gcc.target/xtensa/bswap.c: New test. - -2020-12-20 Thomas Koenig - - * gfortran.dg/coarray/send_char_array_1.f90: Correct coarray - indces. - -2020-12-19 Jakub Jelinek - - PR middle-end/98366 - * gcc.c-torture/execute/pr98366.c: New test. - -2020-12-19 Iain Buclaw - - PR d/98067 - * gdc.dg/debug/debug.exp: New test. - * gdc.dg/debug/dwarf2/dwarf2.exp: New test. - * gdc.dg/debug/dwarf2/imports/pr98067.d: New test. - * gdc.dg/debug/dwarf2/langdw2.d: New test. - * gdc.dg/debug/dwarf2/langdw3.d: New test. - * gdc.dg/debug/dwarf2/pr98067.d: New test. - * gdc.dg/debug/trivial.d: New test. - -2020-12-18 Andrew MacLeod - - * gcc.dg/pr97750.c: Remove check for warning. - -2020-12-18 Kwok Cheung Yeung - - * g++.dg/gomp/declare-target-3.C: Only check .offload_var_table - entries if offloading is enabled. - -2020-12-18 Przemyslaw Wirkus - - PR target/98177 - * g++.target/aarch64/sve/pr98177-1.C: New test. - * g++.target/aarch64/sve/pr98177-2.C: New test. - * gcc.target/aarch64/sve/pr98177-1.c: New test. - * gcc.target/aarch64/sve/pr98177-2.c: New test. - -2020-12-18 Kwok Cheung Yeung - - * g++.dg/gomp/declare-target-3.C: New. - -2020-12-18 Paul Thomas - - PR fortran/83118 - PR fortran/96012 - * gfortran.dg/dependency_60.f90: New test. - * gfortran.dg/class_allocate_25.f90: New test. - * gfortran.dg/class_assign_4.f90: New test. - * gfortran.dg/unlimited_polymorphic_32.f03: New test. - -2020-12-18 Jakub Jelinek - - PR c++/98343 - * g++.dg/pch/pr98343.C: New test. - * g++.dg/pch/pr98343.Hs: New file. - -2020-12-18 Ian Lance Taylor - - * go.test/go-test.exp (go-set-goos): New procedure. - (go-gc-match): New procedure. - (go-gc-tests): Call go-set-goos. Use go-gc-match to handle +build - lines. Look for +build lines beyond first line of file. - -2020-12-18 Patrick Palka - - PR c++/96840 - * g++.dg/cpp2a/concepts-pr88395.C: Adjust to expect the - self-recursive satisfaction to get directly diagnosed. - * g++.dg/cpp2a/concepts-recursive-sat2.C: Likewise. - * g++.dg/cpp2a/concepts-recursive-sat4.C: New test. - -2020-12-18 Patrick Palka - - * g++.dg/cpp2a/concepts-complete1.C: New test. - * g++.dg/cpp2a/concepts-complete2.C: New test. - * g++.dg/cpp2a/concepts-complete3.C: New test. - -2020-12-17 Andrew MacLeod - - * gcc.dg/pr97750.c: New. - -2020-12-17 Jakub Jelinek - - PR rtl-optimization/98289 - * gcc.target/i386/pr98289.c: New test. - * gcc.dg/torture/pr98289.c: New test. - -2020-12-17 Arnaud Charlet - - * gnat.dg/debug15.adb: Remove fragile testcase. - -2020-12-17 Yannick Moy - - * gnat.dg/interface6.adb, gnat.dg/not_null.adb, - gnat.dg/protected_func.adb: Adjust error messages. - -2020-12-17 Tobias Burnus - - PR fortran/92587 - * gfortran.dg/finalize_37.f90: New test. - -2020-12-17 Harald Anlauf - - PR fortran/98307 - * gfortran.dg/forall_19.f90: New test. - -2020-12-17 Takayuki 'January June' Suwa - - * gcc.target/xtensa/shifts.c: New test. - -2020-12-17 Richard Sandiford - - * gcc.dg/rtl/x86_64/test-return-const.c.before-fwprop.c: Don't - expect insn updates to be deferred. - * gcc.target/aarch64/sve/acle/asm/st4_s8.c: Expect the addition - to be folded into the address. - * gcc.target/aarch64/sve/acle/asm/st4_u8.c: Likewise. - -2020-12-16 Martin Uecker - - PR c/98047 - * gcc.dg/qual-assign-7.c: New test. - -2020-12-16 Martin Uecker - - PR c/98260 - * gcc.dg/unused-9.c: New test. - -2020-12-16 David Edelsohn - - PR target/98280 - * gcc.target/powerpc/fold-vec-logical-ors-char.c: Adjust count. - * gcc.target/powerpc/fold-vec-logical-ors-int.c: Adjust count. - * gcc.target/powerpc/fold-vec-logical-ors-longlong.c: Adjust count. - * gcc.target/powerpc/fold-vec-logical-ors-short.c: Adjust count. - * gcc.target/powerpc/fold-vec-logical-other-char.c: Adjust count. - * gcc.target/powerpc/fold-vec-logical-other-int.c: Adjust count. - * gcc.target/powerpc/fold-vec-logical-other-longlong.c: Adjust count. - * gcc.target/powerpc/fold-vec-logical-other-short.c: Adjust count. - -2020-12-16 Nathan Sidwell - - * g++.dg/template/pr98297.C: New. - -2020-12-16 Harald Anlauf - - PR fortran/98284 - * gfortran.dg/pr98284.f90: New test. - -2020-12-16 H.J. Lu - - PR target/98146 - * lib/target-supports.exp - (check_effective_target_R_flag_in_section): Also check - HAVE_INITFINI_ARRAY_SUPPORT != 0. - -2020-12-16 H.J. Lu - - PR target/98146 - * c-c++-common/attr-used-5.c: Updated. - * c-c++-common/attr-used-6.c: Likewise. - * c-c++-common/attr-used-7.c: Likewise. - * c-c++-common/attr-used-8.c: Likewise. - -2020-12-16 H.J. Lu - - PR target/98146 - * c-c++-common/attr-used-5.c: New test. - * 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. - -2020-12-16 Jakub Jelinek - - PR tree-optimization/96239 - * gcc.dg/pr96239.c: New test. - -2020-12-16 Martin Liska - - PR sanitizer/97868 - * gcc.dg/tsan/atomic-fence.c: New test. - -2020-12-16 Martin Liska - - PR rtl-optimization/98271 - PR rtl-optimization/98276 - PR tree-optimization/98279 - * gcc.dg/pr98271.c: New test. - -2020-12-16 Eric Botcazou - - * gcc.dg/pr98272.c: New test. - -2020-12-16 Kewen Lin - - * gcc.target/powerpc/pr96933-1.c: Adjusted to check no rlwinm. - * gcc.target/powerpc/pr96933-2.c: Likewise. - -2020-12-15 Marek Polacek - - * g++.dg/cpp0x/constexpr-52830.C: Remove dg-ice. - -2020-12-15 Jakub Jelinek - - PR tree-optimization/96094 - * gcc.dg/tree-ssa/pr96094.c: New test. - -2020-12-15 Iain Buclaw - - PR d/98277 - * gdc.dg/pr98277.d: New test. - -2020-12-15 Patrick Palka - - * g++.dg/cpp2a/concepts-requires23.C: New test. - -2020-12-15 Nathan Sidwell - - * g++.dg/modules/mod-decl-0-2a.C: New. - * g++.dg/modules/mod-decl-0.C: New. - * g++.dg/modules/mod-decl-1.C: New. - * g++.dg/modules/mod-decl-2_a.C: New. - * g++.dg/modules/mod-decl-2_b.C: New. - * g++.dg/modules/mod-decl-2_c.C: New. - * g++.dg/modules/mod-decl-3.C: New. - * g++.dg/modules/mod-decl-5_a.C: New. - * g++.dg/modules/mod-decl-5_b.C: New. - -2020-12-15 Jakub Jelinek - - PR target/98274 - * gcc.target/i386/pr98274.c: New test. - -2020-12-15 Jakub Jelinek - - * gcc.target/i386/x86-64-v2.c: Don't expect - __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 to be defined with -m32. - * gcc.target/i386/x86-64-v2-other.c: New test. - * gcc.target/i386/x86-64-v2-msabi.c: New test. - * gcc.target/i386/x86-64-v3.c: Fix a comment pasto. Don't expect - __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 to be defined with -m32. - * gcc.target/i386/x86-64-v3-other.c: New test. - * gcc.target/i386/x86-64-v3-msabi.c: New test. - * gcc.target/i386/x86-64-v4.c:Don't expect - __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 to be defined with -m32. - * gcc.target/i386/x86-64-v4-other.c: New test. - * gcc.target/i386/x86-64-v4-msabi.c: New test. - -2020-12-15 Max Filippov - - * gcc.target/xtensa/pr98285.c: New test. - -2020-12-15 Ian Lance Taylor - - * go.test/go-test.exp (errchk): Retain any characters at the end - of the comment. - -2020-12-15 liuhongt - - * gcc.target/i386/pr78102.c: Adjust testcase. - -2020-12-14 Martin Sebor - - PR middle-end/98166 - PR c++/57111 - PR middle-end/98160 - * g++.dg/warn/Wmismatched-dealloc-2.C: Adjust test of expected warning. - * g++.dg/warn/Wmismatched-new-delete.C: Same. - * gcc.dg/Wmismatched-dealloc.c: Same. - * c-c++-common/Wfree-nonheap-object-2.c: New test. - * c-c++-common/Wfree-nonheap-object-3.c: New test. - * c-c++-common/Wfree-nonheap-object.c: New test. - * c-c++-common/Wmismatched-dealloc.c: New test. - * g++.dg/warn/Wfree-nonheap-object-3.C: New test. - * g++.dg/warn/Wfree-nonheap-object-4.C: New test. - * g++.dg/warn/Wmismatched-dealloc-2.C: New test. - * g++.dg/warn/Wmismatched-new-delete-2.C: New test. - * g++.dg/warn/Wmismatched-new-delete.C: New test. - * gcc.dg/Wmismatched-dealloc-2.c: New test. - * gcc.dg/Wmismatched-dealloc-3.c: New test. - * gcc.dg/Wmismatched-dealloc.c: New test. - -2020-12-14 Wilco Dijkstra - - * lib/target-supports.exp (check_effective_target_tune_cortex_a76): New - effective target test. - * gcc.target/aarch64/with-tune-config.c: New test. - * gcc.target/aarch64/with-tune-march.c: Likewise. - * gcc.target/aarch64/with-tune-mcpu.c: Likewise. - * gcc.target/aarch64/with-tune-mtune.c: Likewise. - -2020-12-14 Tamar Christina - - PR middle-end/98264 - * gcc.target/i386/pr98264.c: New test. - -2020-12-14 Ilya Leoshkevich - - * lib/target-supports.exp(check_profiling_available): Limit - perf data buffer. - -2020-12-14 Christophe Lyon - - * gcc.target/arm/simd/mve-vneg.c: Add tests for vneg. - -2020-12-14 Christophe Lyon - - * gcc.target/arm/simd/mve-vmvn.c: Add tests for vmvn. - -2020-12-14 Christophe Lyon - - * gcc.target/arm/simd/mve-vbic.c: Add tests for vbic. - -2020-12-14 Christophe Lyon - - * gcc.target/arm/simd/mve-veor.c: Add tests for veor. - -2020-12-14 Christophe Lyon - - * gcc.target/arm/vect-half-floats.c: Fix typos. - -2020-12-14 Martin Liska - - PR sanitizer/98204 - * c-c++-common/asan/pr98204.c: New test. - -2020-12-14 Nikhil Benesch - - * gcc.misc-tests/godump-1.c: Add test cases. - -2020-12-13 Maciej W. Rozycki - - * gcc.target/vax/push.c: New test. - -2020-12-13 Jakub Jelinek - - PR tree-optimization/98256 - * gcc.c-torture/compile/pr98256.c: New test. - -2020-12-13 Jakub Jelinek - - PR target/92469 - * gcc.target/i386/pr92469.c: New test. - * gcc.target/i386/pr79804.c: Adjust expected diagnostics. - * gcc.target/i386/pr88178.c: Expect an error. - -2020-12-13 Tamar Christina - - * gcc.target/arm/vect-half-floats.c: New test. - -2020-12-13 Tamar Christina - - * lib/target-supports.exp - (check_effective_target_arm_v8_3a_complex_neon_ok_nocache): Fix it. - (check_effective_target_vect_complex_add_byte - ,check_effective_target_vect_complex_add_int - ,check_effective_target_vect_complex_add_short - ,check_effective_target_vect_complex_add_long - ,check_effective_target_vect_complex_add_half - ,check_effective_target_vect_complex_add_float - ,check_effective_target_vect_complex_add_double): New. - * gcc.dg/vect/complex/bb-slp-complex-add-pattern-byte.c: New test. - * gcc.dg/vect/complex/bb-slp-complex-add-pattern-int.c: New test. - * gcc.dg/vect/complex/bb-slp-complex-add-pattern-long.c: New test. - * gcc.dg/vect/complex/bb-slp-complex-add-pattern-short.c: New test. - * gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-byte.c: New test. - * gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-int.c: New test. - * gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-long.c: New test. - * gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-short.c: New test. - * gcc.dg/vect/complex/complex-add-pattern-template.c: New test. - * gcc.dg/vect/complex/complex-add-template.c: New test. - * gcc.dg/vect/complex/complex-operations-run.c: New test. - * gcc.dg/vect/complex/complex-operations.c: New test. - * gcc.dg/vect/complex/complex.exp: New test. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-double.c: New test. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-float.c: New test. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-half-float.c: New test. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-double.c: New test. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-float.c: New test. - * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-half-float.c: New test. - * gcc.dg/vect/complex/fast-math-complex-add-double.c: New test. - * gcc.dg/vect/complex/fast-math-complex-add-float.c: New test. - * gcc.dg/vect/complex/fast-math-complex-add-half-float.c: New test. - * gcc.dg/vect/complex/fast-math-complex-add-pattern-double.c: New test. - * gcc.dg/vect/complex/fast-math-complex-add-pattern-float.c: New test. - * gcc.dg/vect/complex/fast-math-complex-add-pattern-half-float.c: New test. - * gcc.dg/vect/complex/vect-complex-add-pattern-byte.c: New test. - * gcc.dg/vect/complex/vect-complex-add-pattern-int.c: New test. - * gcc.dg/vect/complex/vect-complex-add-pattern-long.c: New test. - * gcc.dg/vect/complex/vect-complex-add-pattern-short.c: New test. - * gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-byte.c: New test. - * gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-int.c: New test. - * gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-long.c: New test. - * gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-short.c: New test. - -2020-12-13 Rainer Orth - - * lib/scanasm.exp (scan-symbol-section): Pass args to - dg-scan-symbol-section. - (scan-assembler-symbol-section): Likewise. - (dg-scan-symbol-section): Handle selector from orig_args. - Get patterns from orig_args. - (parse_section_of_symbols): Fix section_pattern. - Strip double quotes from section name. - * g++.dg/gomp/tls-5.C: Restrict ir, _ZGR2ir_ scans to tls_native. - * gcc.dg/20021029-1.c: Anchor ar symbol. - * gcc.dg/darwin-sections.c: Remove obsolete scans for _a, _b in - .data. - -2020-12-12 Paul Thomas - - PR fortran/98022 - * gfortran.dg/data_inquiry_ref.f90: New test. - -2020-12-12 Jakub Jelinek - - PR tree-optimization/96685 - * gcc.dg/tree-ssa/pr96685-1.c: New test. - * gcc.dg/tree-ssa/pr96685-2.c: New test. - * gcc.dg/tree-ssa/pr96685-3.c: New test. - -2020-12-12 Jakub Jelinek - - PR tree-optimization/96272 - * gcc.dg/tree-ssa/pr96272.c: New test. - -2020-12-12 Jakub Jelinek - - PR middle-end/98183 - * gcc.dg/gomp/pr98183.c: New test. - * gcc.dg/goacc/pr98183.c: New test. - -2020-12-11 Jason Merrill - - * g++.dg/cpp2a/concepts-conv3.C: New test. - * g++.dg/cpp2a/concepts-conv3a.C: New file. - -2020-12-11 Nathan Sidwell - - * g++.dg/modules/modules.exp: New. - -2020-12-11 Christophe Lyon - - * gcc.target/arm/simd/mve-vorr.c: Add vorr tests. - -2020-12-11 Claudiu Zissulescu - - * gcc.target/arc/pmpyd.c: New test. - * gcc.target/arc/tmac-1.c: Update. - -2020-12-11 H.J. Lu - - PR target/98219 - * gcc.dg/guality/pr98219-1.c: New test. - * gcc.dg/guality/pr98219-2.c: Likewise. - * gcc.dg/torture/pr98219-1.c: Likewise. - * gcc.dg/torture/pr98219-2.c: Likewise. - * gcc.target/i386/uintr-2.c: Scan "add[lq] $8, %[er]sp". - (uword_t): New. - (foo): Add a uword_t argument. - (UINTR_hanlder): Likewise. - * gcc.target/i386/uintr-3.c: Scan "add[lq] $8, %[er]sp". - (uword_t): New. - (UINTR_hanlder): Add a uword_t argument. - * gcc.target/i386/uintr-4.c (uword_t): New. - (UINTR_hanlder): Add a uword_t argument. - * gcc.target/i386/uintr-5.c (uword_t): New. - (UINTR_hanlder): Add a uword_t argument. - -2020-12-11 Patrick Palka - - PR c++/78173 - * g++.dg/cpp2a/concepts-pr78173.C: New test. - -2020-12-11 Andrea Corallo - - * lib/target-supports.exp (check_effective_target_arm_softfloat): - Improve documentation. - -2020-12-11 Andrea Corallo - - * gcc.target/arm/lob2.c: Use '-march=armv8.1-m.main+fp'. - * gcc.target/arm/lob3.c: Skip with '-mfloat-abi=hard'. - * gcc.target/arm/lob4.c: Likewise. - * gcc.target/arm/lob5.c: Use '-march=armv8.1-m.main+fp'. - -2020-12-11 Richard Biener - - PR testsuite/98244 - * gcc.dg/vect/vect-live-6.c: Require vect_condition. - -2020-12-11 Richard Biener - - PR testsuite/98242 - * gcc.dg/vect/bb-slp-subgroups-3.c: Require vect_int_mult. - -2020-12-11 Richard Biener - - PR testsuite/98240 - * gcc.dg/vect/pr97678.c: Require vect_int_mult and - vect_pack_trunc. - -2020-12-11 Richard Biener - - PR testsuite/98239 - * gcc.dg/vect/bb-slp-69.c: Require vect_condition. - -2020-12-11 Jakub Jelinek - - PR rtl-optimization/98229 - * gcc.c-torture/compile/pr98229.c: New test. - -2020-12-11 Richard Biener - - PR tree-optimization/98235 - * gcc.dg/torture/pr98235.c: New testcase. - -2020-12-11 Jakub Jelinek - - PR middle-end/98190 - * gcc.dg/pr98190.c: New test. - -2020-12-11 Andrea Corallo - - * gcc.target/aarch64/sve/pr97092.c: New test. - -2020-12-10 Jakub Jelinek - - PR rtl-optimization/98212 - * gcc.dg/predict-8.c: Adjust expected probability. - -2020-12-10 Ed Schonberg - - * gnat.dg/modular6.adb: New test. - -2020-12-10 Marek Polacek - - PR c++/91506 - * g++.dg/init/array60.C: New test. - -2020-12-10 Dennis Zhang - - * gcc.target/arm/simd/mve-vsub_1.c: Fix typo. - Remove needless dg-additional-options. - -2020-12-10 Marek Polacek - - PR c++/68451 - * g++.dg/cpp0x/friend6.C: New test. - -2020-12-10 Christophe Lyon - - * gcc.target/arm/simd/mve-vand.c: New test. - -2020-12-10 Richard Sandiford - - PR tree-optimization/98069 - * gcc.dg/vect/pr98069.c: New file. - -2020-12-10 Joel Hutton - - * gcc.dg/vect/pr97929.c: New test. - -2020-12-10 Richard Biener - - PR tree-optimization/98211 - * gcc.dg/pr98211.c: New testcase. - -2020-12-10 Jakub Jelinek - - PR rtl-optimization/98212 - * gcc.target/i386/pr98212.c: New test. - -2020-12-10 Jakub Jelinek - - PR tree-optimization/98169 - * gcc.target/i386/pr98169.c: New test. - -2020-12-10 Jakub Jelinek - - PR middle-end/98205 - * c-c++-common/gomp/doacross-4.c: New test. - -2020-12-10 Richard Biener - - * gcc.dg/vect/bb-slp-div-1.c: Expect the load to be - vectorized. - -2020-12-10 Nikhil Benesch - - * gcc.misc-tests/godump-1.c: Add test case. - -2020-12-10 Ian Lance Taylor - - * go.test/go-test.exp (go-gc-tests): Recognize errorcheckdir -n, - for bug345.go. - -2020-12-09 Ian Lance Taylor - - * go.test/go-test.exp (errchk): Rewrite regexp quoting to use - curly braces, making it much simpler. - -2020-12-09 Richard Biener - - PR tree-optimization/98213 - * g++.dg/pr98213.C: New testcase. - -2020-12-09 Marek Polacek - - PR c++/97517 - * g++.dg/diagnostic/nullptr.C: New test. - -2020-12-09 Martin Liska - - PR tree-optimization/98182 - * gcc.dg/tree-ssa/if-to-switch-1.c: Add case-values-threshold in - order to fix them for aarch64. - * gcc.dg/tree-ssa/if-to-switch-10.c: Likewise. - -2020-12-09 Ilya Leoshkevich - - * gcc.target/s390/zvector/autovec-double-signaling-eq.c: Build - with exceptions. - * gcc.target/s390/zvector/autovec-float-signaling-eq.c: - Likewise. - -2020-12-09 Tobias Burnus - - * c-c++-common/gomp/allocate-5.c: New test. - -2020-12-09 Richard Biener - - PR c/98200 - * gcc.dg/gimplefe-error-8.c: New testcase. - -2020-12-09 Tobias Burnus - - * gfortran.dg/gomp/reduction4.f90: Update scan-trees, add - lost testcase; move test with FE error to ... - * gfortran.dg/gomp/reduction5.f90: ... here. - -2020-12-09 Jakub Jelinek - - PR tree-optimization/98199 - * gcc.c-torture/compile/pr98199.c: New test. - -2020-12-09 Jakub Jelinek - - PR c++/98193 - * g++.dg/cpp2a/bit-cast7.C: New test. - -2020-12-09 Jason Merrill - - * g++.dg/cpp2a/concepts-nodiscard1.C: Remove xfail. - -2020-12-09 Jason Merrill - - PR c++/59238 - * g++.dg/cpp0x/new4.C: New test. - -2020-12-08 Jakub Jelinek - - PR tree-optimization/98191 - * gcc.dg/torture/pr98191.c: Add dg-additional-options with - -w -Wno-psabi. - -2020-12-08 Marek Polacek - - PR c++/98103 - * g++.dg/ubsan/vptr-18.C: New test. - -2020-12-08 Jason Merrill - - PR c++/96299 - * g++.dg/cpp2a/spaceship-synth-neg2.C: Move error. - * g++.dg/cpp2a/spaceship-p1186.C: New test. - -2020-12-08 Martin Liska - - PR tree-optimization/98182 - * gcc.dg/tree-ssa/if-to-switch-10.c: New test. - * gcc.dg/tree-ssa/pr98182.c: New test. - -2020-12-08 Tobias Burnus - - * gfortran.dg/gomp/reduction4.f90: Update; move FE some tests to ... - * gfortran.dg/gomp/reduction6.f90: ... this new test and ... - * gfortran.dg/gomp/reduction7.f90: ... this new test. - * gfortran.dg/gomp/reduction5.f90: Add dg-error. - * gfortran.dg/gomp/scan-1.f90: New test. - * gfortran.dg/gomp/scan-2.f90: New test. - * gfortran.dg/gomp/scan-3.f90: New test. - * gfortran.dg/gomp/scan-4.f90: New test. - * gfortran.dg/gomp/scan-5.f90: New test. - * gfortran.dg/gomp/scan-6.f90: New test. - * gfortran.dg/gomp/scan-7.f90: New test. - -2020-12-08 Jakub Jelinek - - PR target/94440 - * gcc.target/i386/pr94440-1.c: New file. - * gcc.target/i386/pr94440-2.c: New file. - -2020-12-08 Rainer Orth - - * gcc.target/i386/avx512vpopcntdq-pr97770-2.c: Require - avx512vpopcntdq support. - * gcc.target/i386/avx512vpopcntdqvl-pr97770-1.c: Require - avx512vpopcntdq, avx512vl support. - -2020-12-08 Rainer Orth - - * gcc.target/i386/pr98100.c: Require ifunc support. - -2020-12-08 Richard Biener - - PR testsuite/95900 - * gcc.dg/vect/bb-slp-pr95866.c: Require sse2 for the - BIT_FIELD_REF match. - -2020-12-08 Jakub Jelinek - - * gcc.target/i386/avx512dq-vandnpd-2.c (CALC): Use union - to avoid aliasing violations. - * gcc.target/i386/avx512dq-vandnps-2.c (CALC): Likewise. - * gcc.target/i386/avx512dq-vandpd-2.c (CALC): Likewise. - * gcc.target/i386/avx512dq-vandps-2.c (CALC): Likewise. - * gcc.target/i386/avx512dq-vorpd-2.c (CALC): Likewise. - * gcc.target/i386/avx512dq-vorps-2.c (CALC): Likewise. - * gcc.target/i386/avx512dq-vxorpd-2.c (CALC): Likewise. - * gcc.target/i386/avx512dq-vxorps-2.c (CALC): Likewise. - -2020-12-08 Jakub Jelinek - - PR c++/98187 - * c-c++-common/gomp/pr98187.c: New test. - -2020-12-08 Richard Biener - - PR tree-optimization/98191 - * gcc.dg/torture/pr98191.c: New testcase. - -2020-12-08 Richard Biener - - PR tree-optimization/97559 - * gcc.dg/torture/pr97559-1.c: New testcase. - * gcc.dg/torture/pr97559-2.c: Likewise. - -2020-12-08 Prathamesh Kulkarni - - PR target/97872 - * gcc.target/arm/pr97872.c: New test. - -2020-12-08 Eric Botcazou - - PR target/96470 - * gnat.dg/opt39.adb: Add dg-additional-options for PowerPC. - -2020-12-07 Martin Uecker - - PR c/97981 - * gcc.dg/pr97981.c: New test. - * gcc.dg/pr60195.c: Adapt test. - -2020-12-07 Jakub Jelinek - - PR target/98147 - * gcc.dg/pr98147.c: New test. - -2020-12-07 Marek Polacek - - PR c++/98043 - * g++.dg/cpp0x/enum41.C: New test. - -2020-12-07 Ian Lance Taylor - - * go.test/go-test.exp (errchk): Don't backslash quote parentheses - that are already backslash quoted. - -2020-12-07 Marek Polacek - - PR c++/98126 - * g++.dg/warn/Wsequence-point-4.C: New test. - -2020-12-07 Nathan Sidwell - - PR c++/98116 - * g++.dg/template/pr98116.C: Remove dg-ice. - * g++.dg/template/pr98116-2.C: New. - -2020-12-07 Richard Biener - - PR tree-optimization/98113 - * gcc.dg/vect/bb-slp-70.c: New testcase. - -2020-12-07 Richard Biener - - PR tree-optimization/98117 - * gcc.dg/torture/pr98117.c: New testcase. - -2020-12-07 Andreas Krebbel - - * gcc.target/s390/s390.exp: New target check s390_zarch. - * gcc.target/s390/stack-clash-1.c: Use s390_zarch instead of lp64. - * gcc.target/s390/stack-clash-2.c: Likewise. - * gcc.target/s390/stack-clash-3.c: Likewise. - * gcc.target/s390/stack-clash-5.c: New test. - -2020-12-07 Richard Biener - - PR tree-optimization/98137 - * gcc.dg/vect/bb-slp-pr98137.c: New testcase. - -2020-12-06 H.J. Lu - - * gcc.target/i386/pr98161.c: New test. - -2020-12-06 Jakub Jelinek - - PR tree-optimization/96232 - * gcc.dg/tree-ssa/pr96232-2.c: New test. - * gcc.dg/tree-ssa/pr88676-2.c: Check phiopt2 dump rather than phiopt1. - -2020-12-06 Jakub Jelinek - - PR tree-optimization/96232 - * gcc.dg/tree-ssa/pr96232-1.c: New test. - -2020-12-06 Thomas Koenig - - PR testsuite/98156 - * gfortran.dg/coarray/alloc_comp_1.f90: Upper cobound is - determined by num_images(), not this_image(). - -2020-12-06 Alan Modra - - * gcc.target/powerpc/signbit-1.c: Reinstate lp64 condition. - * gcc.target/powerpc/signbit-2.c: Match 32-bit output too. - -2020-12-05 Patrick Palka - - PR c++/97093 - * g++.dg/cpp2a/concepts-requires22.C: New test. - -2020-12-05 Patrick Palka - - PR c++/97093 - * g++.dg/concepts/pr94252.C: Verify we no longer issue a - spurious unsatisfaction note when diagnosing ill-formed - satisfaction. - * g++.dg/cpp2a/concepts-requires18.C: No longer expect a - spurious unsatisfaction diagnostic when evaluating the - nested-requirement subst of a requires-expression that - appears outside of a template. - * g++.dg/cpp2a/concepts-requires21.C: Verify we no longer issue - a spurious unsatisfaction note when evaluating a - nested-requirement of a requires-expression that appears outside - of a template. - * g++.dg/cpp2a/concepts-nonbool3.C: New test. - * g++.dg/cpp2a/concepts-pr97093.C: New test. - -2020-12-05 Maciej W. Rozycki - - PR target/95294 - * gcc.target/vax/cmpelim-eq-adddf.c: New test. - * gcc.target/vax/cmpelim-eq-addhi.c: New test. - * gcc.target/vax/cmpelim-eq-addqi.c: New test. - * gcc.target/vax/cmpelim-eq-addsf.c: New test. - * gcc.target/vax/cmpelim-eq-addsi.c: New test. - * gcc.target/vax/cmpelim-eq-andhi.c: New test. - * gcc.target/vax/cmpelim-eq-andqi.c: New test. - * gcc.target/vax/cmpelim-eq-andsi.c: New test. - * gcc.target/vax/cmpelim-eq-ashlsi.c: New test. - * gcc.target/vax/cmpelim-eq-ashrsi.c: New test. - * gcc.target/vax/cmpelim-eq-divdf.c: New test. - * gcc.target/vax/cmpelim-eq-divhi.c: New test. - * gcc.target/vax/cmpelim-eq-divqi.c: New test. - * gcc.target/vax/cmpelim-eq-divsf.c: New test. - * gcc.target/vax/cmpelim-eq-divsi.c: New test. - * gcc.target/vax/cmpelim-eq-extendhisi.c: New test. - * gcc.target/vax/cmpelim-eq-extendqisi.c: New test. - * gcc.target/vax/cmpelim-eq-extvsi.c: New test. - * gcc.target/vax/cmpelim-eq-extzvsi.c: New test. - * gcc.target/vax/cmpelim-eq-fixdfhi.c: New test. - * gcc.target/vax/cmpelim-eq-fixdfqi.c: New test. - * gcc.target/vax/cmpelim-eq-fixdfsi.c: New test. - * gcc.target/vax/cmpelim-eq-fixsfhi.c: New test. - * gcc.target/vax/cmpelim-eq-fixsfqi.c: New test. - * gcc.target/vax/cmpelim-eq-fixsfsi.c: New test. - * gcc.target/vax/cmpelim-eq-floatsisf.c: New test. - * gcc.target/vax/cmpelim-eq-insvsi.c: New test. - * gcc.target/vax/cmpelim-eq-iorhi.c: New test. - * gcc.target/vax/cmpelim-eq-iorqi.c: New test. - * gcc.target/vax/cmpelim-eq-iorsi.c: New test. - * gcc.target/vax/cmpelim-eq-mova.c: New test. - * gcc.target/vax/cmpelim-eq-movdf.c: New test. - * gcc.target/vax/cmpelim-eq-movhi.c: New test. - * gcc.target/vax/cmpelim-eq-movqi.c: New test. - * gcc.target/vax/cmpelim-eq-movsf.c: New test. - * gcc.target/vax/cmpelim-eq-movsi.c: New test. - * gcc.target/vax/cmpelim-eq-muldf.c: New test. - * gcc.target/vax/cmpelim-eq-mulhi.c: New test. - * gcc.target/vax/cmpelim-eq-mulqi.c: New test. - * gcc.target/vax/cmpelim-eq-mulsf.c: New test. - * gcc.target/vax/cmpelim-eq-mulsi.c: New test. - * gcc.target/vax/cmpelim-eq-nothi.c: New test. - * gcc.target/vax/cmpelim-eq-notqi.c: New test. - * gcc.target/vax/cmpelim-eq-notsi.c: New test. - * gcc.target/vax/cmpelim-eq-rotlsi.c: New test. - * gcc.target/vax/cmpelim-eq-rotrsi.c: New test. - * gcc.target/vax/cmpelim-eq-subdf.c: New test. - * gcc.target/vax/cmpelim-eq-subhi.c: New test. - * gcc.target/vax/cmpelim-eq-subqi.c: New test. - * gcc.target/vax/cmpelim-eq-subsf.c: New test. - * gcc.target/vax/cmpelim-eq-subsi.c: New test. - * gcc.target/vax/cmpelim-eq-truncdfsf.c: New test. - * gcc.target/vax/cmpelim-eq-trunchiqi.c: New test. - * gcc.target/vax/cmpelim-eq-truncsihi.c: New test. - * gcc.target/vax/cmpelim-eq-truncsiqi.c: New test. - * gcc.target/vax/cmpelim-eq-zextendhisi.c: New test. - * gcc.target/vax/cmpelim-eq-zextendqihi.c: New test. - * gcc.target/vax/cmpelim-eq-zextendqisi.c: New test. - * gcc.target/vax/cmpelim-le-adddf.c: New test. - * gcc.target/vax/cmpelim-le-addhi.c: New test. - * gcc.target/vax/cmpelim-le-addqi.c: New test. - * gcc.target/vax/cmpelim-le-addsf.c: New test. - * gcc.target/vax/cmpelim-le-addsi.c: New test. - * gcc.target/vax/cmpelim-le-andhi.c: New test. - * gcc.target/vax/cmpelim-le-andqi.c: New test. - * gcc.target/vax/cmpelim-le-andsi.c: New test. - * gcc.target/vax/cmpelim-le-ashlsi.c: New test. - * gcc.target/vax/cmpelim-le-ashrsi.c: New test. - * gcc.target/vax/cmpelim-le-divdf.c: New test. - * gcc.target/vax/cmpelim-le-divhi.c: New test. - * gcc.target/vax/cmpelim-le-divqi.c: New test. - * gcc.target/vax/cmpelim-le-divsf.c: New test. - * gcc.target/vax/cmpelim-le-divsi.c: New test. - * gcc.target/vax/cmpelim-le-extendhisi.c: New test. - * gcc.target/vax/cmpelim-le-extendqisi.c: New test. - * gcc.target/vax/cmpelim-le-extvsi.c: New test. - * gcc.target/vax/cmpelim-le-extzvsi.c: New test. - * gcc.target/vax/cmpelim-le-fixdfhi.c: New test. - * gcc.target/vax/cmpelim-le-fixdfqi.c: New test. - * gcc.target/vax/cmpelim-le-fixdfsi.c: New test. - * gcc.target/vax/cmpelim-le-fixsfhi.c: New test. - * gcc.target/vax/cmpelim-le-fixsfqi.c: New test. - * gcc.target/vax/cmpelim-le-fixsfsi.c: New test. - * gcc.target/vax/cmpelim-le-floatsisf.c: New test. - * gcc.target/vax/cmpelim-le-insvsi.c: New test. - * gcc.target/vax/cmpelim-le-iorhi.c: New test. - * gcc.target/vax/cmpelim-le-iorqi.c: New test. - * gcc.target/vax/cmpelim-le-iorsi.c: New test. - * gcc.target/vax/cmpelim-le-movdf.c: New test. - * gcc.target/vax/cmpelim-le-movhi.c: New test. - * gcc.target/vax/cmpelim-le-movqi.c: New test. - * gcc.target/vax/cmpelim-le-movsf.c: New test. - * gcc.target/vax/cmpelim-le-movsi.c: New test. - * gcc.target/vax/cmpelim-le-muldf.c: New test. - * gcc.target/vax/cmpelim-le-mulhi.c: New test. - * gcc.target/vax/cmpelim-le-mulqi.c: New test. - * gcc.target/vax/cmpelim-le-mulsf.c: New test. - * gcc.target/vax/cmpelim-le-mulsi.c: New test. - * gcc.target/vax/cmpelim-le-nothi.c: New test. - * gcc.target/vax/cmpelim-le-notqi.c: New test. - * gcc.target/vax/cmpelim-le-notsi.c: New test. - * gcc.target/vax/cmpelim-le-rotlsi.c: New test. - * gcc.target/vax/cmpelim-le-rotrsi.c: New test. - * gcc.target/vax/cmpelim-le-subdf.c: New test. - * gcc.target/vax/cmpelim-le-subhi.c: New test. - * gcc.target/vax/cmpelim-le-subqi.c: New test. - * gcc.target/vax/cmpelim-le-subsf.c: New test. - * gcc.target/vax/cmpelim-le-subsi.c: New test. - * gcc.target/vax/cmpelim-le-truncdfsf.c: New test. - * gcc.target/vax/cmpelim-le-xorhi.c: New test. - * gcc.target/vax/cmpelim-le-xorqi.c: New test. - * gcc.target/vax/cmpelim-le-xorsi.c: New test. - * gcc.target/vax/cmpelim-leu-subhi.c: New test. - * gcc.target/vax/cmpelim-leu-subqi.c: New test. - * gcc.target/vax/cmpelim-leu-subsi.c: New test. - * gcc.target/vax/cmpelim-lt-adddf.c: New test. - * gcc.target/vax/cmpelim-lt-addhi.c: New test. - * gcc.target/vax/cmpelim-lt-addqi.c: New test. - * gcc.target/vax/cmpelim-lt-addsf.c: New test. - * gcc.target/vax/cmpelim-lt-addsi.c: New test. - * gcc.target/vax/cmpelim-lt-andhi.c: New test. - * gcc.target/vax/cmpelim-lt-andqi.c: New test. - * gcc.target/vax/cmpelim-lt-andsi.c: New test. - * gcc.target/vax/cmpelim-lt-ashlsi.c: New test. - * gcc.target/vax/cmpelim-lt-ashrsi.c: New test. - * gcc.target/vax/cmpelim-lt-divdf.c: New test. - * gcc.target/vax/cmpelim-lt-divhi.c: New test. - * gcc.target/vax/cmpelim-lt-divqi.c: New test. - * gcc.target/vax/cmpelim-lt-divsf.c: New test. - * gcc.target/vax/cmpelim-lt-divsi.c: New test. - * gcc.target/vax/cmpelim-lt-extendhisi.c: New test. - * gcc.target/vax/cmpelim-lt-extendqisi.c: New test. - * gcc.target/vax/cmpelim-lt-extvsi.c: New test. - * gcc.target/vax/cmpelim-lt-extzvsi.c: New test. - * gcc.target/vax/cmpelim-lt-fixdfhi.c: New test. - * gcc.target/vax/cmpelim-lt-fixdfqi.c: New test. - * gcc.target/vax/cmpelim-lt-fixdfsi.c: New test. - * gcc.target/vax/cmpelim-lt-fixsfhi.c: New test. - * gcc.target/vax/cmpelim-lt-fixsfqi.c: New test. - * gcc.target/vax/cmpelim-lt-fixsfsi.c: New test. - * gcc.target/vax/cmpelim-lt-floatsisf.c: New test. - * gcc.target/vax/cmpelim-lt-insvsi.c: New test. - * gcc.target/vax/cmpelim-lt-iorhi.c: New test. - * gcc.target/vax/cmpelim-lt-iorqi.c: New test. - * gcc.target/vax/cmpelim-lt-iorsi.c: New test. - * gcc.target/vax/cmpelim-lt-movdf.c: New test. - * gcc.target/vax/cmpelim-lt-movhi.c: New test. - * gcc.target/vax/cmpelim-lt-movqi.c: New test. - * gcc.target/vax/cmpelim-lt-movsf.c: New test. - * gcc.target/vax/cmpelim-lt-movsi.c: New test. - * gcc.target/vax/cmpelim-lt-muldf.c: New test. - * gcc.target/vax/cmpelim-lt-mulhi.c: New test. - * gcc.target/vax/cmpelim-lt-mulqi.c: New test. - * gcc.target/vax/cmpelim-lt-mulsf.c: New test. - * gcc.target/vax/cmpelim-lt-mulsi.c: New test. - * gcc.target/vax/cmpelim-lt-nothi.c: New test. - * gcc.target/vax/cmpelim-lt-notqi.c: New test. - * gcc.target/vax/cmpelim-lt-notsi.c: New test. - * gcc.target/vax/cmpelim-lt-rotlsi.c: New test. - * gcc.target/vax/cmpelim-lt-rotrsi.c: New test. - * gcc.target/vax/cmpelim-lt-subdf.c: New test. - * gcc.target/vax/cmpelim-lt-subhi.c: New test. - * gcc.target/vax/cmpelim-lt-subqi.c: New test. - * gcc.target/vax/cmpelim-lt-subsf.c: New test. - * gcc.target/vax/cmpelim-lt-subsi.c: New test. - * gcc.target/vax/cmpelim-lt-truncdfsf.c: New test. - * gcc.target/vax/cmpelim-lt-xorhi.c: New test. - * gcc.target/vax/cmpelim-lt-xorqi.c: New test. - * gcc.target/vax/cmpelim-lt-xorsi.c: New test. - * gcc.target/vax/cmpelim-ltu-subhi.c: New test. - * gcc.target/vax/cmpelim-ltu-subqi.c: New test. - * gcc.target/vax/cmpelim-ltu-subsi.c: New test. - * gcc.target/vax/cmpelim-xx-addsi.c: New test. - * gcc.target/vax/cmpelim-xx-insvsi.c: New test. - * gcc.target/vax/cmpelim-xxu-subsi.c: New test. - * gcc.target/vax/peephole2-eq-andhi.c: New test. - * gcc.target/vax/peephole2-eq-andqi.c: New test. - * gcc.target/vax/peephole2-eq-andsi.c: New test. - * gcc.target/vax/peephole2-eq-cmpvsi.c: New test. - * gcc.target/vax/peephole2-eq-cmpzvsi.c: New test. - * gcc.target/vax/peephole2-eq-ctzhi-0.c: New test. - * gcc.target/vax/peephole2-eq-ctzhi-1.c: New test. - * gcc.target/vax/peephole2-eq-ctzqi-0.c: New test. - * gcc.target/vax/peephole2-eq-ctzqi-1.c: New test. - * gcc.target/vax/peephole2-eq-ctzsi-0.c: New test. - * gcc.target/vax/peephole2-eq-ctzsi-1.c: New test. - * gcc.target/vax/peephole2-eq-ffshi.c: New test. - * gcc.target/vax/peephole2-eq-ffsqi.c: New test. - * gcc.target/vax/peephole2-eq-ffssi.c: New test. - * gcc.target/vax/peephole2-le-andhi.c: New test. - * gcc.target/vax/peephole2-le-andqi.c: New test. - * gcc.target/vax/peephole2-le-andsi.c: New test. - * gcc.target/vax/peephole2-le-cmpvsi.c: New test. - * gcc.target/vax/peephole2-le-cmpzvsi.c: New test. - * gcc.target/vax/peephole2-leu-cmpvsi.c: New test. - * gcc.target/vax/peephole2-leu-cmpzvsi.c: New test. - * gcc.target/vax/peephole2-lt-andhi.c: New test. - * gcc.target/vax/peephole2-lt-andqi.c: New test. - * gcc.target/vax/peephole2-lt-andsi.c: New test. - * gcc.target/vax/peephole2-lt-cmpvsi.c: New test. - * gcc.target/vax/peephole2-lt-cmpzvsi.c: New test. - * gcc.target/vax/peephole2-ltu-cmpvsi.c: New test. - * gcc.target/vax/peephole2-ltu-cmpzvsi.c: New test. - -2020-12-05 Maciej W. Rozycki - - * gcc.target/vax/movmem.c: New test. - -2020-12-05 Maciej W. Rozycki - - * gcc.target/vax/cpymem.c: New test. - -2020-12-05 Maciej W. Rozycki - - * gcc.target/vax/ctzhi.c: New test. - * gcc.target/vax/ctzqi.c: New test. - * gcc.target/vax/ffshi.c: New test. - * gcc.target/vax/ffsqi.c: New test. - -2020-12-05 Maciej W. Rozycki - - * gcc.target/vax/ctzsi.c: New test. - -2020-12-05 Maciej W. Rozycki - - * gcc.target/vax/bbcci.c: New test. - * gcc.target/vax/bbssi.c: New test. - -2020-12-05 Maciej W. Rozycki - - * gcc.target/vax/ffssi.c: New test. - -2020-12-05 Maciej W. Rozycki - - * gcc.dg/loop-8.c: Exclude for `vax-*-*'. - * gcc.target/vax/compare-add-zero.c: New test. - * gcc.target/vax/compare-mov-zero.c: New test. - -2020-12-05 Maciej W. Rozycki - - * gcc.target/vax/vax.exp: Use `gcc-dg-runtest' rather than - `dg-runtest'. - * gcc.target/vax/pr56875.c (dg-options): Make empty. - (a): Rewrite for calculations to make effect. Reformat. - -2020-12-05 Matt Thomas - Maciej W. Rozycki - - PR target/58901 - * gcc.c-torture/compile/pr58901-0.c: New test. - * gcc.c-torture/compile/pr58901-1.c: New test. - -2020-12-05 Roman Zhuykov - - PR rtl-optimization/97421 - * gcc.c-torture/execute/pr97421-1.c: New test. - * gcc.c-torture/execute/pr97421-2.c: New test. - * gcc.c-torture/execute/pr97421-3.c: New test. - -2020-12-05 Paul Thomas - - PR fortran/98016 - * gfortran.dg/pr98016.f90: New test. - -2020-12-05 Venkataramanan Kumar - Sharavan Kumar - - * gcc.target/i386/funcspec-56.inc: Handle new march. - * g++.target/i386/mv29.C: New file. - -2020-12-05 Jakub Jelinek - - PR c++/98122 - * g++.dg/cpp1y/constexpr-98122.C: New test. - * g++.dg/cpp2a/constexpr-98122.C: New test. - -2020-12-04 Jason Merrill - - PR c++/93083 - * g++.dg/cpp2a/nontype-class40.C: New test. - -2020-12-04 Jakub Jelinek - - PR c++/98130 - * g++.dg/opt/pr98130.C: New test. - -2020-12-04 Jakub Jelinek - - PR target/96226 - * gcc.target/i386/pr96226.c: New test. - -2020-12-04 Jakub Jelinek - - PR libstdc++/93121 - * g++.dg/cpp2a/bit-cast6.C: New test. - -2020-12-04 Nathan Sidwell - - PR c++/98116 - * g++.dg/template/pr98116.C: Enable robust checking. - -2020-12-04 Jakub Jelinek - - PR target/98100 - * gcc.target/i386/pr98100.c: New test. - -2020-12-04 Martin Liska - - PR testsuite/98123 - * gcc.dg/tree-ssa/if-to-switch-4.c: Add param to make the test - stable on all architectures. - * gcc.dg/tree-ssa/if-to-switch-6.c: Likewise. - * gcc.dg/tree-ssa/if-to-switch-8.c: Likewise. - -2020-12-04 Eric Botcazou - - * gcc.dg/pr98099.c: Compile only for dfp targets. - -2020-12-04 Eric Botcazou - - * gnat.dg/opt91.ads, gnat.dg/opt91.adb: New test. - * gnat.dg/opt91_pkg.ads, gnat.dg/opt91_pkg.adb: New helper. - -2020-12-04 Jakub Jelinek - - PR c++/80780 - * g++.dg/cpp2a/srcloc1.C (quux): Use __PRETTY_FUNCTION__ instead of - function. - * g++.dg/cpp2a/srcloc2.C (quux): Likewise. - * g++.dg/cpp2a/srcloc15.C (S::S): Likewise. - (bar): Likewise. Adjust expected column. - * g++.dg/cpp2a/srcloc17.C (S::S): Likewise. - (bar): Likewise. Adjust expected column. - -2020-12-03 Jason Merrill - - * g++.dg/cpp2a/concepts-nodiscard1.C: XFAIL. - -2020-12-03 Martin Sebor - - PR c++/90629 - PR middle-end/94527 - * g++.dg/asan/asan_test.cc: Fix a bug. - * g++.dg/warn/delete-array-1.C: Add expected warning. - * g++.old-deja/g++.other/delete2.C: Add expected warning. - * g++.dg/warn/Wfree-nonheap-object-2.C: New test. - * g++.dg/warn/Wfree-nonheap-object.C: New test. - * g++.dg/warn/Wmismatched-new-delete.C: New test. - * g++.dg/warn/Wmismatched-dealloc-2.C: New test. - * g++.dg/warn/Wmismatched-dealloc.C: New test. - * gcc.dg/Wmismatched-dealloc.c: New test. - * gcc.dg/analyzer/malloc-1.c: Prune out expected warning. - * gcc.dg/attr-malloc.c: New test. - * gcc.dg/free-1.c: Adjust text of expected warning. - * gcc.dg/free-2.c: Same. - * gcc.dg/torture/pr71816.c: Prune out expected warning. - * gcc.dg/tree-ssa/pr19831-2.c: Add an expected warning. - * gcc.dg/Wfree-nonheap-object-2.c: New test. - * gcc.dg/Wfree-nonheap-object-3.c: New test. - * gcc.dg/Wfree-nonheap-object.c: New test. - * g++.dg/warn/Wfree-nonheap-object.s: New file. - -2020-12-03 Harald Anlauf - - PR fortran/95342 - * gfortran.dg/pr95342.f90: New test. - -2020-12-03 Ian Lance Taylor - - * go.test/go-test.exp (go-gc-tests): Add -I. when building all - sources in a directory (errorcheckdir, compiledir, rundir, - rundircmpout). - -2020-12-03 Jason Merrill - - PR c++/98019 - * g++.dg/cpp2a/concepts-nodiscard1.C: New test. - -2020-12-03 Uroš Bizjak - Jakub Jelinek - - PR target/98086 - * gcc.target/i386/pr98086.c: New test. - -2020-12-03 Nathan Sidwell - - PR c++/98115 - PR c++/98116 - * g++.dg/template/pr98115.C: New. - * g++.dg/template/pr98116.C: New. - -2020-12-03 Andreas Krebbel - - * gcc.target/s390/stack-clash-4.c: New test. - -2020-12-03 Richard Sandiford - - * gcc.target/aarch64/sve/acle/general/undef_1.c: New test. - -2020-12-03 Eric Botcazou - - * gcc.dg/pr98099.c: New test. - -2020-12-03 Eric Botcazou - - * g++.dg/cpp2a/pr98082.C: New test. - -2020-12-03 Jakub Jelinek - - PR libstdc++/93121 - * g++.dg/cpp2a/bit-cast1.C: New test. - * g++.dg/cpp2a/bit-cast2.C: New test. - * g++.dg/cpp2a/bit-cast3.C: New test. - * g++.dg/cpp2a/bit-cast4.C: New test. - * g++.dg/cpp2a/bit-cast5.C: New test. - -2020-12-03 Jakub Jelinek - - * g++.dg/cpp2a/consteval-defarg2.C: New test. - -2020-12-03 Jakub Jelinek - - PR c++/98104 - * g++.dg/warn/pr98104.C: New test. - -2020-12-03 liuhongt - - * gcc.target/i386/avx512bw-pr96906-1.c: New test. - * gcc.target/i386/pr96906-1.c: Add -mno-avx512f. - -2020-12-03 liuhongt - - * gcc.target/i386/avx512bw-vmovdqu16-1.c: Adjust testcase to - make sure only masked load instruction is generated. - * gcc.target/i386/avx512bw-vmovdqu8-1.c: Ditto. - * gcc.target/i386/avx512f-vmovapd-1.c: Ditto. - * gcc.target/i386/avx512f-vmovaps-1.c: Ditto. - * gcc.target/i386/avx512f-vmovdqa32-1.c: Ditto. - * gcc.target/i386/avx512f-vmovdqa64-1.c: Ditto. - * gcc.target/i386/avx512vl-vmovapd-1.c: Ditto. - * gcc.target/i386/avx512vl-vmovaps-1.c: Ditto. - * gcc.target/i386/avx512vl-vmovdqa32-1.c: Ditto. - * gcc.target/i386/avx512vl-vmovdqa64-1.c: Ditto. - * gcc.target/i386/pr97642-1.c: New test. - * gcc.target/i386/pr97642-2.c: New test. - -2020-12-03 Jason Merrill - - * g++.dg/parse/defarg17.C: New test. - -2020-12-03 Jason Merrill - - * g++.dg/cpp2a/consteval-defarg1.C: New test. - -2020-12-03 Hongyu Wang - - PR target/97770 - * gcc.target/i386/avx512bitalg-pr97770-1.c: New test. - * gcc.target/i386/avx512vpopcntdq-pr97770-1.c: Likewise. - * gcc.target/i386/avx512vpopcntdq-pr97770-2.c: Likewise. - * gcc.target/i386/avx512vpopcntdqvl-pr97770-1.c: Likewise. - -2020-12-03 Alexandre Oliva - - * lib/options.exp (check_for_options_with_filter): Detect - unavailable compiler for the selected language, and bail out - as unsupported. - -2020-12-03 Martin Sebor - - * gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Adjust expected warnings - to correctly reflect the maximum object size. - * gcc.dg/tree-ssa/builtin-sprintf-warn-11.c: Same. - * gcc.dg/tree-ssa/builtin-sprintf-warn-18.c: Same. - -2020-12-03 Ilya Leoshkevich - - * gcc.target/s390/builtin-constant-p-threading.c: New test. - -2020-12-03 Peter Bergner - - PR c++/97947 - * g++.target/powerpc/pr97947.C: New test. - -2020-12-02 Jakub Jelinek - - PR c++/80780 - PR c++/93093 - * g++.dg/cpp2a/srcloc15.C: New test. - * g++.dg/cpp2a/srcloc16.C: New test. - * g++.dg/cpp2a/srcloc17.C: New test. - * g++.dg/cpp2a/srcloc18.C: New test. - -2020-12-02 qing zhao - - PR rtl-optimization/97777 - PR rtl-optimization/97777 - * gcc.target/i386/pr97777.c: New test. - -2020-12-02 Jason Merrill - - * g++.dg/other/pr88187.C: Adjust expected error. - * g++.dg/cpp2a/class-deduction-abbrev1.C: New test. - -2020-12-02 Marek Polacek - - PR c++/97975 - * g++.dg/cpp1z/inline-var8.C: New test. - -2020-12-02 Marek Polacek - - PR c++/97187 - PR c++/97993 - * g++.dg/eh/crash2.C: New test. - * g++.dg/template/crash132.C: New test. - -2020-12-02 Martin Sebor - - * gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Adjust expected warnings - to correctly reflect the maximum object size. - * gcc.dg/tree-ssa/builtin-sprintf-warn-11.c: Same. - * gcc.dg/tree-ssa/builtin-sprintf-warn-18.c: Same. - -2020-12-02 Ilya Leoshkevich - - * gcc.target/s390/load-imm64-1.c: New test. - * gcc.target/s390/load-imm64-2.c: New test. - -2020-12-02 Eric Botcazou - - * ada/acats/support/acats25.lst: Delete. - * ada/acats/support/acats26.lst: New file. - * ada/acats/support/fcndecl.ada: Minor tweak. - * ada/acats/support/impdef.a: Add commentary. - * ada/acats/support/impdefg.a (Negative_Zero return): Simplify. - * ada/acats/support/macro.dfs (TASK_STORAGE_SIZE): Bump. - * ada/acats/support/repbody.ada: Upgrade to ACATS 2.6. - * ada/acats/support/tctouch.ada: Likewise. - * ada/acats/tests/c3/c352001.a: New file. - * ada/acats/tests/c4/c433001.a: Correct error messages. - * ada/acats/tests/c4/c453001.a: New file. - * ada/acats/tests/c4/c45622a.ada: Delete. - * ada/acats/tests/c4/c45624a.ada: Likewise. - * ada/acats/tests/c4/c45624b.ada: Likewise. - * ada/acats/tests/c4/c460013.a: New file. - * ada/acats/tests/c4/c460014.a: Likewise. - * ada/acats/tests/c6/c620001.a: Likewise. - * ada/acats/tests/c6/c620002.a: Likewise. - * ada/acats/tests/c7/c761006.a: Redo Unchecked_Deallocation case. - * ada/acats/tests/c9/c96004a.ada: Adjust for Ada 2005. - * ada/acats/tests/c9/c96007a.ada: Likewise. - * ada/acats/tests/cb/cb41004.a: Adjust for AI95-0044. - * ada/acats/tests/cc/cc3016f.ada: Minor tweak. - * ada/acats/tests/cd/cd30011.a: New file. - * ada/acats/tests/cd/cd30012.a: Likewise. - * ada/acats/tests/cd/cd90001.a: Fix comparison. - * ada/acats/tests/cxa/cxa3004.a: New file. - * ada/acats/tests/cxa/cxa5013.a: Likewise. - * ada/acats/tests/cxa/cxac005.a: Adjust for return-by-reference. - * ada/acats/tests/cxb/cxb30061.am: New file. - * ada/acats/tests/cxf/cxf2001.a: Fix failure message. - -2020-12-02 Martin Liska - - PR ipa/98075 - * g++.dg/ipa/pr98075.C: New test. - -2020-12-02 H.J. Lu - - PR middle-end/93195 - * g++.dg/pr93195a.C: New test. - * g++.dg/pr93195b.C: Likewise. - * lib/target-supports.exp - (check_effective_target_o_flag_in_section): New proc. - -2020-12-02 Martin Liska - - PR tree-optimization/98084 - * gcc.dg/tree-ssa/pr98094.c: New test. - -2020-12-02 Jakub Jelinek - - PR rtl-optimization/97459 - * gcc.target/i386/pr97282.c (foo): Use 123456 divisor instead of - 10. - * gcc.dg/pr97459-1.c (TESTS): Add tests for 10, 12 and - 6144. - * gcc.dg/pr97459-2.c (TESTS): Likewise. - * gcc.dg/pr97459-3.c: New test. - * gcc.dg/pr97459-4.c: New test. - * gcc.dg/pr97459-5.c: New test. - * gcc.dg/pr97459-6.c: New test. - -2020-12-02 Martin Liska - - PR c/98087 - * gcc.c-torture/compile/pr98087.c: New test. - -2020-12-02 Uroš Bizjak - - PR target/98079 - * gcc.target/i386/pr98079.c: New test. - -2020-12-02 Martin Liska - - PR tree-optimization/88702 - * gcc.dg/tree-ssa/if-to-switch-9.c: New test. - -2020-12-02 Martin Liska - - PR tree-optimization/98084 - * gcc.dg/tree-ssa/pr98084.c: New test. - -2020-12-02 Jeff Law - - * gcc.target/h8300/add.c: New test. - * gcc.target/h8300/add-2.c: New test. - * gcc.target/h8300/add-3.c: New test. - * gcc.target/h8300/sub.c: New test. - * gcc.target/h8300/sub-2.c: New test. - * gcc.target/h8300/sub-3.c: New test. - -2020-12-02 Ian Lance Taylor - - * go.test/go-test.exp (errchk): Permit trailing */ on ERROR line. - -2020-12-02 H.J. Lu - Jozef Lawrynowicz - - * c-c++-common/attr-used.c: Check the 'R' flag. - * c-c++-common/attr-used-2.c: Likewise. - * c-c++-common/attr-used-3.c: New test. - * c-c++-common/attr-used-4.c: Likewise. - * gcc.c-torture/compile/attr-used-retain-1.c: Likewise. - * gcc.c-torture/compile/attr-used-retain-2.c: Likewise. - * lib/target-supports.exp - (check_effective_target_R_flag_in_section): New proc. - -2020-12-02 H.J. Lu - - * gcc.target/i386/x86-needed-1.c: New test. - * gcc.target/i386/x86-needed-2.c: Likewise. - * gcc.target/i386/x86-needed-3.c: Likewise. - -2020-12-01 Eugene Rozenfeld - - * gcc.dg/pr96708-negative.c: New test. - * gcc.dg/pr96708-positive.c: New test. - -2020-12-01 Martin Sebor - - PR middle-end/97595 - * g++.dg/warn/Warray-bounds-14.C: New test. - * g++.dg/warn/Wstringop-overflow-6.C: New test. - -2020-12-01 Jeff Law - - * gcc.dg/tree-ssa/pr96480.c: Disable jump table optimization - -2020-12-01 JeanHeyd Meneide - - * c-c++-common/cpp/wide-narrow-predef-macros.c: New test. - -2020-12-01 Jeff Law - - * gcc.dg/pr46309-2.c: Add -fno-bit-tests and -fno-jump-tables - to avoid compromising the test. - -2020-12-01 Jakub Jelinek - - PR c++/98072 - * c-c++-common/gomp/depobj-2.c: New test. - -2020-12-01 Martin Sebor - - PR middle-end/97373 - * gcc.dg/tree-ssa/builtin-sprintf-warn-25.c: New test. - -2020-12-01 Martin Liska - - * g++.dg/tree-ssa/if-to-switch-1.C: Do not allow newlines - in .* pattern. - * gcc.dg/tree-ssa/if-to-switch-1.c: Likewise. - * gcc.dg/tree-ssa/if-to-switch-2.c: Likewise. - * gcc.dg/tree-ssa/if-to-switch-3.c: Likewise. - * gcc.dg/tree-ssa/if-to-switch-5.c: Likewise. - -2020-12-01 Martin Liska - - PR testsuite/98085 - * g++.dg/tree-ssa/if-to-switch-1.C: Do not expect precise number - of BBs. - * gcc.dg/tree-ssa/if-to-switch-1.c: Likewise. - * gcc.dg/tree-ssa/if-to-switch-2.c: Likewise. Find better name - for the function. - * gcc.dg/tree-ssa/if-to-switch-3.c: Likewise. Find better name - for the function. - * gcc.dg/tree-ssa/if-to-switch-5.c: Likewise. - -2020-12-01 Jakub Jelinek - - PR rtl-optimization/97954 - * gcc.dg/pr97954.c: New test. - -2020-12-01 Matthew Malcomson - - * lib/hwasan-dg.exp (check_effective_target_hwaddress_exec): Fix - check for correct kernel version. - -2020-12-01 Martin Liska - - PR tree-optimization/14799 - PR ipa/88702 - * gcc.dg/tree-ssa/pr96480.c: Disable if-to-switch conversion. - * gcc.dg/tree-ssa/reassoc-32.c: Likewise. - * g++.dg/tree-ssa/if-to-switch-1.C: New test. - * gcc.dg/tree-ssa/if-to-switch-1.c: New test. - * gcc.dg/tree-ssa/if-to-switch-2.c: New test. - * gcc.dg/tree-ssa/if-to-switch-3.c: New test. - * gcc.dg/tree-ssa/if-to-switch-4.c: New test. - * gcc.dg/tree-ssa/if-to-switch-5.c: New test. - * gcc.dg/tree-ssa/if-to-switch-6.c: New test. - * gcc.dg/tree-ssa/if-to-switch-7.c: New test. - * gcc.dg/tree-ssa/if-to-switch-8.c: New test. - -2020-12-01 Marius Hillenbrand - - * gcc.target/s390/float_t-1.c: New test. - * gcc.target/s390/float_t-2.c: New test. - -2020-12-01 Martin Liska - - * g++.dg/torture/pr93347.C: Reduce and remove LIT keywords. - -2020-12-01 Martin Liska - - PR ipa/98057 - * g++.dg/ipa/pr98057.C: New test. - -2020-12-01 Jakub Jelinek - - PR target/98063 - * gcc.target/i386/pr98063.c: New test. - -2020-12-01 Jakub Jelinek - - * g++.dg/debug/dwarf2/lang-cpp17.C: New test. - * g++.dg/debug/dwarf2/lang-cpp20.C: New test. - -2020-12-01 Jakub Jelinek - - PR debug/97989 - * gcc.dg/cpp/pr97989-1.c: New test. - * gcc.dg/cpp/pr97989-2.c: New test. - -2020-11-30 David Malcolm - - * gcc.dg/plugin/analyzer_gil_plugin.c: New test. - * gcc.dg/plugin/gil-1.c: New test. - * gcc.dg/plugin/gil.h: New header. - * gcc.dg/plugin/plugin.exp (plugin_test_list): Add the new plugin - and test. - -2020-11-30 Ilya Leoshkevich - - * lib/profopt.exp: Unset testname_with_flags if create_gcov - fails. - -2020-11-30 Richard Sandiford - - PR rtl-optimization/98037 - * gcc.target/aarch64/sve/acle/general/pr98037.c: New test. - -2020-11-30 Jeff Law - - * g++.dg/warn/Wnonnull5.C: Fix non-unique testnames. - * g++.dg/warn/Wplacement-new-size-8.C: Likewise. - -2020-11-30 Tobias Burnus - - PR fortran/98011 - * gfortran.dg/goacc/sentinel-free-form.f95: - * gfortran.dg/goacc-gomp/fixed-1.f: New test. - * gfortran.dg/goacc-gomp/free-1.f90: New test. - * gfortran.dg/goacc/fixed-5.f: New test. - -2020-11-30 Richard Biener - - PR tree-optimization/98064 - * g++.dg/vect/pr98064.cc: New testcase. - -2020-11-30 Richard Biener - - PR tree-optimization/98048 - * gcc.dg/vect/pr98048.c: New testcase. - -2020-11-30 Stam Markianos-Wright - - * gcc.target/arm/pr91816.c: New test. - -2020-11-30 Jakub Jelinek - - PR rtl-optimization/97459 - * gcc.dg/pr97459-1.c: New test. - * gcc.dg/pr97459-2.c: New test. - -2020-11-29 Harald Anlauf - - * gfortran.dg/pr98017.f90: New test. - -2020-11-29 Martin Sebor - - PR middle-end/92936 - PR middle-end/92940 - PR middle-end/89428 - * c-c++-common/Wstringop-overflow-2.c: Adjust text of expected - informational notes. - * g++.dg/warn/Wstringop-overflow-3.C: Same. - * g++.dg/warn/Wplacement-new-size.C: Remove a test for a no longer - issued warning. - * gcc.dg/Warray-bounds-43.c: Removed unused declarations. - * gcc.dg/Wstringop-overflow-11.c: Remove xfails. - * gcc.dg/Wstringop-overflow-12.c: Same. - * gcc.dg/Wstringop-overflow-17.c: Adjust text of expected messages. - * gcc.dg/Wstringop-overflow-27.c: Same. Remove xfails. - * gcc.dg/Wstringop-overflow-28.c: Adjust text of expected messages. - * gcc.dg/Wstringop-overflow-29.c: Same. - * gcc.dg/Wstringop-overflow-37.c: Same. - * gcc.dg/Wstringop-overflow-46.c: Same. - * gcc.dg/Wstringop-overflow-47.c: Same. - * gcc.dg/Wstringop-overflow-54.c: Same. - * gcc.dg/warn-strnlen-no-nul.c: Add expected warning. - * gcc.dg/Wstringop-overflow-7.c: New test. - * gcc.dg/Wstringop-overflow-58.c: New test. - * gcc.dg/Wstringop-overflow-59.c: New test. - * gcc.dg/Wstringop-overflow-60.c: New test. - * gcc.dg/Wstringop-overflow-61.c: New test. - * gcc.dg/Wstringop-overflow-62.c: New test. - * gcc.dg/Wstringop-overflow-63.c: New test. - * gcc.dg/Wstringop-overflow-64.c: New test. - -2020-11-28 Eric Botcazou - - * gcc.target/sparc/overflow-6.c: New test. - -2020-11-27 Joseph Myers - - PR preprocessor/97602 - * gcc.dg/cpp/line9.c, gcc.dg/cpp/line10.c: New tests. - -2020-11-27 Iain Buclaw - - * gdc.dg/intrinsics.d: Adjust patterns in scan-tree-dump. - -2020-11-27 Uroš Bizjak - - PR testsuite/98036 - * gcc.target/i386/fma4-256-maccXX.c (check_maccps): - Remove unnecessary postfix increment on a returned variable. - (check_maccpd): Ditto. - * gcc.target/i386/fma4-256-msubXX.c (check_msubps): Ditto. - (check_msubpd): Ditto. - * gcc.target/i386/fma4-256-nmaccXX.c (check_nmaccps): Ditto. - (check_nmaccpd): Ditto. - * gcc.target/i386/fma4-256-nmsubXX.c (check_nmsubps): Ditto. - (check_nmsubpd): Ditto. - * gcc.target/i386/fma4-maccXX.c (check_maccps): Ditto. - (check_maccpd): Ditto. - (check_maccss): Ditto. - (check_maccsd): Ditto. - * gcc.target/i386/fma4-msubXX.c (check_msubps): Ditto. - (check_msubpd): Ditto. - (check_msubss): Ditto. - (check_msubsd): Ditto. - * gcc.target/i386/fma4-nmaccXX.c (check_nmaccps): Ditto. - (check_nmaccpd): Ditto. - (check_nmaccss): Ditto. - (check_nmaccsd): Ditto. - * gcc.target/i386/fma4-nmsubXX.c (check_nmsubps): Ditto. - (check_nmsubpd): Ditto. - (check_nmsubss): Ditto. - (check_nmsubsd): Ditto. - * gcc.target/i386/xop-haddX.c (check_sbyte2word): Add missing return. - (check_sbyte2dword): - Remove unnecessary postfix increment on a returned value. - (check_sbyte2qword): Ditto. - (check_sword2dword): Add missing return. - (check_sword2qword): - Remove unnecessary postfix increment on a returned value. - (check_dword2qword): Add missing return. - * gcc.target/i386/xop-hadduX.c (check_byte2word): Add missing return. - (check_byte2dword): - Remove unnecessary postfix increment on a returned value. - (check_byte2qword): Ditto. - (check_word2dword): Add missing return. - (check_word2qword): - Remove unnecessary postfix increment on a returned value. - (check_word2qword): Add missing return. - * gcc.target/i386/xop-hsubX.c (check_sbyte2word): Add missing return. - (check_sword2dword): Ditto. - (check_sword2qword): Ditto. - -2020-11-27 Thomas Schwinge - - * c-c++-common/goacc/kernels-decompose-ice-1.c: Adjust. - * c-c++-common/goacc/kernels-decompose-ice-2.c: Likewise. - -2020-11-27 Tobias Burnus - - * gfortran.dg/gomp/requires-4.f90: Fix typo in '!$omp' clause. - -2020-11-27 Tobias Burnus - - * gfortran.dg/gomp/requires-4.f90: Fix '!$omp' syntax. - -2020-11-27 Jakub Jelinek - - PR libstdc++/88101 - * g++.dg/torture/builtin-clear-padding-3.C: New test. - -2020-11-27 Tobias Burnus - - PR c/97880 - * gcc.dg/goacc/tile-1.c: New test. - -2020-11-26 Jakub Jelinek - - PR tree-optimization/97997 - * gcc.dg/tree-ssa/pr97997-1.c: New test. - * gcc.dg/tree-ssa/pr97997-2.c: New test. - -2020-11-26 Richard Biener - - PR tree-optimization/97953 - * gcc.dg/pr97953.c: New testcase. - -2020-11-26 Jakub Jelinek - - PR tree-optimization/97979 - * gcc.dg/pr97979.c: New test. - * gcc.c-torture/compile/pr97979.c: New test. - -2020-11-26 Richard Biener - - PR testsuite/98002 - * gcc.dg/strncmp-2.c: Call mprotect again before free. - -2020-11-26 Thomas Schwinge - - * c-c++-common/goacc/cache-3-1.c: New. - * c-c++-common/goacc/cache-3-2.c: Likewise. - * c-c++-common/goacc/data-clause-1.c: Likewise. - * c-c++-common/goacc/data-clause-2.c: Likewise. - * c-c++-common/gomp/map-1.c: Adjust. - * c-c++-common/gomp/map-2.c: Likewise. - * g++.dg/goacc/cache-3-1.C: New. - * g++.dg/goacc/cache-3-2.C: Likewise. - * g++.dg/goacc/data-clause-1.C: Likewise. - * g++.dg/goacc/data-clause-2.C: Likewise. - * g++.dg/gomp/map-1.C: Adjust. - * g++.dg/gomp/map-2.C: Likewise. - -2020-11-26 Uroš Bizjak - - PR target/97873 - * gcc.target/i386/pr97873-3.c: New test. - -2020-11-26 Eric Botcazou - - * gnat.dg/multfixed.adb: Robustify. - -2020-11-26 Jakub Jelinek - - PR target/96906 - * gcc.target/i386/pr96906-1.c: New test. - -2020-11-26 Martin Uecker - - PR c/65455 - PR c/92935 - * gcc.dg/typeof-2.c: Adapt test. - -2020-11-26 David Edelsohn - - * gcc.dg/nextafter-1.c: Omit prototypes if _NEXT_AFTER_2 defined. - * gcc.dg/nextafter-2.c: Define _NEXT_AFTER_2. - * gcc.dg/profile-info-section.c: Skip on AIX. - -2020-11-25 Martin Sebor - - PR bootstrap/94982 - * c-c++-common/patchable_function_entry-error-3.c: Adjust text - of expected warning. - -2020-11-25 Jan Hubicka - - * gcc.dg/lto/modref-3_0.c: New test. - * gcc.dg/lto/modref-3_1.c: New test. - * gcc.dg/lto/modref-4_0.c: New test. - * gcc.dg/lto/modref-4_1.c: New test. - * gcc.dg/tree-ssa/modref-5.c: New test. - -2020-11-25 Harald Anlauf - - PR fortran/85796 - * gfortran.dg/pr85796.f90: New test. - -2020-11-25 Thomas Schwinge - - * g++.dg/gomp/map-1.C: New. - * g++.dg/gomp/map-2.C: Likewise. - * c-c++-common/gomp/map-1.c: Adjust. - * c-c++-common/gomp/map-2.c: Likewise. - -2020-11-25 Thomas Schwinge - - * c-c++-common/goacc/cache-1.c: Update. - * c-c++-common/goacc/cache-2.c: Likewise. - * g++.dg/goacc/cache-1.C: New. - * g++.dg/goacc/cache-2.C: Likewise. - -2020-11-25 Martin Sebor - - PR middle-end/97956 - * gcc.dg/memchr-3.c: New test. - -2020-11-25 Matthew Malcomson - - * c-c++-common/ubsan/sanitize-recover-7.c: Update error message format. - * lib/asan-dg.exp (asan_link_flags): Implement as a helper - function asan_link_flags_1 which asan_link_flags and - hwasan_link_flags use. - (asan_link_flags_1): Parametrised version of asan_link_flags. - * c-c++-common/hwasan/aligned-alloc.c: New test. - * c-c++-common/hwasan/alloca-array-accessible.c: New test. - * c-c++-common/hwasan/alloca-base-init.c: New test. - * c-c++-common/hwasan/alloca-gets-different-tag.c: New test. - * c-c++-common/hwasan/alloca-outside-caught.c: New test. - * c-c++-common/hwasan/arguments-1.c: New test. - * c-c++-common/hwasan/arguments-2.c: New test. - * c-c++-common/hwasan/arguments-3.c: New test. - * c-c++-common/hwasan/arguments.c: New test. - * c-c++-common/hwasan/asan-pr63316.c: New test. - * c-c++-common/hwasan/asan-pr70541.c: New test. - * c-c++-common/hwasan/asan-pr78106.c: New test. - * c-c++-common/hwasan/asan-pr79944.c: New test. - * c-c++-common/hwasan/asan-rlimit-mmap-test-1.c: New test. - * c-c++-common/hwasan/bitfield-1.c: New test. - * c-c++-common/hwasan/bitfield-2.c: New test. - * c-c++-common/hwasan/builtin-special-handling.c: New test. - * c-c++-common/hwasan/check-interface.c: New test. - * c-c++-common/hwasan/halt_on_error-1.c: New test. - * c-c++-common/hwasan/handles-poly_int-marked-vars.c: New test. - * c-c++-common/hwasan/heap-overflow.c: New test. - * c-c++-common/hwasan/hwasan-poison-optimisation.c: New test. - * c-c++-common/hwasan/hwasan-thread-access-parent.c: New test. - * c-c++-common/hwasan/hwasan-thread-basic-failure.c: New test. - * c-c++-common/hwasan/hwasan-thread-clears-stack.c: New test. - * c-c++-common/hwasan/hwasan-thread-success.c: New test. - * c-c++-common/hwasan/kernel-defaults.c: New test. - * c-c++-common/hwasan/large-aligned-0.c: New test. - * c-c++-common/hwasan/large-aligned-1.c: New test. - * c-c++-common/hwasan/large-aligned-untagging-0.c: New test. - * c-c++-common/hwasan/large-aligned-untagging-1.c: New test. - * c-c++-common/hwasan/large-aligned-untagging-2.c: New test. - * c-c++-common/hwasan/large-aligned-untagging-3.c: New test. - * c-c++-common/hwasan/large-aligned-untagging-4.c: New test. - * c-c++-common/hwasan/large-aligned-untagging-5.c: New test. - * c-c++-common/hwasan/large-aligned-untagging-6.c: New test. - * c-c++-common/hwasan/large-aligned-untagging-7.c: New test. - * c-c++-common/hwasan/macro-definition.c: New test. - * c-c++-common/hwasan/no-sanitize-attribute.c: New test. - * c-c++-common/hwasan/param-instrument-mem-intrinsics.c: New test. - * c-c++-common/hwasan/param-instrument-reads-and-writes.c: New test. - * c-c++-common/hwasan/param-instrument-reads.c: New test. - * c-c++-common/hwasan/param-instrument-writes.c: New test. - * c-c++-common/hwasan/random-frame-tag.c: New test. - * c-c++-common/hwasan/sanity-check-pure-c.c: New test. - * c-c++-common/hwasan/setjmp-longjmp-0.c: New test. - * c-c++-common/hwasan/setjmp-longjmp-1.c: New test. - * c-c++-common/hwasan/stack-tagging-basic-0.c: New test. - * c-c++-common/hwasan/stack-tagging-basic-1.c: New test. - * c-c++-common/hwasan/stack-tagging-disable.c: New test. - * c-c++-common/hwasan/unprotected-allocas-0.c: New test. - * c-c++-common/hwasan/unprotected-allocas-1.c: New test. - * c-c++-common/hwasan/use-after-free.c: New test. - * c-c++-common/hwasan/vararray-outside-caught.c: New test. - * c-c++-common/hwasan/vararray-stack-restore-correct.c: New test. - * c-c++-common/hwasan/very-large-objects.c: New test. - * g++.dg/hwasan/hwasan.exp: New test. - * g++.dg/hwasan/rvo-handled.C: New test. - * gcc.dg/hwasan/hwasan.exp: New test. - * gcc.dg/hwasan/nested-functions-0.c: New test. - * gcc.dg/hwasan/nested-functions-1.c: New test. - * gcc.dg/hwasan/nested-functions-2.c: New test. - * lib/hwasan-dg.exp: New file. - -2020-11-25 Jakub Jelinek - - PR rtl-optimization/95862 - * gcc.dg/builtin-artih-overflow-5.c: Renamed to ... - * gcc.dg/builtin-arith-overflow-5.c: ... this. - -2020-11-25 Richard Sandiford - - * gcc.target/aarch64/sve/acle/asm/abs_f16.c (abs_f16_x_untied): Expect - a MOVPRFX instruction. - * gcc.target/aarch64/sve/acle/asm/abs_f32.c (abs_f32_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/abs_f64.c (abs_f64_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/abs_s16.c (abs_s16_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/abs_s32.c (abs_s32_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/abs_s64.c (abs_s64_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/abs_s8.c (abs_s8_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/cls_s16.c (cls_s16_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/cls_s32.c (cls_s32_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/cls_s64.c (cls_s64_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/cls_s8.c (cls_s8_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/clz_s16.c (clz_s16_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/clz_s32.c (clz_s32_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/clz_s64.c (clz_s64_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/clz_s8.c (clz_s8_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/clz_u16.c (clz_u16_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/clz_u32.c (clz_u32_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/clz_u64.c (clz_u64_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/clz_u8.c (clz_u8_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/cnot_s16.c (cnot_s16_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/cnot_s32.c (cnot_s32_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/cnot_s64.c (cnot_s64_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/cnot_s8.c (cnot_s8_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/cnot_u16.c (cnot_u16_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/cnot_u32.c (cnot_u32_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/cnot_u64.c (cnot_u64_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/cnot_u8.c (cnot_u8_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/cnt_bf16.c (cnt_bf16_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/cnt_f16.c (cnt_f16_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/cnt_f32.c (cnt_f32_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/cnt_f64.c (cnt_f64_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/cnt_s16.c (cnt_s16_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/cnt_s32.c (cnt_s32_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/cnt_s64.c (cnt_s64_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/cnt_s8.c (cnt_s8_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/cnt_u16.c (cnt_u16_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/cnt_u32.c (cnt_u32_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/cnt_u64.c (cnt_u64_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/cnt_u8.c (cnt_u8_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/cvt_bf16.c (cvt_bf16_f32_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/cvt_f16.c (cvt_f16_f32_x_untied) - (cvt_f16_f64_x_untied, cvt_f16_s16_x_untied, cvt_f16_s32_x_untied) - (cvt_f16_s64_x_untied, cvt_f16_u16_x_untied, cvt_f16_u32_x_untied) - (cvt_f16_u64_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/cvt_f32.c (cvt_f32_f16_x_untied) - (cvt_f32_f64_x_untied, cvt_f32_s16_x_untied, cvt_f32_s32_x_untied) - (cvt_f32_s64_x_untied, cvt_f32_u16_x_untied, cvt_f32_u32_x_untied) - (cvt_f32_u64_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/cvt_f64.c (cvt_f64_f16_x_untied) - (cvt_f64_f32_x_untied, cvt_f64_s16_x_untied, cvt_f64_s32_x_untied) - (cvt_f64_s64_x_untied, cvt_f64_u16_x_untied, cvt_f64_u32_x_untied) - (cvt_f64_u64_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/cvt_s16.c (cvt_s16_f16_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/cvt_s32.c (cvt_s32_f16_x_untied) - (cvt_s32_f32_x_untied, cvt_s32_s64_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/cvt_s64.c (cvt_s64_f16_x_untied) - (cvt_s64_f32_x_untied, cvt_s64_s64_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/cvt_u16.c (cvt_u16_f16_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/cvt_u32.c (cvt_u32_f16_x_untied) - (cvt_u32_f32_x_untied, cvt_u32_u64_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/cvt_u64.c (cvt_u64_f16_x_untied) - (cvt_u64_f32_x_untied, cvt_u64_u64_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/extb_s16.c (extb_s16_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/extb_s32.c (extb_s32_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/extb_s64.c (extb_s64_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/exth_s32.c (exth_s32_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/exth_s64.c (exth_s64_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/extw_s64.c (extw_s64_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/neg_f16.c (neg_f16_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/neg_f32.c (neg_f32_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/neg_f64.c (neg_f64_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/neg_s16.c (neg_s16_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/neg_s32.c (neg_s32_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/neg_s64.c (neg_s64_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/neg_s8.c (neg_s8_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/not_s16.c (not_s16_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/not_s32.c (not_s32_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/not_s64.c (not_s64_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/not_s8.c (not_s8_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/not_u16.c (not_u16_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/not_u32.c (not_u32_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/not_u64.c (not_u64_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/not_u8.c (not_u8_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/rbit_s16.c (rbit_s16_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/rbit_s32.c (rbit_s32_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/rbit_s64.c (rbit_s64_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/rbit_s8.c (rbit_s8_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/rbit_u16.c (rbit_u16_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/rbit_u32.c (rbit_u32_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/rbit_u64.c (rbit_u64_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/rbit_u8.c (rbit_u8_x_untied): Ditto. - * gcc.target/aarch64/sve/acle/asm/recpx_f16.c (recpx_f16_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/recpx_f32.c (recpx_f32_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/recpx_f64.c (recpx_f64_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/revb_s16.c (revb_s16_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/revb_s32.c (revb_s32_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/revb_s64.c (revb_s64_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/revb_u16.c (revb_u16_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/revb_u32.c (revb_u32_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/revb_u64.c (revb_u64_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/revh_s32.c (revh_s32_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/revh_s64.c (revh_s64_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/revh_u32.c (revh_u32_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/revh_u64.c (revh_u64_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/revw_s64.c (revw_s64_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/revw_u64.c (revw_u64_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/rinta_f16.c (rinta_f16_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/rinta_f32.c (rinta_f32_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/rinta_f64.c (rinta_f64_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/rinti_f16.c (rinti_f16_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/rinti_f32.c (rinti_f32_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/rinti_f64.c (rinti_f64_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/rintm_f16.c (rintm_f16_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/rintm_f32.c (rintm_f32_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/rintm_f64.c (rintm_f64_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/rintn_f16.c (rintn_f16_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/rintn_f32.c (rintn_f32_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/rintn_f64.c (rintn_f64_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/rintp_f16.c (rintp_f16_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/rintp_f32.c (rintp_f32_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/rintp_f64.c (rintp_f64_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/rintx_f16.c (rintx_f16_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/rintx_f32.c (rintx_f32_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/rintx_f64.c (rintx_f64_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/rintz_f16.c (rintz_f16_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/rintz_f32.c (rintz_f32_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/rintz_f64.c (rintz_f64_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/sqrt_f16.c (sqrt_f16_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/sqrt_f32.c (sqrt_f32_x_untied): - Ditto. - * gcc.target/aarch64/sve/acle/asm/sqrt_f64.c (sqrt_f64_x_untied): - Ditto. - * gcc.target/aarch64/sve2/acle/asm/cvtx_f32.c (cvtx_f32_f64_x_untied): - Ditto. - * gcc.target/aarch64/sve2/acle/asm/logb_f16.c (logb_f16_x_untied): - Ditto. - * gcc.target/aarch64/sve2/acle/asm/logb_f32.c (logb_f32_x_untied): - Ditto. - * gcc.target/aarch64/sve2/acle/asm/logb_f64.c (logb_f64_x_untied): - Ditto. - * gcc.target/aarch64/sve2/acle/asm/qabs_s16.c (qabs_s16_x_untied): - Ditto. - * gcc.target/aarch64/sve2/acle/asm/qabs_s32.c (qabs_s32_x_untied): - Ditto. - * gcc.target/aarch64/sve2/acle/asm/qabs_s64.c (qabs_s64_x_untied): - Ditto. - * gcc.target/aarch64/sve2/acle/asm/qabs_s8.c (qabs_s8_x_untied): - Ditto. - * gcc.target/aarch64/sve2/acle/asm/qneg_s16.c (qneg_s16_x_untied): - Ditto. - * gcc.target/aarch64/sve2/acle/asm/qneg_s32.c (qneg_s32_x_untied): - Ditto. - * gcc.target/aarch64/sve2/acle/asm/qneg_s64.c (qneg_s64_x_untied): - Ditto. - * gcc.target/aarch64/sve2/acle/asm/qneg_s8.c (qneg_s8_x_untied): - Ditto. - * gcc.target/aarch64/sve2/acle/asm/recpe_u32.c (recpe_u32_x_untied): - Ditto. - * gcc.target/aarch64/sve2/acle/asm/rsqrte_u32.c (rsqrte_u32_x_untied): - Ditto. - * gcc.target/aarch64/sve2/acle/asm/cvtlt_f32.c - (cvtlt_f32_f16_x_untied): Expect a MOV instruction. - * gcc.target/aarch64/sve2/acle/asm/cvtlt_f64.c - (cvtlt_f64_f32_x_untied): Likewise. - -2020-11-25 Jakub Jelinek - - PR rtl-optimization/95862 - * gcc.dg/builtin-artih-overflow-5.c: New test. - -2020-11-25 Richard Biener - - PR middle-end/97579 - * gcc.dg/pr97579.c: New testcase. - -2020-11-25 Stam Markianos-Wright - - PR target/91816 - * gcc.target/arm/pr91816.c: New test. - -2020-11-25 Jakub Jelinek - - PR middle-end/97943 - * c-c++-common/builtin-clear-padding-2.c: New test. - * c-c++-common/builtin-clear-padding-3.c: New test. - * g++.dg/ext/builtin-clear-padding-1.C: New test. - * gcc.dg/builtin-clear-padding-2.c: New test. - -2020-11-24 Martin Sebor - - * gcc.dg/pr97955.c: New test. - -2020-11-24 Martin Sebor - - * gcc.dg/Wstringop-overflow-47.c: Add a note. - -2020-11-24 Jason Merrill - - PR c++/97899 - * g++.dg/cpp0x/initlist-template3.C: New test. - -2020-11-24 Martin Sebor - - * gfortran.dg/gomp/declare-target-4.f90: Adjust pattern to expect - an additional attribute and function return type. - -2020-11-24 Richard Earnshaw - - * gcc.dg/pr97534.c: New test. - -2020-11-24 Richard Sandiford - - * gcc.target/aarch64/aapcs64/abitest.h (FUNC_VAL_CHECK): Use - noipa rather than noinline. - * gcc.target/aarch64/aapcs64/abitest-2.h (FUNC_VAL_CHECK): Likewise. - -2020-11-24 Ilya Leoshkevich - - * gcc.target/s390/zvector/autovec-double-quiet-uneq.c: Expect - that "vx" is not emitted. - * gcc.target/s390/zvector/autovec-float-quiet-uneq.c: Likewise. - -2020-11-24 Jakub Jelinek - - PR target/97950 - * gcc.target/i386/pr97950.c: New test. - -2020-11-24 Jakub Jelinek - - PR tree-optimization/97964 - * gcc.dg/tree-ssa/pr97964.c: New test. - -2020-11-24 Thomas Schwinge - - * c-c++-common/goacc/kernels-decompose-1.c: Avoid Tcl 8.5-specific - behavior. - * c-c++-common/goacc/kernels-decompose-2.c: Likewise. - * gfortran.dg/goacc/kernels-decompose-1.f95: Likewise. - * gfortran.dg/goacc/kernels-decompose-2.f95: Likewise. - -2020-11-24 Thomas Schwinge - - * lib/gcc-dg.exp (dg-optimized, dg-missed): Use 'saved-dg-warning' - instead of 'saved-dg-error'. - -2020-11-24 Thomas Schwinge - - * lib/gcc-dg.exp (dg-optimized, dg-missed): Fix 'process-message' - call. - * gcc.dg/vect/nodump-vect-opt-info-1.c: Demonstrate. - * gcc.dg/vect/nodump-vect-opt-info-2.c: Likewise. - -2020-11-24 Jakub Jelinek - - PR c/97958 - * c-c++-common/gomp/pr97958.c: New test. - -2020-11-24 Jakub Jelinek - - PR tree-optimization/96929 - * gcc.dg/tree-ssa/pr96929.c: New test. - -2020-11-24 Jeff Law - - * gcc.dg/tree-ssa/pr23401.c: Update expected output. - * gcc.dg/tree-ssa/pr27810.c: Update expected output. - * gcc.dg/tree-ssa/slsr-8.c: Update expected output. - -2020-11-24 Kewen Lin - - * gcc.dg/vect/slp-perm-1.c: Adjust for partial vectors. - * gcc.dg/vect/slp-perm-5.c: Likewise. - * gcc.dg/vect/slp-perm-6.c: Likewise. - * gcc.dg/vect/slp-perm-7.c: Likewise. - -2020-11-24 Prathamesh Kulkarni - - PR tree-optimization/97849 - * gcc.dg/tree-ssa/pr97849.c: New test. - -2020-11-24 Martin Sebor - - * gcc.dg/attr-access-5.c: New test. - -2020-11-23 Joseph Myers - - PR c/95630 - * gcc.dg/c11-compare-incomplete-1.c, - gcc.dg/c11-compare-incomplete-2.c, - gcc.dg/c99-compare-incomplete-1.c, - gcc.dg/c99-compare-incomplete-2.c: New tests. - -2020-11-23 Martin Jambor - - * gfortran.dg/ipcp-array-2.f90: New test. - -2020-11-23 Nathan Sidwell - - * lib/prune.exp (prune_gcc_output): Adjust include stack pruning - for modules. - (print_ices): Relax regexp. - -2020-11-23 Jozef Lawrynowicz - - * g++.target/msp430/data-attributes.C: Remove expected warnings for - "lower" attribute conflicts. - Adjust expected wording for "persistent" attribute misuse. - * gcc.target/msp430/data-attributes-2.c: Likewise. - * gcc.target/msp430/pr78818-auto-warn.c: Likewise. - -2020-11-23 Richard Biener - - * g++.dg/vect/simd-12.cc: New testcase. - -2020-11-23 Jozef Lawrynowicz - - * gcc.c-torture/execute/noinit-attribute.c: Moved to... - * c-c++-common/torture/attr-noinit-main.inc: ...here. - * lib/target-supports.exp (check_effective_target_persistent): New. - * c-c++-common/torture/attr-noinit-1.c: New test. - * c-c++-common/torture/attr-noinit-2.c: New test. - * c-c++-common/torture/attr-noinit-3.c: New test. - * c-c++-common/torture/attr-noinit-invalid.c: New test. - * c-c++-common/torture/attr-persistent-1.c: New test. - * c-c++-common/torture/attr-persistent-2.c: New test. - * c-c++-common/torture/attr-persistent-3.c: New test. - * c-c++-common/torture/attr-persistent-invalid.c: New test. - * c-c++-common/torture/attr-persistent-main.inc: New test. - -2020-11-23 Jozef Lawrynowicz - - * gcc.target/msp430/data-attributes-2.c: Adjust test. - * g++.target/msp430/data-attributes.C: New test. - * g++.target/msp430/msp430.exp: New test. - -2020-11-23 Jozef Lawrynowicz - - * gcc.c-torture/execute/noinit-attribute.c: Don't override - optimization options set by torture test harness. - * lib/target-supports.exp (check_effective_target_noinit): Adjust - comment formatting. - -2020-11-23 Christophe Lyon - - * gcc.target/arm/cortex-m55-nodsp-flag-hard.c: Add -mthumb. - * gcc.target/arm/cortex-m55-nodsp-flag-softfp.c: Likewise. - * gcc.target/arm/cortex-m55-nodsp-nofp-flag-softfp.c: Likewise. - * gcc.target/arm/cortex-m55-nofp-flag-hard.c: Likewise. - * gcc.target/arm/cortex-m55-nofp-flag-softfp.c: Likewise. - * gcc.target/arm/cortex-m55-nofp-nomve-flag-softfp.c: Likewise. - * gcc.target/arm/cortex-m55-nomve-flag-hard.c: Likewise. - * gcc.target/arm/cortex-m55-nomve-flag-softfp.c: Likewise. - * gcc.target/arm/cortex-m55-nomve.fp-flag-hard.c: Likewise. - * gcc.target/arm/cortex-m55-nomve.fp-flag-softfp.c: Likewise. - * gcc.target/arm/mve/intrinsics/pr97327.c: Likewise. - -2020-11-23 Richard Sandiford - - PR c++/97904 - * g++.dg/ext/sve-sizeless-1.C: Add more template tests. - * g++.dg/ext/sve-sizeless-2.C: Likewise. - -2020-11-22 Uroš Bizjak - - PR target/97873 - * gcc.target/i386/pr97873-2.c: New test. - -2020-11-22 Iain Buclaw - - PR d/97889 - * gdc.dg/torture/pr97889.d: New test. - -2020-11-22 Jakub Jelinek - - PR tree-optimization/95853 - * gcc.dg/pr95853.c: New test. - -2020-11-21 Marek Polacek - - PR c++/94695 - * g++.dg/warn/Wrange-loop-construct2.C: New test. - -2020-11-21 Marek Polacek - - PR c++/97846 - * g++.dg/cpp1y/constexpr-label.C: New test. - -2020-11-21 Marek Polacek - - PR c++/97881 - * g++.dg/warn/Wvexing-parse9.C: New test. - -2020-11-21 David Edelsohn - - * g++.dg/debug/localclass2.C: Require LTO. - -2020-11-21 Marek Polacek - - PR c++/97839 - * g++.dg/cpp2a/lambda-generic8.C: New test. - -2020-11-21 Marek Polacek - - PR c++/97427 - * g++.dg/cpp2a/constexpr-dtor10.C: New test. - -2020-11-21 Jan Hubicka - - * gcc.dg/vect/vect-35-big-array.c: Excpect 2 loops to be vectorized. - * gcc.dg/vect/vect-35.c: Excpect 2 loops to be vectorized. - -2020-11-21 Aaron Sawdey - - * gcc.target/powerpc/mma-double-test.c (main): Call abort for failure. - * gcc.target/powerpc/mma-single-test.c (main): Call abort for failure. - * gcc.target/powerpc/pr96506.c: Rename to pr96506-1.c. - * gcc.target/powerpc/pr96506-2.c: New test. - * gcc.target/powerpc/pr96506-1.c: New file. - -2020-11-20 Michael Meissner - - * gcc.dg/nextafter-2.c: Include math.h. - -2020-11-20 Jason Merrill - - PR c++/97918 - * g++.dg/debug/localclass2.C: New test. - -2020-11-20 Martin Sebor - - * gcc.dg/attr-access-4.c: New test. - -2020-11-20 Martin Sebor - - PR middle-end/97879 - * gcc.dg/attr-access-3.c: New test. - -2020-11-20 Andrew MacLeod - - * gcc.dg/pr97515.c: Check in ccp2, not evrp. - -2020-11-20 Andrea Corallo - - PR target/97727 - * gcc.target/aarch64/advsimd-intrinsics/bf16_vstN_lane_2.c: Relax - regexps. - -2020-11-20 Andrea Corallo - - PR target/97726 - * gcc.target/arm/simd/bf16_vldn_1.c: Relax regexps not to fail on - big endian. - * gcc.target/arm/simd/vldn_lane_bf16_1.c: Likewise - * gcc.target/arm/simd/vmmla_1.c: Add -mfloat-abi=hard flag. - -2020-11-20 Jakub Jelinek - - PR libstdc++/88101 - * c-c++-common/builtin-clear-padding-1.c: New test. - * c-c++-common/torture/builtin-clear-padding-1.c: New test. - * c-c++-common/torture/builtin-clear-padding-2.c: New test. - * c-c++-common/torture/builtin-clear-padding-3.c: New test. - * c-c++-common/torture/builtin-clear-padding-4.c: New test. - * c-c++-common/torture/builtin-clear-padding-5.c: New test. - * g++.dg/torture/builtin-clear-padding-1.C: New test. - * g++.dg/torture/builtin-clear-padding-2.C: New test. - * gcc.dg/builtin-clear-padding-1.c: New test. - -2020-11-20 Jakub Jelinek - - PR target/97528 - * gcc.target/arm/pr97528.c: New test. - -2020-11-20 Eric Botcazou - - * gnat.dg/opt90a.adb: New test. - * gnat.dg/opt90b.adb: Likewise. - * gnat.dg/opt90c.adb: Likewise. - * gnat.dg/opt90d.adb: Likewise. - * gnat.dg/opt90e.adb: Likewise. - * gnat.dg/opt90a_pkg.ads: New helper. - * gnat.dg/opt90b_pkg.ads: Likewise. - * gnat.dg/opt90c_pkg.ads: Likewise. - * gnat.dg/opt90d_pkg.ads: Likewise. - * gnat.dg/opt90e_pkg.ads: Likewise. - -2020-11-20 Uroš Bizjak - - PR target/97873 - * gcc.target/i386/pr97873.c: New test. - * gcc.target/i386/pr97873-1.c: New test. - -2020-11-20 Martin Uecker - - * gcc.dg/cond-constqual-1.c: Adapt test. - * gcc.dg/lvalue-11.c: New test. - * gcc.dg/pr60195.c: Add warning. - -2020-11-19 Jakub Jelinek - - PR tree-optimization/91029 - * gcc.dg/tree-ssa/pr91029-1.c: New test. - * gcc.dg/tree-ssa/pr91029-2.c: New test. - -2020-11-19 Andrew MacLeod - - * gcc.dg/tree-ssa/pr93781-1.c: New. - * gcc.dg/tree-ssa/pr93781-2.c: New. - * gcc.dg/tree-ssa/pr93781-3.c: New. - -2020-11-19 Jakub Jelinek - - PR c/97860 - * gcc.dg/pr97860.c: New test. - -2020-11-19 Marek Polacek - - PR c++/97523 - * g++.dg/expr/anew5.C: New test. - * g++.dg/expr/anew6.C: New test. - -2020-11-19 Marek Polacek - - PR c++/97895 - * g++.dg/cpp0x/auto54.C: New test. - -2020-11-19 Nathan Sidwell - - PR c++/97905 - * g++.dg/lookup/pr97905.C: New. - -2020-11-19 Dimitar Dimitrov - - * gcc.target/pru/halt.c: New test. - * gcc.target/pru/lmbd.c: New test. - -2020-11-19 Richard Sandiford - - * gcc.dg/vect/vect-cost-model-1.c: New test. - * gcc.dg/vect/vect-cost-model-2.c: Likewise. - * gcc.dg/vect/vect-cost-model-3.c: Likewise. - * gcc.dg/vect/vect-cost-model-4.c: Likewise. - * gcc.dg/vect/vect-cost-model-5.c: Likewise. - * gcc.dg/vect/vect-cost-model-6.c: Likewise. - -2020-11-19 Richard Biener - - * gcc.dg/pr97897.c: Add dg-options. - -2020-11-19 Joel Hutton - - * gcc.target/aarch64/vect-widen-lshift.c: New test. - -2020-11-19 Joel Hutton - - * gcc.target/aarch64/vect-widen-add.c: New test. - * gcc.target/aarch64/vect-widen-sub.c: New test. - -2020-11-19 Richard Biener - - PR tree-optimization/97901 - * gcc.dg/torture/pr97901.c: New testcase. - -2020-11-19 Richard Biener - - PR tree-optimization/97897 - * gcc.dg/pr97897.c: New testcase. - -2020-11-19 Uroš Bizjak - - * gcc.target/i386/pr97887.c: New test. - -2020-11-18 Roger Sayle - - PR middle-end/85811 - * gcc.dg/pr85811.c: New test. - * gcc.dg/fold-isfinite-1.c: New test. - * gcc.dg/fold-isfinite-2.c: New test. - * gcc.dg/fold-isinf-1.c: New test. - * gcc.dg/fold-isinf-2.c: New test. - * gcc.dg/fold-isnan-1.c: New test. - * gcc.dg/fold-isnan-2.c: New test. - -2020-11-18 Jakub Jelinek - - PR tree-optimization/91029 - PR tree-optimization/97888 - * gcc.dg/pr91029.c: Add comment with PR number. - (f2): Use > 0 rather than >= 0. - * gcc.c-torture/execute/pr97888-1.c: New test. - * gcc.c-torture/execute/pr97888-2.c: New test. - -2020-11-18 David Malcolm - - PR analyzer/97893 - * gcc.dg/analyzer/malloc-1.c: Add CWE-690 and CWE-476 codes to - expected output. - -2020-11-18 Richard Sandiford - - * gcc.dg/vect/bb-slp-pr68892.c: Don't XFAIL the profitability - test for aarch64*-*-*. Allow the "BB vectorization with gaps" - message to be printed more than once. - -2020-11-18 Richard Sandiford - - * gcc.dg/vect/slp-21.c: Expect 4 SLP instances to be vectorized - on arm* and aarch64* targets. - -2020-11-18 Richard Sandiford - - * gcc.dg/vect/fast-math-vect-call-1.c: Only expect SLP to be used - on vect_perm3_int targets. - * gcc.dg/vect/slp-perm-6.c: Likewise. Only XFAIL the LOAD/STORE_LANES - tests on vect_perm3_int targets. - -2020-11-18 Richard Sandiford - - * gcc.dg/vect/vect-epilogues.c: XFAIL test for epilogue loop - vectorization if vect_partial_vectors_usage_2. - -2020-11-18 Richard Sandiford - - * gcc.dg/vect/vect-sdiv-pow2-1.c (main): Add an asm to the - set-up loop. - -2020-11-18 Iain Buclaw - - PR d/97843 - * gdc.dg/torture/pr97843.d: New test. - -2020-11-18 Jakub Jelinek - - PR middle-end/97862 - * c-c++-common/gomp/pr97862.c: New test. - -2020-11-18 Kito Cheng - - * gcc.target/riscv/arch-9.c: New. - * gcc.target/riscv/arch-10.c: Ditto. - * gcc.target/riscv/arch-11.c: Ditto. - * gcc.target/riscv/attribute-6.c: Remove, we don't support G - with version anymore. - * gcc.target/riscv/attribute-8.c: Reorder arch string to fit canonical - ordering. - * gcc.target/riscv/attribute-9.c: We don't emit version for - unknown extensions now. - * gcc.target/riscv/attribute-11.c: Add -misa-spec=2.2 flags. - * gcc.target/riscv/attribute-12.c: Ditto. - * gcc.target/riscv/attribute-13.c: Ditto. - * gcc.target/riscv/attribute-14.c: Ditto. - * gcc.target/riscv/attribute-15.c: New. - * gcc.target/riscv/attribute-16.c: Ditto. - * gcc.target/riscv/attribute-17.c: Ditto. - -2020-11-18 Kito Cheng - - * gcc.target/riscv/arch-8.c: New. - * gcc.target/riscv/attribute-14.c: Ditto. - -2020-11-18 Jiufu Guo - - * gcc.dg/tree-ssa/loopclosedphi.c: New test. - -2020-11-17 Andrew MacLeod - - * gcc.dg/pr91029.c: New. - -2020-11-17 Nathan Sidwell - - PR c++/97877 - * g++.dg/lookup/pr97877.C: New. - -2020-11-17 Andrew MacLeod - - * gcc.dg/pr83072.c: New. - -2020-11-17 Joseph Myers - - * gcc.dg/cr-decimal-dig-3.c: New test. - -2020-11-17 Joseph Myers - - * gcc.dg/c11-float-6.c, gcc.dg/c2x-float-10.c: New tests. - -2020-11-17 David Edelsohn - - * gcc.dg/pr25376.c: Allow .opd section. - -2020-11-17 H.J. Lu - - PR target/31799 - * gcc.target/i386/pr31799.c: New test. - -2020-11-17 Richard Sandiford - - * gcc.target/aarch64/sve/cond_cnot_1.c: Remove XFAIL. - * gcc.target/aarch64/sve/cond_unary_1.c: Likewise. - -2020-11-17 Richard Sandiford - - PR tree-optimization/97693 - * gcc.dg/vect/pr97693.c: New test. - -2020-11-17 Richard Sandiford - - * gcc.dg/vect/slp-46.c: XFAIL test for SLP on vect_load_lanes targets. - -2020-11-17 Richard Sandiford - - * gcc.dg/vect/aligned-section-anchors-nest-1.c: XFAIL alignment - test if vect_element_align_preferred. - -2020-11-17 Richard Sandiford - - * gcc.dg/vect/bb-slp-subgroups-3.c: XFAIL for variable-length vectors. - -2020-11-17 Richard Sandiford - - * gcc.dg/vect/pr65947-8.c: Expect the loop to be vectorized for SVE. - -2020-11-17 Richard Sandiford - - * gcc.dg/vect/pr97678.c: XFAIL test for SLP vectorization - for variable-length vectors. - * gcc.dg/vect/pr97835.c: Likewise. - * gcc.dg/vect/slp-49.c: Likewise. - * gcc.dg/vect/vect-outer-slp-1.c: Likewise. - * gcc.dg/vect/vect-outer-slp-2.c: Likewise. - * gcc.dg/vect/vect-outer-slp-3.c: Likewise. - -2020-11-17 Richard Sandiford - - * gcc.dg/vect/slp-reduc-4.c: XFAIL test for SLP vectorization - for variable-length SVE. - * gcc.dg/vect/slp-reduc-7.c: Likewise. - -2020-11-17 Richard Sandiford - - * gcc.dg/vect/bb-slp-43.c: Remove XFAIL for vect_variable_length. - -2020-11-17 Richard Sandiford - - * gcc.dg/vect/pr91750.c: Allow "[]," inside a vector(...) lane count. - -2020-11-17 Liu Hao - - * gcc.dg/format/ms_c99-printf-3.c: Update tests. - -2020-11-17 Jakub Jelinek - - PR c/90628 - * gcc.dg/builtin-arith-overflow-4.c: New test. - -2020-11-17 Jakub Jelinek - - * gcc.dg/guality/pr59776.c (foo): Use noipa attribute instead of - noinline, noclone. - -2020-11-17 liuhongt - - * gcc.target/i386/avx2-vec-set-1.c: New test. - * gcc.target/i386/avx2-vec-set-2.c: New test. - * gcc.target/i386/avx512bw-vec-set-1.c: New test. - * gcc.target/i386/avx512bw-vec-set-2.c: New test. - * gcc.target/i386/avx512f-vec-set-2.c: New test. - * gcc.target/i386/avx512vl-vec-set-2.c: New test. - -2020-11-17 Martin Sebor - - PR middle-end/95673 - * gcc.dg/Wstring-compare-3.c: New test. - -2020-11-17 Joseph Myers - - * gcc.dg/dfp/c2x-float-dfp-7.c, gcc.dg/dfp/c2x-float-dfp-8.c: New - tests. - * gcc.dg/c2x-float-no-dfp-3.c: Also check that DEC32_SNAN, - DEC64_SNAN and DEC128_SNAN are not defined. - -2020-11-17 Joseph Myers - - * lib/target-supports.exp (check_effective_target_inff): New. - * gcc.dg/c11-float-4.c, gcc.dg/c11-float-5.c, - gcc.dg/c11-float-dfp-2.c, gcc.dg/c2x-float-2.c, - gcc.dg/c2x-float-3.c, gcc.dg/c2x-float-4.c, gcc.dg/c2x-float-5.c, - gcc.dg/c2x-float-6.c, gcc.dg/c2x-float-7.c, gcc.dg/c2x-float-8.c, - gcc.dg/c2x-float-9.c, gcc.dg/c2x-float-no-dfp-3.c, - gcc.dg/c2x-float-no-dfp-4.c, gcc.dg/dfp/c2x-float-dfp-4.c, - gcc.dg/dfp/c2x-float-dfp-5.c, gcc.dg/dfp/c2x-float-dfp-6.c, - gcc.dg/torture/float128-nan-floath.c, - gcc.dg/torture/float128x-nan-floath.c, - gcc.dg/torture/float16-nan-floath.c, - gcc.dg/torture/float32-nan-floath.c, - gcc.dg/torture/float32x-nan-floath.c, - gcc.dg/torture/float64-nan-floath.c, - gcc.dg/torture/float64x-nan-floath.c, - gcc.dg/torture/floatn-nan-floath.h: New tests. - -2020-11-16 Roger Sayle - - PR rtl-optimization/92180 - * gcc.target/i386/pr92180.c: New test. - -2020-11-16 Harald Anlauf - - * gfortran.dg/pr48958.f90: New test. - -2020-11-16 Jan Hubicka - - * g++.dg/warn/uninit-1.C: New test. - -2020-11-16 Ilya Leoshkevich - - * gcc.target/s390/s390.exp (check_effective_target_s390_z14_hw): - New predicate. - * gcc.target/s390/vector/long-double-caller-abi-run.c: Use the - new predicate. - * gcc.target/s390/vector/long-double-copysign.c: Likewise. - * gcc.target/s390/vector/long-double-from-double.c: Likewise. - * gcc.target/s390/vector/long-double-from-float.c: Likewise. - * gcc.target/s390/vector/long-double-from-i16.c: Likewise. - * gcc.target/s390/vector/long-double-from-i32.c: Likewise. - * gcc.target/s390/vector/long-double-from-i64.c: Likewise. - * gcc.target/s390/vector/long-double-from-i8.c: Likewise. - * gcc.target/s390/vector/long-double-from-u16.c: Likewise. - * gcc.target/s390/vector/long-double-from-u32.c: Likewise. - * gcc.target/s390/vector/long-double-from-u64.c: Likewise. - * gcc.target/s390/vector/long-double-from-u8.c: Likewise. - * gcc.target/s390/vector/long-double-to-double.c: Likewise. - * gcc.target/s390/vector/long-double-to-float.c: Likewise. - * gcc.target/s390/vector/long-double-to-i16.c: Likewise. - * gcc.target/s390/vector/long-double-to-i32.c: Likewise. - * gcc.target/s390/vector/long-double-to-i64.c: Likewise. - * gcc.target/s390/vector/long-double-to-i8.c: Likewise. - * gcc.target/s390/vector/long-double-to-u16.c: Likewise. - * gcc.target/s390/vector/long-double-to-u32.c: Likewise. - * gcc.target/s390/vector/long-double-to-u64.c: Likewise. - * gcc.target/s390/vector/long-double-to-u8.c: Likewise. - * gcc.target/s390/vector/long-double-wfaxb.c: Likewise. - * gcc.target/s390/vector/long-double-wfdxb.c: Likewise. - * gcc.target/s390/vector/long-double-wfsxb-1.c: Likewise. - -2020-11-16 H.J. Lu - - PR testsuite/97803 - * c-c++-common/asan/pointer-compare-1.c (global1): Add - __attribute__((used)) - (global2): Likewise. - (small_global): Likewise. - (large_global): Likewise. - -2020-11-16 Sebastian Huber - - * gcc.dg/profile-info-section.c: New test. - -2020-11-16 Richard Biener - - PR tree-optimization/97838 - * gcc.dg/vect/pr97838.c: New testcase. - -2020-11-16 Martin Liska - - PR tree-optimization/97736 - * gcc.dg/tree-ssa/switch-1.c: Prefer bit tests. - * g++.dg/tree-ssa/pr97736.C: New test. - -2020-11-16 Richard Biener - - PR tree-optimization/97835 - * gcc.dg/vect/pr97835.c: New testcase. - -2020-11-16 Richard Biener - - PR tree-optimization/97830 - * gcc.dg/pr97830.c: New testcase. - -2020-11-15 Jozef Lawrynowicz - - * gcc.target/msp430/rtx-cost-Os-f5series.c: Adjust test to use new - hwmult library function name. - -2020-11-15 David Edelsohn - - * gcc.dg/ipa/modref-2.c: Add ilp32 expected result. - -2020-11-15 David Edelsohn - - * lib/scanasm.exp (parse_section_of_symbols): Also look for AIX - XCOFF CSECT notation. - * g++.dg/opt/const4.C: Also look for AIX XCOFF "[RO]". - * gcc.dg/20021029-1.c: Likewise. - * gcc.dg/array-quals-1.c: Likewise and "[RW]". - * g++.dg/gomp/tls-5.C: Also look for AIX XCOFF "[TL]". - * gcc.dg/pr25376.c: Accept AIX decoration around named section - and function descriptor. - -2020-11-15 Maciej W. Rozycki - - * gcc.target/vax/bswapdi-1.c (dg-options): New setting. - -2020-11-15 Jason Merrill - - * g++.dg/other/abstract1.C: Adjust. - * g++.dg/other/abstract2.C: Adjust. - * g++.dg/other/abstract4.C: Adjust. - * g++.dg/other/abstract5.C: Adjust. - * g++.dg/other/abstract8.C: New test. - * g++.dg/template/sfinae-dr657.C: Adjust. - * g++.old-deja/g++.other/decl3.C: Adjust. - -2020-11-15 Jan Hubicka - - * gcc.c-torture/execute/pr97836.c: New test. - -2020-11-14 Iain Sandoe - - * objc.dg/pr23214.m: Use Object as the root object before - Darwin12 (and NSObject after). - -2020-11-14 Jan Hubicka - - * gcc.dg/torture/pta-ptrarith-1.c: Escape parameters. - -2020-11-14 Matthew Glazar - - * lib/scanasm.exp (dg-scan): Extract file globbing code ... - (dg_glob_remote): ... into this new procedure. - (scan-assembler-symbol-section): Define. - (scan-symbol-section): Define. - * g++.dg/gomp/tls-5.C: Add symbol section test. - * g++.dg/opt/const4.C: Likewise. - * gcc.dg/20021029-1.c: Likewise. - * gcc.dg/array-quals-1.c: Likewise. - * gcc.dg/darwin-sections.c: Likewise. - * gcc.dg/pr25376.c: Likewise. - * gcc.test-framework/test-framework.exp: Load scanasm and test .S files. - * gcc.test-framework/dg-scan-symbol-section-1-exp-F.S: New test. - * gcc.test-framework/dg-scan-symbol-section-2-exp-F.S: New test. - * gcc.test-framework/dg-scan-symbol-section-3-exp-F.S: New test. - * gcc.test-framework/dg-scan-symbol-section-exp-P.S: New test. - -2020-11-14 Monk Chiang - - PR target/97682 - * g++.target/riscv/pr97682.C: New test. - * gcc.target/riscv/interrupt-3.c: Check register for t0. - * gcc.target/riscv/interrupt-4.c: Likewise. - -2020-11-13 Joseph Myers - - * gcc.dg/binary-constants-2.c, gcc.dg/binary-constants-3.c, - gcc.dg/system-binary-constants-1.c: Update expected diagnostics. - * gcc.dg/c11-binary-constants-1.c, - gcc.dg/c11-binary-constants-2.c, gcc.dg/c2x-binary-constants-1.c, - gcc.dg/c2x-binary-constants-2.c, gcc.dg/c2x-binary-constants-3.c: - New tests. - -2020-11-13 Jakub Jelinek - - * g++.dg/guality/redeclaration1.C (p): New variable. - (S::f): Increment what p points to before storing S::i into l. Adjust - gdb-test line numbers. - (main): Initialize p to address of an automatic variable. - -2020-11-13 Gergö Barany - Thomas Schwinge - - * c-c++-common/goacc/kernels-decompose-1.c: New. - * c-c++-common/goacc/kernels-decompose-2.c: New. - * c-c++-common/goacc/kernels-decompose-ice-1.c: New. - * c-c++-common/goacc/kernels-decompose-ice-2.c: New. - * gfortran.dg/goacc/kernels-decompose-1.f95: New. - * gfortran.dg/goacc/kernels-decompose-2.f95: New. - * c-c++-common/goacc/if-clause-2.c: Adjust. - * gfortran.dg/goacc/kernels-tree.f95: Likewise. - -2020-11-13 Thomas Schwinge - - * c-c++-common/goacc/classify-parallel.c: Adjust. - * gfortran.dg/goacc/classify-parallel.f95: Likewise. - * c-c++-common/goacc/classify-serial.c: New. - * gfortran.dg/goacc/classify-serial.f95: Likewise. - -2020-11-13 Jason Merrill - - * g++.dg/cpp2a/feat-cxx2a.C: Check it. - -2020-11-13 Jason Merrill - - * g++.dg/cpp0x/inh-ctor28.C: Adjust expected diagnostic. - * g++.dg/cpp0x/inh-ctor33.C: Likewise. - * g++.dg/cpp0x/using-enum-1.C: Add comment. - * g++.dg/cpp0x/using-enum-2.C: Allowed in C++20. - * g++.dg/cpp0x/using-enum-3.C: Likewise. - * g++.dg/cpp1z/class-deduction69.C: Adjust diagnostic. - * g++.dg/inherit/using5.C: Likewise. - * g++.dg/cpp2a/using-enum-1.C: New test. - * g++.dg/cpp2a/using-enum-2.C: New test. - * g++.dg/cpp2a/using-enum-3.C: New test. - * g++.dg/cpp2a/using-enum-4.C: New test. - * g++.dg/cpp2a/using-enum-5.C: New test. - * g++.dg/cpp2a/using-enum-6.C: New test. - * g++.dg/debug/dwarf2/using-enum.C: New test. - -2020-11-13 Vladimir N. Makarov - - * c-c++-common/asmgoto-2.c: Permit output in asm goto. - * gcc.c-torture/compile/asmgoto-2.c: New. - * gcc.c-torture/compile/asmgoto-3.c: New. - * gcc.c-torture/compile/asmgoto-4.c: New. - * gcc.c-torture/compile/asmgoto-5.c: New. - -2020-11-13 Andrew MacLeod - - * gcc.dg/tree-ssa/evrp20.c - * gcc.dg/tree-ssa/evrp21.c - * gcc.dg/tree-ssa/evrp22.c - -2020-11-13 Martin Liska - - PR testsuite/97788 - * g++.dg/ubsan/pr61272.C: Move expected error location. - -2020-11-13 Jozef Lawrynowicz - - * gcc.c-torture/execute/index-1.c: Skip for the default MSP430 430X ISA. - -2020-11-13 Jozef Lawrynowicz - - * gcc.target/msp430/rtx-cost-O3-default.c: New test. - * gcc.target/msp430/rtx-cost-O3-f5series.c: New test. - * gcc.target/msp430/rtx-cost-Os-default.c: New test. - * gcc.target/msp430/rtx-cost-Os-f5series.c: New test. - -2020-11-13 Jan Hubicka - - * c-c++-common/Wstringop-overflow-2.c: Disable ICF. - * g++.dg/warn/Warray-bounds-8.C: Disable ICF. - -2020-11-13 Andrew MacLeod - - * gcc.dg/tree-ssa/pr78655.c: New. - -2020-11-13 Iain Buclaw - - * gdc.dg/pr92216.d: Update scan-assember. - -2020-11-13 Richard Biener - - PR tree-optimization/97812 - * gcc.dg/torture/pr97812.c: New testcase. - -2020-11-13 Sudakshina Das - - * g++.dg/tree-ssa/pr90883.C: Remove xfail for aarch64. - * gcc.dg/tree-prof/stringop-2.c: Add xfail for aarch64. - * gcc.target/aarch64/memset-corner-cases.c: New test. - * gcc.target/aarch64/memset-q-reg.c: New test. - -2020-11-13 Iain Sandoe - - PR objc/90707 - * obj-c++.dg/property/at-property-4.mm: Add basic nullability - tests. - * objc.dg/property/at-property-4.m: Likewise. - * obj-c++.dg/attributes/nullability-00.mm: New test. - * obj-c++.dg/property/nullability-00.mm: New test. - * objc.dg/attributes/nullability-00.m: New test. - * objc.dg/property/nullability-00.m: New test. - -2020-11-13 Iain Sandoe - - PR objc/77404 - * obj-c++.dg/attributes/class-attribute-1.mm: - Add Wno-objc-root-class. - * obj-c++.dg/attributes/class-attribute-2.mm: Likewise. - * obj-c++.dg/attributes/class-attribute-3.mm: Likewise. - * obj-c++.dg/attributes/method-deprecated-1.mm: Likewise. - * obj-c++.dg/attributes/method-deprecated-2.mm: Likewise. - * obj-c++.dg/attributes/method-deprecated-3.mm: Likewise. - * obj-c++.dg/attributes/method-format-1.mm: Likewise. - * obj-c++.dg/attributes/method-nonnull-1.mm: Likewise. - * obj-c++.dg/attributes/method-noreturn-1.mm: Likewise. - * obj-c++.dg/attributes/method-sentinel-1.mm: Likewise. - * obj-c++.dg/attributes/nsobject-01.mm: Likewise. - * obj-c++.dg/attributes/parameter-attribute-1.mm: Likewise. - * obj-c++.dg/attributes/parameter-attribute-2.mm: Likewise. - * obj-c++.dg/attributes/proto-attribute-1.mm: Likewise. - * obj-c++.dg/attributes/proto-attribute-3.mm: Likewise. - * obj-c++.dg/attributes/proto-attribute-4.mm: Likewise. - * obj-c++.dg/attributes/unused-parameter-1.mm: Likewise. - * obj-c++.dg/bad-receiver-type.mm: Likewise. - * obj-c++.dg/bitfield-3.mm: Likewise. - * obj-c++.dg/bitfield-5.mm: Likewise. - * obj-c++.dg/class-extension-1.mm: Likewise. - * obj-c++.dg/class-extension-2.mm: Likewise. - * obj-c++.dg/class-extension-3.mm: Likewise. - * obj-c++.dg/class-extension-4.mm: Likewise. - * obj-c++.dg/class-protocol-1.mm: Likewise. - * obj-c++.dg/comp-types-1.mm: Likewise. - * obj-c++.dg/comp-types-10.mm: Likewise. - * obj-c++.dg/comp-types-2.mm: Likewise. - * obj-c++.dg/comp-types-3.mm: Likewise. - * obj-c++.dg/comp-types-5.mm: Likewise. - * obj-c++.dg/comp-types-6.mm: Likewise. - * obj-c++.dg/comp-types-7.mm: Likewise. - * obj-c++.dg/comp-types-8.mm: Likewise. - * obj-c++.dg/demangle-2.mm: Likewise. - * obj-c++.dg/demangle-3.mm: Likewise. - * obj-c++.dg/duplicate-class-1.mm: Likewise. - * obj-c++.dg/encode-1-next.mm: Likewise. - * obj-c++.dg/encode-1.mm: Likewise. - * obj-c++.dg/enhanced-proto-2.mm: Likewise. - * obj-c++.dg/exceptions-1.mm: Likewise. - * obj-c++.dg/exceptions-3.mm: Likewise. - * obj-c++.dg/exceptions-4.mm: Likewise. - * obj-c++.dg/exceptions-5.mm: Likewise. - * obj-c++.dg/extern-c-1.mm: Likewise. - * obj-c++.dg/fobjc-std-1.mm: Likewise. - * obj-c++.dg/gnu-api-2-class-meta.mm: Likewise. - * obj-c++.dg/gnu-api-2-class.mm: Likewise. - * obj-c++.dg/gnu-api-2-ivar.mm: Likewise. - * obj-c++.dg/gnu-api-2-method.mm: Likewise. - * obj-c++.dg/gnu-api-2-objc.mm: Likewise. - * obj-c++.dg/gnu-api-2-objc_msg_lookup.mm: Likewise. - * obj-c++.dg/gnu-api-2-object.mm: Likewise. - * obj-c++.dg/gnu-api-2-property.mm: Likewise. - * obj-c++.dg/gnu-api-2-protocol.mm: Likewise. - * obj-c++.dg/gnu-api-2-resolve-method.mm: Likewise. - * obj-c++.dg/gnu-api-2-sel.mm: Likewise. - * obj-c++.dg/invalid-method-2.mm: Likewise. - * obj-c++.dg/ivar-invalid-type-1.mm: Likewise. - * obj-c++.dg/ivar-problem-1.mm: Likewise. - * obj-c++.dg/lto/lto.exp: Likewise. - * obj-c++.dg/lto/trivial-1_0.mm: Likewise. - * obj-c++.dg/method-1.mm: Likewise. - * obj-c++.dg/method-12.mm: Likewise. - * obj-c++.dg/method-18.mm: Likewise. - * obj-c++.dg/method-19.mm: Likewise. - * obj-c++.dg/method-20.mm: Likewise. - * obj-c++.dg/method-3.mm: Likewise. - * obj-c++.dg/method-4.mm: Likewise. - * obj-c++.dg/method-5.mm: Likewise. - * obj-c++.dg/method-8.mm: Likewise. - * obj-c++.dg/method-9.mm: Likewise. - * obj-c++.dg/method-namespace-1.mm: Likewise. - * obj-c++.dg/plugin/diagnostic-test-expressions-1.mm: - Likewise. - * obj-c++.dg/pr23709.mm: Likewise. - * obj-c++.dg/pragma-2.mm: Likewise. - * obj-c++.dg/private-1.mm: Likewise. - * obj-c++.dg/private-2.mm: Likewise. - * obj-c++.dg/property/property.exp: Likewise. - * obj-c++.dg/proto-lossage-1.mm: Likewise. - * obj-c++.dg/proto-lossage-5.mm: Likewise. - * obj-c++.dg/proto-qual-1.mm: Likewise. - * obj-c++.dg/protocol-inheritance-1.mm: Likewise. - * obj-c++.dg/protocol-inheritance-2.mm: Likewise. - * obj-c++.dg/protocol-optional-1.mm: Likewise. - * obj-c++.dg/selector-1.mm: Likewise. - * obj-c++.dg/selector-2.mm: Likewise. - * obj-c++.dg/selector-3.mm: Likewise. - * obj-c++.dg/selector-4.mm: Likewise. - * obj-c++.dg/strings/strings.exp: Likewise. - * obj-c++.dg/stubify-1.mm: Likewise. - * obj-c++.dg/stubify-2.mm: Likewise. - * obj-c++.dg/super-dealloc-1.mm: Likewise. - * obj-c++.dg/super-dealloc-2.mm: Likewise. - * obj-c++.dg/sync-3.mm: Likewise. - * obj-c++.dg/syntax-error-2.mm: Likewise. - * obj-c++.dg/syntax-error-4.mm: Likewise. - * obj-c++.dg/syntax-error-7.mm: Likewise. - * obj-c++.dg/syntax-error-9.mm: Likewise. - * obj-c++.dg/template-4.mm: Likewise. - * obj-c++.dg/template-7.mm: Likewise. - * obj-c++.dg/template-8.mm: Likewise. - * obj-c++.dg/threedotthree-abi-1.mm: Likewise. - * obj-c++.dg/torture/dg-torture.exp: Likewise. - * obj-c++.dg/torture/strings/strings.exp: Likewise. - * obj-c++.dg/try-catch-12.mm: Likewise. - * obj-c++.dg/try-catch-13.mm: Likewise. - -2020-11-13 Iain Sandoe - - PR objc/77404 - * objc.dg/anon-1.m: Add Wno-objc-root-class. - * objc.dg/attributes/class-attribute-1.m: Likewise. - * objc.dg/attributes/class-attribute-2.m: Likewise. - * objc.dg/attributes/class-attribute-3.m: Likewise. - * objc.dg/attributes/method-deprecated-1.m: Likewise. - * objc.dg/attributes/method-deprecated-2.m: Likewise. - * objc.dg/attributes/method-deprecated-3.m: Likewise. - * objc.dg/attributes/method-format-1.m: Likewise. - * objc.dg/attributes/method-nonnull-1.m: Likewise. - * objc.dg/attributes/method-noreturn-1.m: Likewise. - * objc.dg/attributes/method-sentinel-1.m: Likewise. - * objc.dg/attributes/nsobject-01.m: Likewise. - * objc.dg/attributes/objc-exception-1.m: Likewise. - * objc.dg/attributes/parameter-attribute-1.m: Likewise. - * objc.dg/attributes/parameter-attribute-2.m: Likewise. - * objc.dg/attributes/proto-attribute-1.m: Likewise. - * objc.dg/attributes/proto-attribute-2.m: Likewise. - * objc.dg/attributes/proto-attribute-3.m: Likewise. - * objc.dg/attributes/proto-attribute-4.m: Likewise. - * objc.dg/bitfield-2.m: Likewise. - * objc.dg/break-in-ifstmt.m: Likewise. - * objc.dg/class-1.m: Likewise. - * objc.dg/class-extension-1.m: Likewise. - * objc.dg/class-extension-2.m: Likewise. - * objc.dg/class-extension-3.m: Likewise. - * objc.dg/class-extension-4.m: Likewise. - * objc.dg/class-protocol-1.m: Likewise. - * objc.dg/comp-types-7.m: Likewise. - * objc.dg/demangle-1.m: Likewise. - * objc.dg/duplicate-class-1.m: Likewise. - * objc.dg/encode-6-next.m: Likewise. - * objc.dg/encode-6.m: Likewise. - * objc.dg/enhanced-proto-2.m: Likewise. - * objc.dg/exceptions-1.m: Likewise. - * objc.dg/exceptions-3.m: Likewise. - * objc.dg/exceptions-4.m: Likewise. - * objc.dg/exceptions-5.m: Likewise. - * objc.dg/fobjc-std-1.m: Likewise. - * objc.dg/foreach-2.m: Likewise. - * objc.dg/foreach-4.m: Likewise. - * objc.dg/foreach-5.m: Likewise. - * objc.dg/fsyntax-only.m: Likewise. - * objc.dg/gnu-api-2-class-meta.m: Likewise. - * objc.dg/gnu-api-2-class.m: Likewise. - * objc.dg/gnu-api-2-ivar.m: Likewise. - * objc.dg/gnu-api-2-method.m: Likewise. - * objc.dg/gnu-api-2-objc.m: Likewise. - * objc.dg/gnu-api-2-objc_msg_lookup.m: Likewise. - * objc.dg/gnu-api-2-object.m: Likewise. - * objc.dg/gnu-api-2-property.m: Likewise. - * objc.dg/gnu-api-2-protocol.m: Likewise. - * objc.dg/gnu-api-2-resolve-method.m: Likewise. - * objc.dg/gnu-api-2-sel.m: Likewise. - * objc.dg/incomplete-type-1.m: Likewise. - * objc.dg/instancetype-0.m: Likewise. - * objc.dg/invalid-method-2.m: Likewise. - * objc.dg/ivar-invalid-type-1.m: Likewise. - * objc.dg/ivar-problem-1.m: Likewise. - * objc.dg/ivar-scope-1.m: Likewise. - * objc.dg/ivar-scope-2.m: Likewise. - * objc.dg/ivar-scope-4.m: Likewise. - * objc.dg/ivar-visibility-1.m: Likewise. - * objc.dg/ivar-visibility-2.m: Likewise. - * objc.dg/ivar-visibility-3.m: Likewise. - * objc.dg/ivar-visibility-4.m: Likewise. - * objc.dg/local-decl-1.m: Likewise. - * objc.dg/lto/lto.exp: Likewise. - * objc.dg/lto/trivial-1_0.m: Likewise. - * objc.dg/method-1.m: Likewise. - * objc.dg/method-12.m: Likewise. - * objc.dg/method-13.m: Likewise. - * objc.dg/method-14.m: Likewise. - * objc.dg/missing-proto-3.m: Likewise. - * objc.dg/next-runtime-1.m: Likewise. - * objc.dg/objc-foreach-1.m: Likewise. - * objc.dg/objc-foreach-2.m: Likewise. - * objc.dg/objc-foreach-3.m: Likewise. - * objc.dg/objc-nofilename-1.m: Likewise. - * objc.dg/param-1.m: Likewise. - * objc.dg/pch/pch.exp: Likewise. - * objc.dg/plugin/diagnostic-test-expressions-1.m: Likewise. - * objc.dg/pr23709.m: Likewise. - * objc.dg/private-1.m: Likewise. - * objc.dg/private-2.m: Likewise. - * objc.dg/property/property.exp: Likewise. - * objc.dg/proto-hier-1.m: Likewise. - * objc.dg/proto-hier-2.m: Likewise. - * objc.dg/proto-lossage-1.m: Likewise. - * objc.dg/proto-lossage-5.m: Likewise. - * objc.dg/proto-qual-1.m: Likewise. - * objc.dg/protocol-inheritance-1.m: Likewise. - * objc.dg/protocol-inheritance-2.m: Likewise. - * objc.dg/protocol-optional-1.m: Likewise. - * objc.dg/selector-1.m: Likewise. - * objc.dg/selector-2.m: Likewise. - * objc.dg/selector-3.m: Likewise. - * objc.dg/selector-4.m: Likewise. - * objc.dg/shadow-1.m: Likewise. - * objc.dg/shadow-2.m: Likewise. - * objc.dg/special/load-category-1.m: Likewise. - * objc.dg/special/load-category-2.m: Likewise. - * objc.dg/special/load-category-3.m: Likewise. - * objc.dg/special/special.exp: Likewise. - * objc.dg/special/unclaimed-category-1.h: Likewise. - * objc.dg/special/unclaimed-category-1.m: Likewise. - * objc.dg/stabs-1.m: Likewise. - * objc.dg/strings/strings.exp: Likewise. - * objc.dg/stubify-1.m: Likewise. - * objc.dg/stubify-2.m: Likewise. - * objc.dg/super-class-2.m: Likewise. - * objc.dg/super-dealloc-1.m: Likewise. - * objc.dg/super-dealloc-2.m: Likewise. - * objc.dg/sync-3.m: Likewise. - * objc.dg/threedotthree-abi-1.m: Likewise. - * objc.dg/torture/dg-torture.exp: Likewise. - * objc.dg/torture/strings/strings.exp: Likewise. - * objc.dg/try-catch-11.m: Likewise. - * objc.dg/try-catch-12.m: Likewise. - * objc.dg/type-size-2.m: Likewise. - * objc.dg/type-size-3.m: Likewise. - * objc.dg/type-size-4.m: Likewise. - * objc.dg/type-size-5.m: Likewise. - * objc.dg/undeclared-selector.m: Likewise. - * objc.dg/volatile-1.m: Likewise. - -2020-11-13 Iain Sandoe - - PR objc/77404 - * objc.dg/attributes/root-class-01.m: New test. - * objc.dg/root-class-00.m: New test. - * obj-c++.dg/attributes/root-class-01.mm: New test. - * obj-c++.dg/root-class-00.mm: New test. - -2020-11-13 Patrick Palka - - * g++.dg/cpp2a/concepts-decltype3.C: New test. - -2020-11-12 David Malcolm - - PR jit/87291 - * jit.dg/jit.exp: Load target-supports-dg.exp. - Set dg-do-what-default. - (jit-dg-test): Set dg-do-what and call dg-get-options, skipping - the test if it's not supported on the given target. - * jit.dg/test-asm.c: New test. - * jit.dg/test-asm.cc: New test. - -2020-11-12 David Malcolm - - * jit.dg/test-debug-strings.c (create_code): Add tests of - string literal escaping. - -2020-11-12 Joseph Myers - - * gcc.dg/c2x-has-c-attribute-1.c, gcc.dg/c2x-has-c-attribute-2.c, - gcc.dg/c2x-has-c-attribute-3.c, gcc.dg/c2x-has-c-attribute-4.c: - New tests. - -2020-11-12 Tobias Burnus - - PR fortran/97782 - * gfortran.dg/goacc/classify-kernels-unparallelized.f95: Move dg-message - one line up. - * gfortran.dg/goacc/classify-kernels.f95: Likewise. - -2020-11-12 Thomas Koenig - - * gfortran.dg/entry_23.f: New test. - -2020-11-12 Alex Coplan - - PR target/97730 - * gcc.target/aarch64/sve2/bcax_1.c (OP): Add missing bitwise not - to match correct bcax semantics. - * gcc.dg/vect/pr97730.c: New test. - -2020-11-12 Richard Biener - - PR tree-optimization/97806 - * gcc.dg/pr97806.c: New testcase. - -2020-11-12 Jakub Jelinek - - PR c++/97790 - * g++.dg/cpp2a/constexpr-dtor9.C: New test. - -2020-11-12 Jason Merrill - - PR debug/97060 - * gcc.dg/debug/dwarf2/pr97060.c: New test. - -2020-11-12 Kewen Lin - - * gcc.dg/tree-ssa/pr96789.c: Adjusted by disabling loop - vectorization. - -2020-11-12 David Malcolm - - * gcc.dg/analyzer/setjmp-5.c: Update expected path output to show - an event where the pertinent stack frame is popped. Update - expected message from final event to reference this event. - -2020-11-12 David Malcolm - - PR tree-optimization/97424 - * gcc.dg/analyzer/invalid-shift-1.c: New test. - -2020-11-11 Patrick Palka - - PR c++/88115 - * g++.dg/abi/macro0.C: Adjust. - * g++.dg/cpp0x/alignof7.C: New test. - * g++.dg/cpp0x/alignof8.C: New test. - -2020-11-11 Patrick Palka - - PR c++/88115 - * g++.dg/cpp0x/alignof6.C: New test. - -2020-11-11 Marek Polacek - - PR c++/97518 - * g++.dg/diagnostic/static_assert3.C: New test. - -2020-11-11 Jakub Jelinek - - * gfortran.dg/gomp/workshare-reduction-3.f90: Use (?:_ull)? instead - of (?:_ull) in the scan-tree-dump-times directives. - * gfortran.dg/gomp/workshare-reduction-26.f90: Likewise. - * gfortran.dg/gomp/workshare-reduction-27.f90: Likewise. - * gfortran.dg/gomp/workshare-reduction-28.f90: Likewise. - * gfortran.dg/gomp/workshare-reduction-36.f90: Likewise. - * gfortran.dg/gomp/workshare-reduction-37.f90: Likewise. - * gfortran.dg/gomp/workshare-reduction-38.f90: Likewise. - * gfortran.dg/gomp/workshare-reduction-39.f90: Likewise. - * gfortran.dg/gomp/workshare-reduction-40.f90: Likewise. - * gfortran.dg/gomp/workshare-reduction-41.f90: Likewise. - * gfortran.dg/gomp/workshare-reduction-42.f90: Likewise. - * gfortran.dg/gomp/workshare-reduction-43.f90: Likewise. - * gfortran.dg/gomp/workshare-reduction-44.f90: Likewise. - * gfortran.dg/gomp/workshare-reduction-45.f90: Likewise. - * gfortran.dg/gomp/workshare-reduction-46.f90: Likewise. - * gfortran.dg/gomp/workshare-reduction-47.f90: Likewise. - * gfortran.dg/gomp/workshare-reduction-56.f90: Likewise. - * gfortran.dg/gomp/workshare-reduction-57.f90: Likewise. - -2020-11-11 Eric Botcazou - - * gnat.dg/bias2.adb: New test. - -2020-11-11 Eric Botcazou - - * gnat.dg/opt89.adb: New test. - -2020-11-11 Eric Botcazou - - * gnat.dg/shift1.adb: New test. - -2020-11-11 Richard Biener - - PR testsuite/97797 - * gcc.dg/torture/ssa-fre-5.c: Use __SIZETYPE__ where - appropriate. - * gcc.dg/torture/ssa-fre-6.c: Likewise. - -2020-11-11 Richard Biener - - PR tree-optimization/97623 - * gcc.dg/tree-ssa/ssa-hoist-3.c: Adjust. - * gcc.dg/tree-ssa/ssa-hoist-7.c: Likewise. - * gcc.dg/tree-ssa/ssa-pre-30.c: Likewise. - -2020-11-11 Richard Sandiford - - * gcc.target/aarch64/sve/cmp_1.c: New test. - * gcc.target/aarch64/sve/cmp_2.c: Likewise. - * gcc.target/aarch64/sve/cond_arith_1.c: Add --param - aarch64-sve-compare-costs=0 - * gcc.target/aarch64/sve/cond_arith_1_run.c: Likewise. - * gcc.target/aarch64/sve/cond_arith_3.c: Likewise. - * gcc.target/aarch64/sve/cond_arith_3_run.c: Likewise. - * gcc.target/aarch64/sve/mask_gather_load_7.c: Likewise. - * gcc.target/aarch64/sve/mask_load_slp_1.c: Likewise. - * gcc.target/aarch64/sve/vcond_11.c: Likewise. - * gcc.target/aarch64/sve/vcond_11_run.c: Likewise. - -2020-11-11 Hongtao Liu - Hongyu Wang - - * gcc.target/i386/avx512vl-vnni-1.c: Rename.. - * gcc.target/i386/avx512vl-vnni-1a.c: To This. - * gcc.target/i386/avx512vl-vnni-1b.c: New test. - * gcc.target/i386/avx512vl-vnni-2.c: Ditto. - * gcc.target/i386/avx512vl-vnni-3.c: Ditto. - * gcc.target/i386/avx-vnni-1.c: Ditto. - * gcc.target/i386/avx-vnni-2.c: Ditto. - * gcc.target/i386/avx-vnni-3.c: Ditto. - * gcc.target/i386/avx-vnni-4.c: Ditto. - * gcc.target/i386/avx-vnni-5.c: Ditto. - * gcc.target/i386/avx-vnni-6.c: Ditto. - * gcc.target/i386/avx-vpdpbusd-2.c: Ditto. - * gcc.target/i386/avx-vpdpbusds-2.c: Ditto. - * gcc.target/i386/avx-vpdpwssd-2.c: Ditto. - * gcc.target/i386/avx-vpdpwssds-2.c: Ditto. - * gcc.target/i386/vnni_inline_error.c: Ditto. - * gcc.target/i386/avx512vnnivl-builtin.c: Ditto. - * gcc.target/i386/avxvnni-builtin.c: Ditto. - * gcc.target/i386/funcspec-56.inc: Add new target attribute. - * gcc.target/i386/sse-12.c: Add -mavxvnni. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-14.c: Ditto. - * gcc.target/i386/sse-22.c: Ditto. - * gcc.target/i386/sse-23.c: Ditto. - * g++.dg/other/i386-2.C: Ditto. - * g++.dg/other/i386-3.C: Ditto. - * lib/target-supports.exp (check_effective_target_avxvnni): - New proc. - -2020-11-11 Tobias Burnus - - * gfortran.dg/gomp/workshare-reduction-26.f90: Add (?:_ull) to - scan-tree-dump-times regex for -m32. - * gfortran.dg/gomp/workshare-reduction-27.f90: Likewise. - * gfortran.dg/gomp/workshare-reduction-28.f90: Likewise. - * gfortran.dg/gomp/workshare-reduction-3.f90: Likewise. - * gfortran.dg/gomp/workshare-reduction-36.f90: Likewise. - * gfortran.dg/gomp/workshare-reduction-37.f90: Likewise. - * gfortran.dg/gomp/workshare-reduction-38.f90: Likewise. - * gfortran.dg/gomp/workshare-reduction-39.f90: Likewise. - * gfortran.dg/gomp/workshare-reduction-40.f90: Likewise. - * gfortran.dg/gomp/workshare-reduction-41.f90: Likewise. - * gfortran.dg/gomp/workshare-reduction-42.f90: Likewise. - * gfortran.dg/gomp/workshare-reduction-43.f90: Likewise. - * gfortran.dg/gomp/workshare-reduction-44.f90: Likewise. - * gfortran.dg/gomp/workshare-reduction-45.f90: Likewise. - * gfortran.dg/gomp/workshare-reduction-46.f90: Likewise. - * gfortran.dg/gomp/workshare-reduction-47.f90: Likewise. - * gfortran.dg/gomp/workshare-reduction-56.f90: Likewise. - * gfortran.dg/gomp/workshare-reduction-57.f90: Likewise. - -2020-11-11 Jakub Jelinek - - PR fortran/97768 - * gfortran.dg/pr97768_1.f90: New test. - * gfortran.dg/pr97768_2.f90: New test. - -2020-11-11 Nagaraju Mekala - - * gcc.target/microblaze/others/strings1.c: Update - to include $LC label. - -2020-11-11 David Edelsohn - - * c-c++-common/zero-scratch-regs-10.c: Skip on powerpc*-*-*. - * c-c++-common/zero-scratch-regs-11.c: Skip on powerpc*-*-*. - * c-c++-common/zero-scratch-regs-5.c: Skip on powerpc*-*-aix*. - * c-c++-common/zero-scratch-regs-8.c: Skip on powerpc*-*-*. - * c-c++-common/zero-scratch-regs-9.c: Skip on powerpc*-*-*. - -2020-11-10 Marek Polacek - - PR c++/97518 - * g++.dg/diagnostic/pr87386.C: Adjust expected output. - * g++.dg/diagnostic/static_assert1.C: New test. - * g++.dg/diagnostic/static_assert2.C: New test. - -2020-11-10 Marek Polacek - - PR c++/52830 - PR c++/88982 - PR c++/90799 - PR c++/87765 - PR c++/89565 - * g++.dg/cpp0x/constexpr-52830.C: New test. - * g++.dg/cpp0x/vt-88982.C: New test. - * g++.dg/cpp1z/class-deduction76.C: New test. - * g++.dg/cpp1z/constexpr-lambda26.C: New test. - * g++.dg/cpp2a/nontype-class39.C: New test. - -2020-11-10 Tobias Burnus - - * gfortran.dg/gomp/schedule-modifiers-2.f90: Remove some dg-error. - * gfortran.dg/gomp/reduction4.f90: New test. - * gfortran.dg/gomp/reduction5.f90: New test. - * gfortran.dg/gomp/workshare-reduction-1.f90: New test. - * gfortran.dg/gomp/workshare-reduction-2.f90: New test. - * gfortran.dg/gomp/workshare-reduction-3.f90: New test. - * gfortran.dg/gomp/workshare-reduction-4.f90: New test. - * gfortran.dg/gomp/workshare-reduction-5.f90: New test. - * gfortran.dg/gomp/workshare-reduction-6.f90: New test. - * gfortran.dg/gomp/workshare-reduction-7.f90: New test. - * gfortran.dg/gomp/workshare-reduction-8.f90: New test. - * gfortran.dg/gomp/workshare-reduction-9.f90: New test. - * gfortran.dg/gomp/workshare-reduction-10.f90: New test. - * gfortran.dg/gomp/workshare-reduction-11.f90: New test. - * gfortran.dg/gomp/workshare-reduction-12.f90: New test. - * gfortran.dg/gomp/workshare-reduction-13.f90: New test. - * gfortran.dg/gomp/workshare-reduction-14.f90: New test. - * gfortran.dg/gomp/workshare-reduction-15.f90: New test. - * gfortran.dg/gomp/workshare-reduction-16.f90: New test. - * gfortran.dg/gomp/workshare-reduction-17.f90: New test. - * gfortran.dg/gomp/workshare-reduction-18.f90: New test. - * gfortran.dg/gomp/workshare-reduction-19.f90: New test. - * gfortran.dg/gomp/workshare-reduction-20.f90: New test. - * gfortran.dg/gomp/workshare-reduction-21.f90: New test. - * gfortran.dg/gomp/workshare-reduction-22.f90: New test. - * gfortran.dg/gomp/workshare-reduction-23.f90: New test. - * gfortran.dg/gomp/workshare-reduction-24.f90: New test. - * gfortran.dg/gomp/workshare-reduction-25.f90: New test. - * gfortran.dg/gomp/workshare-reduction-26.f90: New test. - * gfortran.dg/gomp/workshare-reduction-27.f90: New test. - * gfortran.dg/gomp/workshare-reduction-28.f90: New test. - * gfortran.dg/gomp/workshare-reduction-29.f90: New test. - * gfortran.dg/gomp/workshare-reduction-30.f90: New test. - * gfortran.dg/gomp/workshare-reduction-31.f90: New test. - * gfortran.dg/gomp/workshare-reduction-32.f90: New test. - * gfortran.dg/gomp/workshare-reduction-33.f90: New test. - * gfortran.dg/gomp/workshare-reduction-34.f90: New test. - * gfortran.dg/gomp/workshare-reduction-35.f90: New test. - * gfortran.dg/gomp/workshare-reduction-36.f90: New test. - * gfortran.dg/gomp/workshare-reduction-37.f90: New test. - * gfortran.dg/gomp/workshare-reduction-38.f90: New test. - * gfortran.dg/gomp/workshare-reduction-39.f90: New test. - * gfortran.dg/gomp/workshare-reduction-40.f90: New test. - * gfortran.dg/gomp/workshare-reduction-41.f90: New test. - * gfortran.dg/gomp/workshare-reduction-42.f90: New test. - * gfortran.dg/gomp/workshare-reduction-43.f90: New test. - * gfortran.dg/gomp/workshare-reduction-44.f90: New test. - * gfortran.dg/gomp/workshare-reduction-45.f90: New test. - * gfortran.dg/gomp/workshare-reduction-46.f90: New test. - * gfortran.dg/gomp/workshare-reduction-47.f90: New test. - * gfortran.dg/gomp/workshare-reduction-48.f90: New test. - * gfortran.dg/gomp/workshare-reduction-49.f90: New test. - * gfortran.dg/gomp/workshare-reduction-50.f90: New test. - * gfortran.dg/gomp/workshare-reduction-51.f90: New test. - * gfortran.dg/gomp/workshare-reduction-52.f90: New test. - * gfortran.dg/gomp/workshare-reduction-53.f90: New test. - * gfortran.dg/gomp/workshare-reduction-54.f90: New test. - * gfortran.dg/gomp/workshare-reduction-55.f90: New test. - * gfortran.dg/gomp/workshare-reduction-56.f90: New test. - * gfortran.dg/gomp/workshare-reduction-57.f90: New test. - * gfortran.dg/gomp/workshare-reduction-58.f90: New test. - -2020-11-10 Matthew Malcomson - - * c-c++-common/ubsan/sanitize-recover-7.c: Update testcase. - -2020-11-10 Jakub Jelinek - - PR c/97748 - * c-c++-common/Wunused-value-1.c: New test. - -2020-11-10 Richard Biener - - PR tree-optimization/97769 - * gcc.dg/vect/pr97769.c: New testcase. - -2020-11-10 Chung-Lin Tang - - * c-c++-common/gomp/clauses-2.c: Remove dg-error cases now valid. - * gfortran.dg/gomp/map-2.f90: Likewise. - * c-c++-common/gomp/map-5.c: New testcase. - -2020-11-10 Ilya Leoshkevich - - * gcc.target/s390/vector/long-double-callee-abi-scan.c: New test. - * gcc.target/s390/vector/long-double-caller-abi-run.c: New test. - * gcc.target/s390/vector/long-double-caller-abi-scan.c: New test. - * gcc.target/s390/vector/long-double-copysign.c: New test. - * gcc.target/s390/vector/long-double-fprx2-constant.c: New test. - * gcc.target/s390/vector/long-double-from-double.c: New test. - * gcc.target/s390/vector/long-double-from-float.c: New test. - * gcc.target/s390/vector/long-double-from-i16.c: New test. - * gcc.target/s390/vector/long-double-from-i32.c: New test. - * gcc.target/s390/vector/long-double-from-i64.c: New test. - * gcc.target/s390/vector/long-double-from-i8.c: New test. - * gcc.target/s390/vector/long-double-from-u16.c: New test. - * gcc.target/s390/vector/long-double-from-u32.c: New test. - * gcc.target/s390/vector/long-double-from-u64.c: New test. - * gcc.target/s390/vector/long-double-from-u8.c: New test. - * gcc.target/s390/vector/long-double-to-double.c: New test. - * gcc.target/s390/vector/long-double-to-float.c: New test. - * gcc.target/s390/vector/long-double-to-i16.c: New test. - * gcc.target/s390/vector/long-double-to-i32.c: New test. - * gcc.target/s390/vector/long-double-to-i64.c: New test. - * gcc.target/s390/vector/long-double-to-i8.c: New test. - * gcc.target/s390/vector/long-double-to-u16.c: New test. - * gcc.target/s390/vector/long-double-to-u32.c: New test. - * gcc.target/s390/vector/long-double-to-u64.c: New test. - * gcc.target/s390/vector/long-double-to-u8.c: New test. - * gcc.target/s390/vector/long-double-vec-duplicate.c: New test. - * gcc.target/s390/vector/long-double-wf.h: New test. - * gcc.target/s390/vector/long-double-wfaxb.c: New test. - * gcc.target/s390/vector/long-double-wfcxb-0001.c: New test. - * gcc.target/s390/vector/long-double-wfcxb-0111.c: New test. - * gcc.target/s390/vector/long-double-wfcxb-1011.c: New test. - * gcc.target/s390/vector/long-double-wfcxb-1101.c: New test. - * gcc.target/s390/vector/long-double-wfdxb.c: New test. - * gcc.target/s390/vector/long-double-wfixb.c: New test. - * gcc.target/s390/vector/long-double-wfkxb-0111.c: New test. - * gcc.target/s390/vector/long-double-wfkxb-1011.c: New test. - * gcc.target/s390/vector/long-double-wfkxb-1101.c: New test. - * gcc.target/s390/vector/long-double-wflcxb.c: New test. - * gcc.target/s390/vector/long-double-wflpxb.c: New test. - * gcc.target/s390/vector/long-double-wfmaxb-2.c: New test. - * gcc.target/s390/vector/long-double-wfmaxb-3.c: New test. - * gcc.target/s390/vector/long-double-wfmaxb-disabled.c: New test. - * gcc.target/s390/vector/long-double-wfmaxb.c: New test. - * gcc.target/s390/vector/long-double-wfmsxb-disabled.c: New test. - * gcc.target/s390/vector/long-double-wfmsxb.c: New test. - * gcc.target/s390/vector/long-double-wfmxb.c: New test. - * gcc.target/s390/vector/long-double-wfnmaxb-disabled.c: New test. - * gcc.target/s390/vector/long-double-wfnmaxb.c: New test. - * gcc.target/s390/vector/long-double-wfnmsxb-disabled.c: New test. - * gcc.target/s390/vector/long-double-wfnmsxb.c: New test. - * gcc.target/s390/vector/long-double-wfsqxb.c: New test. - * gcc.target/s390/vector/long-double-wfsxb-1.c: New test. - * gcc.target/s390/vector/long-double-wfsxb.c: New test. - * gcc.target/s390/vector/long-double-wftcixb-1.c: New test. - * gcc.target/s390/vector/long-double-wftcixb.c: New test. - -2020-11-10 Eric Botcazou - - * gnat.dg/opt88.adb: New test. - -2020-11-10 David Candler - - * gcc.target/aarch64/advsimd-intrinsics/vqrshrn_high_n.c: Added skip - directive. - * gcc.target/aarch64/advsimd-intrinsics/vqrshrun_high_n.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqshrn_high_n.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqshrun_high_n.c: Likewise. - -2020-11-10 Jakub Jelinek - - PR tree-optimization/97764 - * gcc.c-torture/execute/pr97764.c: New test. - -2020-11-10 Tobias Burnus - - PR fortran/95847 - * gfortran.dg/coverage.f90: New test. - -2020-11-10 Richard Biener - - PR tree-optimization/97760 - * gcc.dg/vect/pr97760.c: New testcase. - -2020-11-10 Aldy Hernandez - - * g++.dg/opt/pr97767.C: New test. - -2020-11-10 hongyuw1 - - * gcc.target/i386/keylocker-aesdec128kl.c: Adjust regex patterns. - * 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-aesencwide128kl.c: Likewise. - * gcc.target/i386/keylocker-aesencwide256kl.c: Likewise. - * gcc.target/i386/keylocker-encodekey128.c: Likewise. - * gcc.target/i386/keylocker-encodekey256.c: Likewise. - * gcc.target/i386/keylocker-aesenc256kl.c: New test. - -2020-11-10 Andrew MacLeod - - * gcc.dg/pr97567-2.c: New. - -2020-11-09 Marek Polacek - - DR 1914 - * c-c++-common/attr-fallthrough-2.c: Adjust dg-warning. - * g++.dg/cpp0x/fallthrough2.C: Likewise. - * g++.dg/cpp0x/gen-attrs-60.C: Turn dg-error into dg-warning. - * g++.dg/cpp1y/attr-deprecated-2.C: Likewise. - * g++.dg/cpp2a/attr-likely2.C: Adjust dg-warning. - * g++.dg/cpp2a/nodiscard-once.C: Turn dg-error into dg-warning. - * g++.dg/cpp0x/gen-attrs-72.C: New test. - -2020-11-09 Patrick Palka - - * g++.dg/cpp2a/concepts-decltype2.C: New file. - -2020-11-09 Patrick Palka - - PR c++/93907 - * g++.dg/cpp2a/concepts-using3.C: New test, based off of - concepts-using2.C. - -2020-11-09 Jason Merrill - - * g++.dg/lookup/using26.C: Adjust location. - * g++.old-deja/g++.other/using1.C: Adjust location. - -2020-11-09 Marek Polacek - - PR c++/97762 - * g++.dg/warn/Wvexing-parse8.C: New test. - -2020-11-09 Patrick Palka - - * gcc.dg/pragma-diag-6.c: Adjust expected diagnostics - accordingly. - -2020-11-09 Tobias Burnus - - PR fortran/90111 - * gfortran.dg/goacc/specification-part.f90: New test. - -2020-11-09 Richard Biener - - PR tree-optimization/97761 - * gfortran.dg/vect/pr97761.f90: New testcase. - -2020-11-09 Richard Biener - - PR tree-optimization/97753 - * gcc.dg/vect/pr97753.c: New testcase. - -2020-11-09 Richard Biener - - PR tree-optimization/97746 - * gcc.dg/vect/bb-slp-pr97746.c: New testcase. - -2020-11-09 Andrea Corallo - - * gcc.target/arm/simd/vld1_lane_bf16_1.c: Require target to - support and add -mfloat-abi=hard flag. - * gcc.target/arm/simd/vld1_lane_bf16_indices_1.c: Likewise. - * gcc.target/arm/simd/vld1q_lane_bf16_indices_1.c: Likewise. - * gcc.target/arm/simd/vst1_lane_bf16_1.c: Likewise. - * gcc.target/arm/simd/vst1_lane_bf16_indices_1.c: Likewise. - * gcc.target/arm/simd/vstq1_lane_bf16_indices_1.c: Likewise. - -2020-11-08 Iain Sandoe - - * obj-c++.dg/property/at-property-4.mm: Test handling class - attributes. - * objc.dg/property/at-property-4.m: Likewise. - -2020-11-08 Iain Sandoe - - * c-c++-common/zero-scratch-regs-10.c: Skip for powerpc - Darwin. - * c-c++-common/zero-scratch-regs-11.c: Likewise. - * c-c++-common/zero-scratch-regs-8.c: Likewise. - * c-c++-common/zero-scratch-regs-9.c: Likewise. - -2020-11-08 Iain Sandoe - - * gcc.target/i386/builtin_thread_pointer.c: Require native TLS. - -2020-11-07 Marek Polacek - - * c-c++-common/Wimplicit-fallthrough-20.c: Adjust dg-warning. - -2020-11-07 Iain Sandoe - - * obj-c++.dg/property/at-property-4.mm: Test atomic property - attribute. - * objc.dg/property/at-property-4.m: Likewise. - -2020-11-07 Iain Sandoe - - * obj-c++.dg/attributes/nsobject-01.mm: New test. - * objc.dg/attributes/nsobject-01.m: New test. - -2020-11-07 Iain Sandoe - - * c-c++-common/zero-scratch-regs-10.c: XFAIL for - powerpc-darwin. - * c-c++-common/zero-scratch-regs-11.c: Likewise. - * c-c++-common/zero-scratch-regs-8.c: Likewise. - * c-c++-common/zero-scratch-regs-9.c: Likewise. - -2020-11-07 Martin Uecker - - * c-c++-common/attr-fallthrough-2.c: Update compiler flags. - * c-c++-common/Wimplicit-fallthrough-20.c: Adapt test. - * gcc.dg/20031223-1.c: Update compiler flags and adapt test. - * gcc.dg/c11-labels-1.c: New test. - * gcc.dg/c11-labels-2.c: New test. - * gcc.dg/c11-labels-3.c: New test. - * gcc.dg/c2x-attr-syntax-3.c: Adapt test. - * gcc.dg/c2x-labels-1.c: New test. - * gcc.dg/c2x-labels-2.c: New test. - * gcc.dg/c2x-labels-3.c: New test. - * gcc.dg/decl-9.c: Update compiler flags and add error. - * gcc.dg/gomp/barrier-2.c: Update compiler flags and add warning. - * gcc.dg/gomp/declare-simd-5.c: Update compiler flags and adapt test. - * gcc.dg/gomp/declare-variant-2.c: Update compiler flags and add error. - * gcc.dg/label-compound-stmt-1.c: Update compiler flags. - * gcc.dg/parse-decl-after-label.c: Update compiler flags. - -2020-11-06 Peter Bergner - - * gcc.target/powerpc/pr64505.c: Run everywhere. Use correct minimized - test case. - -2020-11-06 Peter Bergner - - * gcc.target/powerpc/mma-alignment.c: New test. - -2020-11-06 Jeff Law - - PR target/91489 - * gcc.target/i386/ms_hook_prologue.c: Expand testcase - to reproduce PR target/91489 issue. - -2020-11-06 Joseph Myers - - * lib/target-supports.exp - (check_effective_target_fenv_exceptions_dfp): New. - * gcc.dg/dfp/builtin-snan-1.c, gcc.dg/dfp/builtin-snan-2.c: New - tests. - -2020-11-06 Marek Polacek - - PR c++/81660 - * g++.dg/warn/Wexceptions3.C: New test. - * g++.dg/eh/pr42859.C: Add dg-warning. - * g++.dg/torture/pr81659.C: Likewise. - -2020-11-06 Iain Sandoe - - * obj-c++.dg/property/at-property-1.mm: Adjust expected - diagnostics. - * obj-c++.dg/property/at-property-29.mm: Likewise. - * obj-c++.dg/property/at-property-4.mm: Likewise. - * obj-c++.dg/property/property-neg-2.mm: Likewise. - * objc.dg/property/at-property-1.m: Likewise. - * objc.dg/property/at-property-29.m: Likewise. - * objc.dg/property/at-property-4.m: Likewise. - * objc.dg/property/at-property-5.m: Likewise. - * objc.dg/property/property-neg-2.m: Likewise. - -2020-11-06 Jakub Jelinek - - PR c++/67453 - * g++.dg/ext/attr-used-2.C: New test. - -2020-11-06 Iain Sandoe - - * gcc.dg/darwin-minversion-link.c: Allow for Darwin19 (macOS 10.15) - and Darwin20 (macOS 11.0). - -2020-11-06 Andrew MacLeod - - * gcc.dg/pr97737.c: New. - * gcc.dg/pr97741.c: New. - -2020-11-06 David Candler - - * gcc.target/aarch64/advsimd-intrinsics/vqrshrn_high_n.c: New testcase. - * gcc.target/aarch64/advsimd-intrinsics/vqrshrun_high_n.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqshrn_high_n.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vqshrun_high_n.c: Likewise. - * gcc.target/aarch64/narrow_high-intrinsics.c: Update expected assembler - for sqshrun2, sqrshrun2, sqshrn2, uqshrn2, sqrshrn2 and uqrshrn2. - -2020-11-06 Richard Sandiford - - * gcc.target/aarch64/sve/dup_lane_2.c: New test. - * gcc.target/aarch64/sve/dup_lane_3.c: Likewise. - * gcc.target/aarch64/sve/ext_4.c: Likewise. - * gcc.target/aarch64/sve/rev_2.c: Likewise. - * gcc.target/aarch64/sve/revhw_1.c: Likewise. - * gcc.target/aarch64/sve/revhw_2.c: Likewise. - * gcc.target/aarch64/sve/slp_perm_8.c: Likewise. - * gcc.target/aarch64/sve/trn1_2.c: Likewise. - * gcc.target/aarch64/sve/trn2_2.c: Likewise. - * gcc.target/aarch64/sve/uzp1_2.c: Likewise. - * gcc.target/aarch64/sve/uzp2_2.c: Likewise. - * gcc.target/aarch64/sve/zip1_2.c: Likewise. - * gcc.target/aarch64/sve/zip2_2.c: Likewise. - -2020-11-06 Martin Liska - - * gcc.dg/tree-ssa/switch-4.c: New test. - -2020-11-06 Richard Biener - - PR tree-optimization/97706 - * gcc.dg/vect/bb-slp-pr97706.c: New testcase. - -2020-11-06 Kewen Lin - - PR gcov-profile/97461 - * gcc.dg/tree-prof/pr97461.c: Return aligned memory. - -2020-11-06 Thomas Schwinge - - * gfortran.dg/goacc/loop-2-parallel-3.f95: Adjust. - -2020-11-06 Thomas Schwinge - - * gfortran.dg/goacc/loop-6.f95: Remove. - -2020-11-06 Thomas Schwinge - - * gfortran.dg/goacc/loop-5.f95: Remove. - -2020-11-06 Tobias Burnus - - * gfortran.dg/goacc-gomp/goacc-gomp.exp: New. - * gfortran.dg/goacc-gomp/atomic.f90: New test. - * gfortran.dg/goacc/atomic.f90: New test. - -2020-11-06 Tobias Burnus - - * c-c++-common/goacc-gomp/atomic.c: New test. - * c-c++-common/goacc/atomic.c: New test. - -2020-11-06 Richard Biener - - PR tree-optimization/97732 - * gcc.dg/vect/bb-slp-pr97732.c: New testcase. - -2020-11-06 Olivier Hainque - - * gcc.target/i386/fentryname1.c: Add dg-require-profiling. - * gcc.target/i386/fentryname2.c: Likewise. - * gcc.target/i386/fentryname3.c: Likewise. - * gcc.target/i386/returninst1.c: Likewise. - * gcc.target/i386/returninst2.c: Likewise. - * gcc.target/i386/returninst3.c: Likewise. - -2020-11-06 Olivier Hainque - - * g++.dg/pr57878.C: Add dg-require-effective-target fpic. - * g++.dg/pr65032.C: Likewise. - * g++.dg/pr84279.C: Likewise. - * g++.dg/inherit/thunk8.C: Likewise. - * g++.dg/opt/pr64411.C: Likewise. - -2020-11-06 Jan Hubicka - - * gcc.dg/ipa/modref-2.c: New test. - * gcc.dg/lto/modref-2_0.c: New test. - -2020-11-06 Jeff Law - - * gcc.dg/no-strict-overflow-4.c: Adjust expected output. - -2020-11-06 Eugene Rozenfeld - - * gcc.dg/self-right-shift.c: New test. - -2020-11-06 Kito Cheng - - PR target/96307 - * gcc.dg/pr96307.c: New. - * gcc.target/riscv/pr96260.c: Move this test case from here to ... - * gcc.dg/pr96260.c: ... here. - * gcc.target/riscv/pr91441.c: Move this test case from here to ... - * gcc.dg/pr91441.c: ... here. - * lib/target-supports.exp (check_effective_target_no_fsanitize_address): - New proc. - -2020-11-05 Marek Polacek - - PR c++/78209 - * g++.dg/cpp1y/decltype-auto1.C: New test. - -2020-11-05 Marek Polacek - - PR c++/97675 - * g++.old-deja/g++.eh/catch10.C: Adjust dg-warning. - * g++.dg/warn/Wexceptions1.C: New test. - * g++.dg/warn/Wexceptions2.C: New test. - -2020-11-05 Marek Polacek - - PR c++/25814 - * g++.dg/cpp2a/fn-template16.C: Add a dg-warning. - * g++.dg/cpp2a/fn-template7.C: Likewise. - * g++.dg/lookup/pr80891-5.C: Likewise. - * g++.dg/lto/pr79050_0.C: Add extern. - * g++.dg/lto/pr84805_0.C: Likewise. - * g++.dg/parse/pr58898.C: Add a dg-warning. - * g++.dg/template/scope5.C: Likewise. - * g++.old-deja/g++.brendan/recurse.C: Likewise. - * g++.old-deja/g++.jason/template4.C: Likewise. - * g++.old-deja/g++.law/arm4.C: Likewise. - * g++.old-deja/g++.mike/for2.C: Likewise. - * g++.old-deja/g++.other/local4.C: Likewise. - * g++.old-deja/g++.pt/crash3.C: Likewise. - * g++.dg/warn/Wvexing-parse.C: New test. - * g++.dg/warn/Wvexing-parse2.C: New test. - * g++.dg/warn/Wvexing-parse3.C: New test. - * g++.dg/warn/Wvexing-parse4.C: New test. - * g++.dg/warn/Wvexing-parse5.C: New test. - * g++.dg/warn/Wvexing-parse6.C: New test. - * g++.dg/warn/Wvexing-parse7.C: New test. - -2020-11-05 Andrew MacLeod - - * gcc.dg/pr97725.c: New. - -2020-11-05 Olivier Hainque - - * gcc.dg/sms-12.c: Add dg-require-effective-target fpic. - -2020-11-05 Jan Hubicka - - * g++.dg/ipa/devirt-24.C: Update template. - -2020-11-05 Tamar Christina - - * gcc.dg/vect/slp-11b.c: Guard statements. - -2020-11-05 Aldy Hernandez - - * gcc.dg/pr97721.c: New test. - -2020-11-05 qing zhao - - PR target/97715 - * gcc.target/i386/zero-scratch-regs-32.c: New test. - -2020-11-05 David Malcolm - - PR analyzer/97668 - * gcc.dg/analyzer/pr97668.c: New test. - * gfortran.dg/analyzer/pr97668.f: New test. - -2020-11-05 Richard Biener - - * gcc.dg/vect/bb-slp-69.c: New testcase. - -2020-11-05 Tamar Christina - - * gcc.dg/vect/slp-11b.c: Update testcase. - * gcc.dg/vect/slp-perm-6.c: Update target selector. - -2020-11-05 Kewen Lin - - PR target/96933 - * gcc.target/powerpc/pr96933-1.c: New test. - * gcc.target/powerpc/pr96933-2.c: New test. - * gcc.target/powerpc/pr96933-3.c: New test. - * gcc.target/powerpc/pr96933-4.c: New test. - * gcc.target/powerpc/pr96933.h: New test. - * gcc.target/powerpc/pr96933-run.h: New test. - -2020-11-04 Tamar Christina - - * gcc.dg/vect/slp-11b.c: Update output scan. - * gcc.dg/vect/slp-perm-6.c: Likewise. - -2020-11-04 Andrew MacLeod - - * gcc.dg/pr97515.c: Check listing for folding of entire function. - -2020-11-04 Richard Biener - - PR tree-optimization/97709 - * gcc.dg/vect/bb-slp-pr97709.c: New testcase. - -2020-11-04 Jakub Jelinek - - PR tree-optimization/97690 - * gcc.dg/tree-ssa/phi-opt-22.c: New test. - * gcc.dg/tree-ssa/ssa-ccp-11.c: Use -O2 instead of -O1. - * gcc.dg/vect/bb-slp-pattern-2.c (foo): Use ? 2 : 7, ? 4 : 7 and - ? 8 : 7 instead of ? 2 : 0, ? 4 : 0, ? 8 : 0. - -2020-11-04 Christophe Lyon - - * gcc.target/arm/pure-code/no-literal-pool-m0.c: Add dg-skip-if - and -mfloat-abi=soft option. - * gcc.target/arm/pure-code/no-literal-pool-m23.c: Likewise. - -2020-11-04 Jakub Jelinek - - PR c++/97670 - * c-c++-common/gomp/allocate-4.c: New test. - * g++.dg/gomp/allocate-2.C: New test. - * g++.dg/gomp/allocate-3.C: New test. - -2020-11-04 Joseph Myers - - * gcc.dg/c2x-attr-nodiscard-1.c, gcc.dg/c2x-attr-nodiscard-2.c, - gcc.dg/c2x-attr-nodiscard-3.c, gcc.dg/c2x-attr-nodiscard-4.c: New - tests. - * gcc.dg/c2x-attr-syntax-5.c: Remove nodiscard test. - -2020-11-04 liuhongt - - * gcc.target/i386/pr97540.c: New test. - -2020-11-03 Jan Hubicka - - * gcc.c-torture/execute/pr97695.c: New test. - -2020-11-03 Jason Merrill - - * g++.dg/Wclass-memaccess.C: Check that signed char and - char16_t aren't treated as byte-access types. - -2020-11-03 Thomas Schwinge - - * c-c++-common/goacc/pr92793-1.c: Extend. - * gfortran.dg/goacc/pr92793-1.f90: Likewise. - -2020-11-03 Jakub Jelinek - - PR c++/97663 - * g++.dg/cpp1z/class-deduction75.C: New test. - -2020-11-03 Kamlesh Kumar - - * g++.dg/DRs/dr2303.C: New test. - -2020-11-03 Olivier Hainque - - * gcc.target/powerpc/pr67789.c: Add - dg-require-effective-target fpic. - * gcc.target/powerpc/pr83629.c: Likewise. - * gcc.target/powerpc/pr84112.c: Likewise. Remove - a superflous target test in the dg-do compile - directive while at it. - -2020-11-03 Dennis Zhang - - * gcc.target/aarch64/advsimd-intrinsics/bf16_get.c: New test. - * gcc.target/aarch64/advsimd-intrinsics/bf16_get-be.c: New test. - -2020-11-03 Marek Polacek - - PR c++/97632 - * g++.dg/warn/Winit-list4.C: New test. - -2020-11-03 Andrea Corallo - - * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_bf16_indices_1.c: - Run it also for arm-*-*. - * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_bf16_indices_1.c: - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_bf16_indices_1.c: - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_bf16_indices_1.c: - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_bf16_indices_1.c: - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_bf16_indices_1.c: - Likewise. - * gcc.target/arm/simd/vstn_lane_bf16_1.c: New test. - -2020-11-03 Andrea Corallo - - * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_bf16_indices_1.c: - Run it also for the arm backend. - * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_bf16_indices_1.c: - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_bf16_indices_1.c: - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_bf16_indices_1.c: - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_bf16_indices_1.c: - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_bf16_indices_1.c: - Likewise. - * gcc.target/arm/simd/vldn_lane_bf16_1.c: New test. - -2020-11-03 Andrea Corallo - - * gcc.target/arm/simd/vst1_bf16_1.c: New test. - -2020-11-03 Andrea Corallo - - * gcc.target/arm/simd/vld1_bf16_1.c: New test. - -2020-11-03 Andrea Corallo - - * gcc.target/arm/simd/vst1_lane_bf16_1.c: New testcase. - * gcc.target/arm/simd/vstq1_lane_bf16_indices_1.c: Likewise. - * gcc.target/arm/simd/vst1_lane_bf16_indices_1.c: Likewise. - -2020-11-03 Andrea Corallo - - * gcc.target/arm/simd/vld1_lane_bf16_1.c: New testcase. - * gcc.target/arm/simd/vld1_lane_bf16_indices_1.c: Likewise. - * gcc.target/arm/simd/vld1q_lane_bf16_indices_1.c: Likewise. - -2020-11-03 Dennis Zhang - - * gcc.target/aarch64/advsimd-intrinsics/bfcvt-compile.c - (test_vcvt_f32_bf16, test_vcvtq_low_f32_bf16): New tests. - (test_vcvtq_high_f32_bf16, test_vcvth_f32_bf16): Likewise. - -2020-11-03 Richard Biener - - PR tree-optimization/80928 - * gcc.dg/vect/vect-outer-slp-2.c: New testcase. - * gcc.dg/vect/vect-outer-slp-3.c: Likewise. - -2020-11-03 Uroš Bizjak - - * gcc.target/i386/zero-scratch-regs-1.c: Add ia32 target - selector where appropriate. Improve scan-assembler regexp. - * gcc.target/i386/zero-scratch-regs-2.c: Ditto. - * gcc.target/i386/zero-scratch-regs-3.c: Ditto. - * gcc.target/i386/zero-scratch-regs-4.c: Ditto. - * gcc.target/i386/zero-scratch-regs-5.c: Ditto. - * gcc.target/i386/zero-scratch-regs-6.c: Ditto. - * gcc.target/i386/zero-scratch-regs-7.c: Ditto. - * gcc.target/i386/zero-scratch-regs-8.c: Ditto. - * gcc.target/i386/zero-scratch-regs-9.c: Ditto. - * gcc.target/i386/zero-scratch-regs-10.c: Ditto. - * gcc.target/i386/zero-scratch-regs-13.c: Ditto. - * gcc.target/i386/zero-scratch-regs-14.c: Ditto. - * gcc.target/i386/zero-scratch-regs-15.c: Ditto. - * gcc.target/i386/zero-scratch-regs-16.c: Ditto. - * gcc.target/i386/zero-scratch-regs-17.c: Ditto. - * gcc.target/i386/zero-scratch-regs-18.c: Ditto. - * gcc.target/i386/zero-scratch-regs-19.c: Ditto. - * gcc.target/i386/zero-scratch-regs-20.c: Ditto. - * gcc.target/i386/zero-scratch-regs-21.c: Ditto. - * gcc.target/i386/zero-scratch-regs-22.c: Ditto. - * gcc.target/i386/zero-scratch-regs-23.c: Ditto. - * gcc.target/i386/zero-scratch-regs-24.c: Ditto. - * gcc.target/i386/zero-scratch-regs-25.c: Ditto. - * gcc.target/i386/zero-scratch-regs-26.c: Ditto. - * gcc.target/i386/zero-scratch-regs-27.c: Ditto. - * gcc.target/i386/zero-scratch-regs-28.c: Ditto. - * gcc.target/i386/zero-scratch-regs-29.c: Ditto. - * gcc.target/i386/zero-scratch-regs-30.c: Ditto. - * gcc.target/i386/zero-scratch-regs-31.c: Ditto. - -2020-11-03 Olivier Hainque - - * gcc.dg/tree-ssa/pr71077.c: Add - dg-require-effective-target lto. - -2020-11-03 Olivier Hainque - - * gcc.target/i386/pr45352-1.c: Add dg-require-effective-target fpic. - * gcc.target/i386/pr47602.c: Likewise. - * gcc.target/i386/pr55151.c: Likewise. - * gcc.target/i386/pr55458.c: Likewise. - * gcc.target/i386/pr56348.c: Likewise. - * gcc.target/i386/pr57097.c: Likewise. - * gcc.target/i386/pr65753.c: Likewise. - * gcc.target/i386/pr65915.c: Likewise. - * gcc.target/i386/pr66232-5.c: Likewise. - * gcc.target/i386/pr66334.c: Likewise. - * gcc.target/i386/pr66819-2.c: Likewise. - * gcc.target/i386/pr67265.c: Likewise. - * gcc.target/i386/pr81481.c: Likewise. - * gcc.target/i386/pr83994.c: Likewise. - -2020-11-03 Jan Hubicka - - * gcc.c-torture/compile/pr97578.c: New test. - -2020-11-03 Richard Biener - - PR testsuite/97688 - * gcc.dg/vect/tree-vect.h (check_vect): Fix the x86 cpuid - check to always specify subleaf zero. - -2020-11-03 Richard Biener - - PR tree-optimization/97678 - * gcc.dg/vect/pr97678.c: New testcase. - -2020-11-03 Tobias Burnus - - * gfortran.dg/attr_deprecated.f90: New test. - -2020-11-03 Thomas Schwinge - - * c-c++-common/goacc/nested-reductions-1-kernels.c: Extend. - * c-c++-common/goacc/nested-reductions-2-kernels.c: Likewise. - * gfortran.dg/goacc/nested-reductions-1-kernels.f90: Likewise. - * gfortran.dg/goacc/nested-reductions-2-kernels.f90: Likewise. - -2020-11-03 Thomas Schwinge - - * c-c++-common/goacc/nested-reductions.c: Split file into... - * c-c++-common/goacc/nested-reductions-1-kernels.c: ... this... - * c-c++-common/goacc/nested-reductions-1-parallel.c: ..., this... - * c-c++-common/goacc/nested-reductions-1-routine.c: ..., and this. - * c-c++-common/goacc/nested-reductions-warn.c: Split file into... - * c-c++-common/goacc/nested-reductions-2-kernels.c: ... this... - * c-c++-common/goacc/nested-reductions-2-parallel.c: ..., this... - * c-c++-common/goacc/nested-reductions-2-routine.c: ..., and this. - * gfortran.dg/goacc/nested-reductions.f90: Split file into... - * gfortran.dg/goacc/nested-reductions-1-kernels.f90: ... this... - * gfortran.dg/goacc/nested-reductions-1-parallel.f90: ..., this... - * gfortran.dg/goacc/nested-reductions-1-routine.f90: ..., and - this. - * gfortran.dg/goacc/nested-reductions-warn.f90: Split file into... - * gfortran.dg/goacc/nested-reductions-2-kernels.f90: ... this... - * gfortran.dg/goacc/nested-reductions-2-parallel.f90: ..., this... - * gfortran.dg/goacc/nested-reductions-2-routine.f90: ..., and - this. - -2020-11-03 Thomas Schwinge - - PR fortran/92793 - * gfortran.dg/goacc/pr92793-1.f90: Adjust. - -2020-11-03 Thomas Schwinge - - * c-c++-common/goacc/pr92793-1.c: Extend. - * gfortran.dg/goacc/pr92793-1.f90: Likewise. - -2020-11-03 Kewen Lin - - PR tree-optimization/96789 - * gcc.dg/tree-ssa/ssa-dse-28.c: Adjust. - * gcc.dg/tree-ssa/ssa-dse-29.c: Likewise. - * gcc.dg/vect/bb-slp-41.c: Likewise. - * gcc.dg/tree-ssa/pr96789.c: New test. - -2020-11-03 Bernd Edlinger - - PR target/97205 - * gcc.c-torture/compile/pr97205.c: New test. - -2020-11-02 Alan Modra - - PR middle-end/97267 - * gcc.target/powerpc/pr97267.c: New test. - -2020-11-02 H.J. Lu - - PR target/97140 - * gcc.target/i386/pr97140.c: New test. - -2020-11-02 Patrick Palka - - * g++.dg/cpp2a/concepts-complete1.C: Delete test that became - ill-formed after P2104. - -2020-11-02 Carl Love - - * gcc.target/powerpc/bcd-2.c: Add include altivec.h. - * gcc.target/powerpc/bcd-3.c: Add include altivec.h. - * gcc.target/powerpc/bcd-4.c: New test. - -2020-11-02 Nathan Sidwell - - * g++.dg/concepts/pack-1.C: New. - * g++.dg/lookup/using53.C: Add an enum. - * g++.dg/template/error25.C: Relax 'export' error check. - -2020-11-02 Sudakshina Das - - PR target/97638 - * gcc.target/aarch64/pr97638.c: New test.a - -2020-11-02 Richard Biener - - * gcc.dg/vect/slp-49.c: New testcase. - -2020-11-02 Christophe Lyon - - * gcc.target/arm/pure-code/no-literal-pool-m23.c: New. - -2020-11-02 Christophe Lyon - - * gcc.target/arm/pure-code/no-literal-pool-m0.c: New. - -2020-11-02 Thomas Schwinge - - PR fortran/92793 - * gfortran.dg/goacc/pr92793-1.f90: Adjust. - -2020-11-02 Tobias Burnus - - PR fortran/97655 - * gfortran.dg/gomp/atomic.f90: Update tree-dump counts; move - invalid OMP 5.0 code to ... - * gfortran.dg/gomp/atomic-2.f90: ... here; update dg-error. - * gfortran.dg/gomp/requires-9.f90: Update tree dump scan. - -2020-11-02 Richard Biener - - PR tree-optimization/97558 - * gcc.dg/vect/pr97558-2.c: New testcase. - -2020-11-02 Aldy Hernandez - - PR tree-optimization/97505 - * gcc.dg/pr97505.c: New test. - -2020-11-02 Richard Biener - - PR tree-optimization/97558 - * gcc.dg/vect/pr97558.c: New testcase. - -2020-11-02 Richard Biener - - PR tree-optimization/97650 - * gcc.dg/vect/bb-slp-pr97650.c: New testcase. - -2020-11-02 Kito Cheng - - * gcc.target/riscv/arch-7.c: New. - * gcc.target/riscv/attribute-10.c: Update test arch string. - -2020-11-02 Christophe Lyon - - PR target/96770 - * gcc.target/arm/pure-code/pr96770.c: New test. - -2020-11-02 Christophe Lyon - - PR target/96967 - * gcc.target/arm/pure-code/pr96767.c: New test. - -2020-11-01 Iain Sandoe - - * obj-c++.dg/SEL-typedef.mm: New test. - * objc.dg/SEL-typedef.m: New test. - -2020-11-01 Iain Sandoe - - * obj-c++.dg/property/at-property-1.mm: Adjust test after - fixing spurious error output. - -2020-11-01 Iain Sandoe - - * gcc.target/i386/amxbf16-asmintel-1.c: Require masm_intel. - * gcc.target/i386/amxint8-asmintel-1.c: Likewise. - * gcc.target/i386/amxtile-asmintel-1.c: Likewise. - -2020-10-30 Qing Zhao - H.J.Lu - - * c-c++-common/zero-scratch-regs-1.c: New test. - * c-c++-common/zero-scratch-regs-10.c: New test. - * c-c++-common/zero-scratch-regs-11.c: New test. - * c-c++-common/zero-scratch-regs-2.c: New test. - * c-c++-common/zero-scratch-regs-3.c: New test. - * c-c++-common/zero-scratch-regs-4.c: New test. - * c-c++-common/zero-scratch-regs-5.c: New test. - * c-c++-common/zero-scratch-regs-6.c: New test. - * c-c++-common/zero-scratch-regs-7.c: New test. - * c-c++-common/zero-scratch-regs-8.c: New test. - * c-c++-common/zero-scratch-regs-9.c: New test. - * c-c++-common/zero-scratch-regs-attr-usages.c: New test. - * gcc.target/i386/zero-scratch-regs-1.c: New test. - * gcc.target/i386/zero-scratch-regs-10.c: New test. - * gcc.target/i386/zero-scratch-regs-11.c: New test. - * gcc.target/i386/zero-scratch-regs-12.c: New test. - * gcc.target/i386/zero-scratch-regs-13.c: New test. - * gcc.target/i386/zero-scratch-regs-14.c: New test. - * gcc.target/i386/zero-scratch-regs-15.c: New test. - * gcc.target/i386/zero-scratch-regs-16.c: New test. - * gcc.target/i386/zero-scratch-regs-17.c: New test. - * gcc.target/i386/zero-scratch-regs-18.c: New test. - * gcc.target/i386/zero-scratch-regs-19.c: New test. - * gcc.target/i386/zero-scratch-regs-2.c: New test. - * gcc.target/i386/zero-scratch-regs-20.c: New test. - * gcc.target/i386/zero-scratch-regs-21.c: New test. - * gcc.target/i386/zero-scratch-regs-22.c: New test. - * gcc.target/i386/zero-scratch-regs-23.c: New test. - * gcc.target/i386/zero-scratch-regs-24.c: New test. - * gcc.target/i386/zero-scratch-regs-25.c: New test. - * gcc.target/i386/zero-scratch-regs-26.c: New test. - * gcc.target/i386/zero-scratch-regs-27.c: New test. - * gcc.target/i386/zero-scratch-regs-28.c: New test. - * gcc.target/i386/zero-scratch-regs-29.c: New test. - * gcc.target/i386/zero-scratch-regs-30.c: New test. - * gcc.target/i386/zero-scratch-regs-31.c: New test. - * gcc.target/i386/zero-scratch-regs-3.c: New test. - * gcc.target/i386/zero-scratch-regs-4.c: New test. - * gcc.target/i386/zero-scratch-regs-5.c: New test. - * gcc.target/i386/zero-scratch-regs-6.c: New test. - * gcc.target/i386/zero-scratch-regs-7.c: New test. - * gcc.target/i386/zero-scratch-regs-8.c: New test. - * gcc.target/i386/zero-scratch-regs-9.c: New test. - -2020-10-30 Martin Sebor - - PR middle-end/97556 - * gcc.dg/Warray-bounds-70.c: New test. - -2020-10-30 Tobias Burnus - - * g++.dg/guality/guality.exp: Skip $rootme-based check if unset. - * gcc.dg/guality/guality.exp: Likewise. - * gfortran.dg/guality/guality.exp: Likewise. - * lib/asan-dg.exp: Don't use $asan_saved_library_path if not set. - * lib/tsan-dg.exp: Don't use $tsan_saved_library_path if not set. - * lib/ubsan-dg.exp: Don't use $ubsan_saved_library_path if not set. - -2020-10-30 Tobias Burnus - - * gfortran.dg/gomp/atomic-2.f90: New test. - * gfortran.dg/gomp/atomic.f90: New test. - -2020-10-30 Richard Biener - - PR tree-optimization/97623 - * gcc.dg/tree-ssa/ssa-hoist-7.c: New testcase. - -2020-10-30 Richard Biener - - PR tree-optimization/97626 - * gcc.dg/vect/bb-slp-pr97626.c: New testcase. - -2020-10-30 Thomas Schwinge - - PR fortran/92793 - * c-c++-common/goacc/clause-locations.c: Rewrite into... - * c-c++-common/goacc/pr92793-1.c: ... this. - * gfortran.dg/goacc/clause-locations.f90: Rewrite into... - * gfortran.dg/goacc/pr92793-1.f90: ... this. - -2020-10-30 Richard Biener - - PR tree-optimization/97633 - * g++.dg/vect/slp-pr97636.cc: New testcase. - * gcc.dg/vect/bb-slp-pr97633.c: Likewise. - -2020-10-30 Alex Coplan - - PR target/96998 - * gcc.c-torture/compile/pr96998.c: New test. - -2020-10-30 Jakub Jelinek - - * c-c++-common/gomp/allocate-3.c: New test. - -2020-10-30 Jakub Jelinek - - * c-c++-common/gomp/allocate-1.c (qux): Add another test. - * g++.dg/gomp/allocate-1.C: New test. - -2020-10-30 Richard Biener - - * gcc.dg/vect/bb-slp-pr65935.c: Adjust. - -2020-10-30 Michael Meissner - - * gcc.target/powerpc/float128-mix-2.c: New test. - * gcc.target/powerpc/float128-mix-3.c: New test. - * gcc.target/powerpc/float128-mix.c: Update failure messages. - -2020-10-29 Marek Polacek - - DR 625 - PR c++/97479 - * g++.dg/cpp0x/auto3.C: Update 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/cpp2a/concepts-pr84979.C: Likewise. - * g++.dg/DRs/dr625.C: New test. - -2020-10-29 Marek Polacek - - PR c++/93107 - * g++.dg/cpp0x/initlist-deduce3.C: New test. - -2020-10-29 Marek Polacek - - * g++.dg/cpp2a/enum-conv1.C: Remove unused code. - * g++.dg/cpp2a/spaceship-err5.C: New test. - -2020-10-29 Patrick Palka - - PR c++/97412 - * g++.dg/cpp2a/concepts-variadic2.C: New test. - -2020-10-29 Jason Merrill - - PR c++/97388 - * g++.dg/cpp2a/constexpr-dtor8.C: New test. - -2020-10-29 Jakub Jelinek - Jason Merrill - - PR c++/97388 - * g++.dg/cpp2a/constexpr-dtor5.C: New test. - * g++.dg/cpp2a/constexpr-dtor6.C: New test. - * g++.dg/cpp2a/constexpr-dtor7.C: New test. - -2020-10-29 Jakub Jelinek - - PR c++/95808 - * g++.dg/cpp2a/constexpr-new15.C: New test. - -2020-10-29 Joseph Myers - - * gcc.dg/c11-bool-1.c, gcc.dg/c2x-bool-1.c, gcc.dg/c99-bool-4.c: - New tests. - -2020-10-29 Jakub Jelinek - - * gcc.dg/pr97596.c: Require int128 effective target. - -2020-10-29 Andrew MacLeod - - * gcc.dg/pr97596.c: New. - -2020-10-29 Alexandre Oliva - - * gnat.dg/sin_cos.ads: New. - * gnat.dg/sin_cos.adb: New. - * gcc.dg/sin_cos.c: New. - -2020-10-29 liuhongt - - * gcc.target/i386/keylocker-aesdec128kl.c: New 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-aesencwide128kl.c: Likewise. - * gcc.target/i386/keylocker-aesencwide256kl.c: Likewise. - * gcc.target/i386/keylocker-encodekey128.c: Likewise. - * gcc.target/i386/keylocker-encodekey256.c: Likewise. - * gcc.target/i386/keylocker-loadiwkey.c: Likewise. - * g++.dg/other/i386-2.C: Add -mkl and -mwidekl. - * g++.dg/other/i386-3.C: Likewise. - * gcc.target/i386/sse-12.c: Likewise. - * gcc.target/i386/sse-13.c: Likewise. - * gcc.target/i386/sse-14.c: Likewise. - * gcc.target/i386/sse-22.c: Add kl and widekl. - * gcc.target/i386/sse-23.c: Likewise. - * gcc.target/i386/funcspec-56.inc: Add new target attribute test. - -2020-10-29 Richard Biener - - * gcc.dg/vect/bb-slp-pr65935.c: Adjust. - -2020-10-29 Andrew MacLeod - - * g++.dg/pr97609.C: New. - -2020-10-29 David Malcolm - - PR analyzer/97608 - * gcc.dg/analyzer/malloc-1.c (test_42d): New. - * gcc.dg/analyzer/pr97608.c: New test. - -2020-10-28 Alan Modra - - * gcc.target/powerpc/vsx-load-element-extend-char.c: Put "dg-do run" - before "dg-do compile", and make them mutually exclusive. - * gcc.target/powerpc/vsx-load-element-extend-int.c: Likewise. - * gcc.target/powerpc/vsx-load-element-extend-longlong.c: Likewise. - * gcc.target/powerpc/vsx-load-element-extend-short.c: Likewise. - * gcc.target/powerpc/vsx-store-element-truncate-char.c: Likewise. - * gcc.target/powerpc/vsx-store-element-truncate-int.c: Likewise. - * gcc.target/powerpc/vsx-store-element-truncate-longlong.c: Likewise. - * gcc.target/powerpc/vsx-store-element-truncate-short.c: Likewise. - * gcc.target/powerpc/altivec-consts.c: Likewise, add -save-temps. - * gcc.target/powerpc/le-altivec-consts.c: Likewise. - -2020-10-28 Alan Modra - - * gcc.target/powerpc/float128-type-1.c: Simplify target test. - * gcc.target/powerpc/float128-type-2.c: Likewise. - -2020-10-28 Alan Modra - - * gcc.target/powerpc/fold-vec-extract-char.p9.c: Don't check addi - count for ilp32. - * gcc.target/powerpc/fold-vec-extract-int.p9.c: Likewise. - * gcc.target/powerpc/fold-vec-extract-longlong.p7.c: Likewise. - * gcc.target/powerpc/fold-vec-extract-longlong.p8.c: Likewise. - * gcc.target/powerpc/fold-vec-insert-int-p9.c: Likewise. - -2020-10-28 Marek Polacek - - * g++.dg/warn/mvp3.C: New test. - -2020-10-28 Marek Polacek - - PR c++/97573 - * g++.dg/cpp0x/linkage2.C: Add dg-warning. - * g++.dg/parse/attr3.C: Likewise. - * g++.dg/cpp2a/enum-conv1.C: New test. - * g++.dg/cpp2a/enum-conv2.C: New test. - * g++.dg/cpp2a/enum-conv3.C: New test. - -2020-10-28 Marek Polacek - - PR c++/96675 - PR c++/96742 - * g++.dg/warn/Wdiv-by-zero-3.C: Turn dg-warning into dg-bogus. - * g++.dg/warn/Wtautological-compare3.C: New test. - * g++.dg/warn/Wtype-limits5.C: New test. - * g++.old-deja/g++.pt/crash10.C: Remove dg-warning. - -2020-10-28 David Edelsohn - - * gcc.target/powerpc/sad-vectorize-1.c: Remove AIX skip. - * gcc.target/powerpc/sad-vectorize-2.c: Remove AIX skip. - * gcc.target/powerpc/sad-vectorize-3.c: Remove target. - Require p9vector_hw. - * gcc.target/powerpc/sad-vectorize-4.c: Remove target. - Require p9vector_hw. - * gcc.target/powerpc/signbit-1.c: Remove target. - Require ppc_float128_sw. - * gcc.target/powerpc/signbit-2.c: Remove target. - Require ppc_float128_sw. - * gcc.target/powerpc/signbit-3.c: Remove target. - Require ppc_float128_sw. - -2020-10-28 Marek Polacek - - PR c++/94799 - * g++.dg/template/lookup16.C: New test. - -2020-10-28 Marek Polacek - - PR c++/86773 - * g++.dg/cpp1z/fold12.C: New test. - -2020-10-28 Tamar Christina - - PR target/97535 - * gcc.target/aarch64/pr97535.c: Exclude ILP32. - -2020-10-28 Richard Sandiford - - PR tree-optimization/97457 - * gcc.dg/vect/pr97457.c: New test. - -2020-10-28 Joseph Myers - - * gcc.dg/c11-parm-omit-1.c, gcc.dg/c11-parm-omit-2.c, - gcc.dg/c11-parm-omit-3.c, gcc.dg/c11-parm-omit-4.c, - gcc.dg/c2x-parm-omit-1.c, gcc.dg/c2x-parm-omit-2.c, - gcc.dg/c2x-parm-omit-3.c, gcc.dg/c2x-parm-omit-4.c: New tests. - * gcc.dg/noncompile/pr79758.c: Do not expect error for omitted - parameter name. - -2020-10-28 Patrick Palka - - PR c++/95132 - * g++.dg/cpp2a/concepts-fn7.C: New test. - -2020-10-28 David Edelsohn - - * gcc.target/powerpc/vadsdu-0.c: Remove target. - * gcc.target/powerpc/vadsdu-1.c: Remove target. - * gcc.target/powerpc/vadsdu-2.c: Remove target. - * gcc.target/powerpc/vadsdu-3.c: Remove target. - * gcc.target/powerpc/vadsdu-4.c: Remove target. - * gcc.target/powerpc/vadsdu-5.c: Remove target. - * gcc.target/powerpc/vadsdub-1.c: Remove target. - * gcc.target/powerpc/vadsdub-2.c: Remove target. - * gcc.target/powerpc/vadsduh-1.c: Remove target. - * gcc.target/powerpc/vadsduh-2.c: Remove target. - * gcc.target/powerpc/vadsduw-1.c: Remove target. - * gcc.target/powerpc/vadsduw-2.c: Remove target. - * gcc.target/powerpc/vslv-0.c: Remove target. - * gcc.target/powerpc/vslv-1.c: Remove target. - * gcc.target/powerpc/vsrv-0.c: Remove target. - * gcc.target/powerpc/vsrv-1.c: Remove target. - -2020-10-28 David Edelsohn - Alan Modra - - * gcc.target/powerpc/byte-in-either-range-0.c: Remove target. - * gcc.target/powerpc/byte-in-either-range-1.c: Remove target. - * gcc.target/powerpc/byte-in-range-0.c: Remove target. - * gcc.target/powerpc/byte-in-range-1.c: Remove target. - * gcc.target/powerpc/byte-in-set-0.c: Remove target. - * gcc.target/powerpc/byte-in-set-1.c: Remove target. - * gcc.target/powerpc/byte-in-set-2.c: Remove target. Expect - implicit declaration warning. - -2020-10-28 Richard Biener - - * gcc.dg/vect/bb-slp-58.c: Require vect_double. - * gcc.dg/vect/bb-slp-59.c: Likewise. - -2020-10-28 Richard Biener - - PR tree-optimization/97615 - * gcc.dg/vect/bb-slp-pr97615.c: New testcase. - -2020-10-28 Richard Biener - - * gcc.dg/vect/bb-slp-68.c: New testcase. - -2020-10-28 Andrea Corallo - - * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h - (hbfloat16_t): Define type. - (CHECK_FP): Make it working for bfloat types. - * gcc.target/aarch64/advsimd-intrinsics/bf16_vstN_lane_1.c: New file. - * gcc.target/aarch64/advsimd-intrinsics/bf16_vstN_lane_2.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vst2_lane_bf16_indices_1.c: - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_bf16_indices_1.c: - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vst3_lane_bf16_indices_1.c: - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_bf16_indices_1.c: - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vst4_lane_bf16_indices_1.c: - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_bf16_indices_1.c: - Likewise. - -2020-10-28 Andrea Corallo - - * gcc.target/aarch64/advsimd-intrinsics/bf16_vldN_lane_1.c: New - testcase. - * gcc.target/aarch64/advsimd-intrinsics/bf16_vldN_lane_2.c: - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vld2_lane_bf16_indices_1.c: - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_bf16_indices_1.c: - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vld3_lane_bf16_indices_1.c: - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_bf16_indices_1.c: - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vld4_lane_bf16_indices_1.c: - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_bf16_indices_1.c: - Likewise. - -2020-10-28 Jakub Jelinek - - * c-c++-common/gomp/allocate-1.c: New test. - * c-c++-common/gomp/allocate-2.c: New test. - * c-c++-common/gomp/clauses-1.c (omp_allocator_handle_t): New typedef. - (foo, bar, baz): Add allocate clauses where allowed. - -2020-10-28 Alan Modra - - * gcc.target/powerpc/vsx-load-element-extend-char.c: Add -save-temps. - * gcc.target/powerpc/vsx-load-element-extend-int.c: Likewise. - * gcc.target/powerpc/vsx-load-element-extend-longlong.c: Likewise. - * gcc.target/powerpc/vsx-load-element-extend-short.c: Likewise. - * gcc.target/powerpc/vsx-store-element-truncate-char.c: Likewise. - * gcc.target/powerpc/vsx-store-element-truncate-int.c: Likewise. - * gcc.target/powerpc/vsx-store-element-truncate-longlong.c: Likewise. - * gcc.target/powerpc/vsx-store-element-truncate-short.c: Likewise. - -2020-10-28 Alan Modra - - * gcc.target/powerpc/vec-blend-runnable.c: Add save-temps. - * gcc.target/powerpc/vec-insert-word-runnable.c: Likewise. - * gcc.target/powerpc/vec-permute-ext-runnable.c: Likewise. - * gcc.target/powerpc/vec-replace-word-runnable.c: Likewise. - * gcc.target/powerpc/vec-splati-runnable.c: Likewise. - * gcc.target/powerpc/vec-ternarylogic-3.c: Likewise. - * gcc.target/powerpc/vec-ternarylogic-9.c: Likewise. - * gcc.target/powerpc/vsx_mask-count-runnable.c: Likewise. - * gcc.target/powerpc/vsx_mask-expand-runnable.c: Likewise. - * gcc.target/powerpc/vsx_mask-extract-runnable.c: Likewise. - * gcc.target/powerpc/vsx_mask-move-runnable.c: Likewise. - * gcc.target/powerpc/vec-shift-double-runnable.c: Likewise, - and correct assembly match. - -2020-10-27 Joseph Myers - - * gcc.dg/c2x-attr-deprecated-4.c, gcc.dg/c2x-attr-fallthrough-4.c, - gcc.dg/c2x-attr-maybe_unused-4.c: Allow duplicate attributes. - -2020-10-27 Andreas Krebbel - - * gcc.target/s390/pr97497.c: New test. - -2020-10-27 Harald Anlauf - - * gfortran.dg/value_8.f90: New test. - -2020-10-27 Carl Love - - * gcc.target/powerpc/vec-blend-runnable.c: Change #ifdef - DEBUG to #if DEBUG. - Fix printf line so it is less then 80 characters long. - * gcc.target/powerpc/vec-insert-word-runnable.c: Change - #ifdef DEBUG to #if DEBUG. - * gcc.target/powerpc/vec-permute-ext-runnable.c: Change - #ifdef DEBUG to #if DEBUG. - * gcc.target/powerpc/vec-replace-word-runnable.c: Change - #ifdef DEBUG to #if DEBUG. - Fix printf lines so they are less then 80 characters long. - * gcc.target/powerpc/vec-shift-double-runnable.c: Change - #ifdef DEBUG to #if DEBUG. - -2020-10-27 Tamar Christina - - PR target/97535 - * gcc.target/aarch64/pr97535.c: New test. - -2020-10-27 Andrea Corallo - - * gcc.target/aarch64/advsimd-intrinsics/bf16_vect_copy_lane_1.c: - New test. - * gcc.target/aarch64/advsimd-intrinsics/vcopy_lane_bf16_indices_1.c: - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vcopy_lane_bf16_indices_2.c: - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vcopy_laneq_bf16_indices_1.c: - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vcopy_laneq_bf16_indices_2.c: - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vcopyq_lane_bf16_indices_1.c: - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vcopyq_lane_bf16_indices_2.c: - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vcopyq_laneq_bf16_indices_1.c: - Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vcopyq_laneq_bf16_indices_2.c: - Likewise. - -2020-10-27 Richard Biener - - * gcc.dg/vect/bb-slp-67.c: New testcase. - -2020-10-27 Martin Sebor - - PR middle-end/92942 - * gcc.dg/Wstringop-overflow-56.c: New test. - * gcc.dg/Wstringop-overflow-57.c: Same. - -2020-10-27 Martin Sebor - - * gcc.dg/Wstringop-overflow-44.s: Remove. - -2020-10-27 Andrew MacLeod - - * gcc.dg/pr97567.c: Update to work with 32 bit targets. - -2020-10-27 David Malcolm - - PR analyzer/97568 - * gcc.dg/analyzer/pr97568.c: New test. - -2020-10-27 Jakub Jelinek - - PR tree-optimization/97560 - PR testsuite/97590 - * g++.dg/pr97560.C: Require c++11 effective target and add comment - with PR number. - -2020-10-27 Richard Biener - - * gcc.dg/vect/bb-slp-54.c: New test. - * gcc.dg/vect/bb-slp-55.c: Likewise. - * gcc.dg/vect/bb-slp-56.c: Likewise. - * gcc.dg/vect/bb-slp-57.c: Likewise. - * gcc.dg/vect/bb-slp-58.c: Likewise. - * gcc.dg/vect/bb-slp-59.c: Likewise. - * gcc.dg/vect/bb-slp-60.c: Likewise. - * gcc.dg/vect/bb-slp-61.c: Likewise. - * gcc.dg/vect/bb-slp-62.c: Likewise. - * gcc.dg/vect/bb-slp-63.c: Likewise. - * gcc.dg/vect/bb-slp-64.c: Likewise. - * gcc.dg/vect/bb-slp-65.c: Likewise. - * gcc.dg/vect/bb-slp-66.c: Likewise. - * gcc.dg/vect/vect-outer-slp-1.c: Likewise. - * gfortran.dg/vect/O3-bb-slp-1.f: Likewise. - * gfortran.dg/vect/O3-bb-slp-2.f: Likewise. - * g++.dg/vect/simd-11.cc: Likewise. - -2020-10-27 Richard Biener - - * gcc.target/i386/pr95866-1.c: Adjust. - -2020-10-27 Alan Modra - - * gcc.target/powerpc/swaps-p8-22.c: Enable only for aix and - -m64 linux. - -2020-10-27 Martin Liska - - PR gcov-profile/97461 - * gcc.dg/tree-prof/pr97461.c: New test. - -2020-10-27 Aldy Hernandez - - PR tree-optimization/97560 - * g++.dg/pr97560.C: New test. - -2020-10-27 Alan Modra - - * gcc.target/powerpc/vsx_mask-count-runnable.c: Separate options - passed to dg-require-effective-target. - * gcc.target/powerpc/vsx_mask-expand-runnable.c: Likewise. - * gcc.target/powerpc/vsx_mask-extract-runnable.c: Likewise. - * gcc.target/powerpc/vsx_mask-move-runnable.c: Likewise. - -2020-10-26 Alan Modra - - * gcc.target/powerpc/localentry-1.c: Remove -mpcrel from options. - * gcc.target/powerpc/notoc-direct-1.c: Likewise. - * gcc.target/powerpc/pr94740.c: Likewise. - -2020-10-26 Alan Modra - - * gcc.target/powerpc/bswap64-4.c: Comment. - -2020-10-26 Alan Modra - - * gcc.target/powerpc/pr93122.c: Replace -mcpu with -mdejagnu-cpu. - * gcc.target/powerpc/vsx_mask-count-runnable.c: Likewise. - * gcc.target/powerpc/vsx_mask-expand-runnable.c: Likewise. - * gcc.target/powerpc/vsx_mask-extract-runnable.c: Likewise. - * gcc.target/powerpc/vsx_mask-move-runnable.c: Likewise. - -2020-10-26 Alan Modra - - * gcc.target/powerpc/vsx-load-element-extend-char.c: Require int128. - * gcc.target/powerpc/vsx-load-element-extend-int.c: Likewise. - * gcc.target/powerpc/vsx-load-element-extend-longlong.c: Likewise. - * gcc.target/powerpc/vsx-load-element-extend-short.c: Likewise. - * gcc.target/powerpc/vsx-store-element-truncate-char.c: Likewise. - * gcc.target/powerpc/vsx-store-element-truncate-int.c: Likewise. - * gcc.target/powerpc/vsx-store-element-truncate-longlong.c: Likewise. - * gcc.target/powerpc/vsx-store-element-truncate-short.c: Likewise. - * gcc.target/powerpc/vsx_mask-count-runnable.c: Likewise. - * gcc.target/powerpc/vsx_mask-expand-runnable.c: Likewise. - * gcc.target/powerpc/vsx_mask-extract-runnable.c: Likewise. - * gcc.target/powerpc/vsx_mask-move-runnable.c: Likewise. - -2020-10-26 Alan Modra - - * gcc.target/powerpc/cfuged-1.c, - gcc.target/powerpc/cntlzdm-1.c, - gcc.target/powerpc/cnttzdm-1.c, - gcc.target/powerpc/dg-future-1.c, - gcc.target/powerpc/lsbb-runnable.c, - gcc.target/powerpc/mma-double-test.c, - gcc.target/powerpc/mma-single-test.c, - gcc.target/powerpc/p10-arch31.c, - gcc.target/powerpc/p10-identify.c, - gcc.target/powerpc/pdep-1.c, - gcc.target/powerpc/pextd-1.c, - gcc.target/powerpc/pr96787-2.c, - gcc.target/powerpc/vec-blend-runnable.c, - gcc.target/powerpc/vec-cfuged-1.c, - gcc.target/powerpc/vec-clrl-1.c, - gcc.target/powerpc/vec-clrl-3.c, - gcc.target/powerpc/vec-clrr-1.c, - gcc.target/powerpc/vec-clrr-3.c, - gcc.target/powerpc/vec-cntlzm-1.c, - gcc.target/powerpc/vec-cnttzm-1.c, - gcc.target/powerpc/vec-extracth-1.c, - gcc.target/powerpc/vec-extracth-3.c, - gcc.target/powerpc/vec-extracth-5.c, - gcc.target/powerpc/vec-extracth-7.c, - gcc.target/powerpc/vec-extractl-1.c, - gcc.target/powerpc/vec-extractl-3.c, - gcc.target/powerpc/vec-extractl-5.c, - gcc.target/powerpc/vec-extractl-7.c, - gcc.target/powerpc/vec-gnb-1.c, - gcc.target/powerpc/vec-insert-word-runnable.c, - gcc.target/powerpc/vec-pdep-1.c, - gcc.target/powerpc/vec-permute-ext-runnable.c, - gcc.target/powerpc/vec-pext-1.c, - gcc.target/powerpc/vec-replace-word-runnable.c, - gcc.target/powerpc/vec-shift-double-runnable.c, - gcc.target/powerpc/vec-splati-runnable.c, - gcc.target/powerpc/vec-stril-1.c, - gcc.target/powerpc/vec-stril-16.c, - gcc.target/powerpc/vec-stril-17.c, - gcc.target/powerpc/vec-stril-18.c, - gcc.target/powerpc/vec-stril-19.c, - gcc.target/powerpc/vec-stril-20.c, - gcc.target/powerpc/vec-stril-21.c, - gcc.target/powerpc/vec-stril-22.c, - gcc.target/powerpc/vec-stril-23.c, - gcc.target/powerpc/vec-stril-3.c, - gcc.target/powerpc/vec-stril-5.c, - gcc.target/powerpc/vec-stril-7.c, - gcc.target/powerpc/vec-stril_p-1.c, - gcc.target/powerpc/vec-stril_p-3.c, - gcc.target/powerpc/vec-stril_p-5.c, - gcc.target/powerpc/vec-stril_p-7.c, - gcc.target/powerpc/vec-strir-1.c, - gcc.target/powerpc/vec-strir-16.c, - gcc.target/powerpc/vec-strir-17.c, - gcc.target/powerpc/vec-strir-18.c, - gcc.target/powerpc/vec-strir-19.c, - gcc.target/powerpc/vec-strir-20.c, - gcc.target/powerpc/vec-strir-21.c, - gcc.target/powerpc/vec-strir-22.c, - gcc.target/powerpc/vec-strir-23.c, - gcc.target/powerpc/vec-strir-3.c, - gcc.target/powerpc/vec-strir-5.c, - gcc.target/powerpc/vec-strir-7.c, - gcc.target/powerpc/vec-strir_p-1.c, - gcc.target/powerpc/vec-strir_p-3.c, - gcc.target/powerpc/vec-strir_p-5.c, - gcc.target/powerpc/vec-strir_p-7.c, - gcc.target/powerpc/vec-ternarylogic-1.c, - gcc.target/powerpc/vec-ternarylogic-3.c, - gcc.target/powerpc/vec-ternarylogic-5.c, - gcc.target/powerpc/vec-ternarylogic-7.c, - gcc.target/powerpc/vec-ternarylogic-9.c, - gcc.target/powerpc/vsx_mask-count-runnable.c, - gcc.target/powerpc/vsx_mask-expand-runnable.c, - gcc.target/powerpc/vsx_mask-extract-runnable.c, - gcc.target/powerpc/vsx_mask-move-runnable.c, - gcc.target/powerpc/xxgenpc-runnable.c: Link testcase when it - can't be run. - -2020-10-26 Alan Modra - - * gcc.target/powerpc/dimode_off.c: Add -mno-prefixed to options. - -2020-10-26 Alan Modra - - * gcc.target/powerpc/cprophard.c: Add -mno-pcrel to options. - * gcc.target/powerpc/float128-hw3.c: Likewise. - * gcc.target/powerpc/pr79439-1.c: Likewise. - * gcc.target/powerpc/pr79439-2.c: Likewise. - * gcc.target/powerpc/r2_shrink-wrap.c: Likewise. - -2020-10-26 Andrew MacLeod - - * gcc.dg/pr97567.c: New. - -2020-10-26 Aldy Hernandez - - * gcc.dg/pr97555.c: New test. - -2020-10-26 Ville Voutilainen - - * g++.dg/ext/is_nothrow_constructible1.C: New file. - * g++.dg/ext/is_nothrow_constructible2.C: New file. - * g++.dg/ext/is_nothrow_constructible3.C: New file. - * g++.dg/ext/is_nothrow_constructible4.C: New file. - * g++.dg/ext/is_nothrow_constructible5.C: New file. - * g++.dg/ext/is_nothrow_constructible6.C: New file. - -2020-10-26 Jan Hubicka - - PR ipa/97576 - * gcc.c-torture/compile/pr97576.c: New test. - -2020-10-26 Kyrylo Tkachov - - PR tree-optimization/97546 - * gcc.target/aarch64/sve/acle/general/pr97546.c: New test. - -2020-10-26 Richard Biener - - PR middle-end/97521 - * gcc.target/i386/pr97521.c: New testcase. - -2020-10-26 H.J. Lu - - PR target/95458 - * gcc.target/i386/pr95458-1.c: New test. - * gcc.target/i386/pr95458-2.c: Likewise. - -2020-10-26 H.J. Lu - - PR target/95151 - * gcc.target/i386/pr95151-1.c: New test. - * gcc.target/i386/pr95151-2.c: Likewise. - * gcc.target/i386/pr95151-3.c: Likewise. - * gcc.target/i386/pr95151-4.c: Likewise. - -2020-10-26 Richard Biener - - PR tree-optimization/97539 - * gcc.dg/pr97539.c: New testcase. - -2020-10-26 Arnaud Charlet - - * gnat.dg/warn14.adb: Update expectations. - -2020-10-24 Marek Polacek - - PR c++/96241 - * g++.dg/cpp0x/constexpr-96241.C: New test. - * g++.dg/cpp1y/constexpr-96241.C: New test. - -2020-10-24 Aldy Hernandez - - * g++.dg/pr97538.C: New test. - -2020-10-23 Marek Polacek - - * c-c++-common/Wsizeof-array-div1.c: Expect certain warnings on - lp64 targets only. - * g++.dg/warn/Wsizeof-array-div2.C: Only run on lp64 targets. - -2020-10-23 Marek Polacek - - PR c++/91741 - * c-c++-common/Wsizeof-pointer-div.c: Add dg-warning. - * c-c++-common/Wsizeof-array-div1.c: New test. - * g++.dg/warn/Wsizeof-array-div1.C: New test. - * g++.dg/warn/Wsizeof-array-div2.C: New test. - -2020-10-23 Martin Sebor - - PR middle-end/97552 - * gcc.dg/Wvla-parameter-2.c: Adjust text of expected warning. - * gcc.dg/Wnonnull-5.c: New test. - -2020-10-23 Martin Sebor - - PR c/97463 - * gcc.dg/pr97463.c: New test. - -2020-10-23 David Edelsohn - - * gcc.target/powerpc/vec-rlmi-rlnm.c: Update xxlor expect. - -2020-10-23 Jonathan Wakely - - * g++.dg/compat/eh/filter2_y.C: Add noexcept(false) to - destructor. - -2020-10-23 Jakub Jelinek - - PR tree-optimization/97164 - * c-c++-common/pr97164.c: New test. - * gcc.c-torture/execute/pr36093.c: Move ... - * gcc.dg/pr36093.c: ... here. Add dg-do compile and dg-error - directives. - * gcc.c-torture/execute/pr43783.c: Move ... - * gcc.dg/pr43783.c: ... here. Add dg-do compile, dg-options and - dg-error directives. - -2020-10-23 Dennis Zhang - - * gcc.target/arm/simd/mve-vsub_1.c: New test. - -2020-10-23 Richard Biener - - Revert: - 2020-10-23 Richard Biener - - PR middle-end/97521 - * gcc.target/i386/pr97521.c: New testcase. - -2020-10-22 Alan Modra - - * gcc.target/powerpc/vec-splati-runnable.c: Don't abort on - undefined output. - -2020-10-22 David Edelsohn - - * gcc.target/powerpc/rlwimi-2.c: Adjust expected results for lp64. - * gcc.target/powerpc/vec-rlmi-rlnm.c: Remove target and LP64. - Adjust xxlor expected results. - -2020-10-22 Tobias Burnus - - * gfortran.dg/gomp/flush-1.f90: New test. - * gfortran.dg/gomp/flush-2.f90: New test. - -2020-10-22 Will Schmidt - - * gcc.target/powerpc/vsx-load-element-extend-char.c: New test. - * gcc.target/powerpc/vsx-load-element-extend-int.c: New test. - * gcc.target/powerpc/vsx-load-element-extend-longlong.c: New test. - * gcc.target/powerpc/vsx-load-element-extend-short.c: New test. - * gcc.target/powerpc/vsx-store-element-truncate-char.c: New test. - * gcc.target/powerpc/vsx-store-element-truncate-int.c: New test. - * gcc.target/powerpc/vsx-store-element-truncate-longlong.c: New test. - * gcc.target/powerpc/vsx-store-element-truncate-short.c: New test. - -2020-10-22 Eric Botcazou - - * ada/acats/run_all.sh: Define and substitute target_{max,min}_int. - * ada/acats/support/macro.dfs: Parameterize {MAX,MIN}_INT. - * gnat.dg/assert1.adb: Adjust conditionally to 128-bit integer types. - * gnat.dg/size_clause1.adb: Do not expect a warning for LP64 targets. - * gnat.dg/warn11.adb: Likewise. - * gnat.dg/specs/rep_clause5.ads (Array_2_Type): Add alignment clause. - -2020-10-22 Patrick Palka - - PR c++/97328 - * g++.dg/cpp2a/constexpr-init19.C: New test. - * g++.dg/cpp2a/constexpr-init20.C: New test. - -2020-10-22 Patrick Palka - - PR c++/96575 - * g++.dg/cpp1z/constexpr-96575.C: New test. - -2020-10-22 Patrick Palka - - PR c++/97511 - * g++.dg/template/shadow3.C: New test. - -2020-10-22 Richard Biener - - PR middle-end/97521 - * gcc.target/i386/pr97521.c: New testcase. - -2020-10-22 Andreas Krebbel - - * gcc.dg/pr97502.c: New test. - -2020-10-22 Andreas Krebbel - - * gcc.dg/dfp/pr97439.c: New test. - -2020-10-22 David Malcolm - - PR analyzer/97514 - * gcc.dg/analyzer/pr97514.c: New test. - -2020-10-22 David Malcolm - - * g++.dg/analyzer/ctor-dtor-1.C: New test. - * g++.dg/analyzer/dyncast-1.C: New test. - * g++.dg/analyzer/vfunc-1.C: New test. - -2020-10-22 David Malcolm - - PR analyzer/97489 - * g++.dg/analyzer/pr97489.C: New test. - -2020-10-22 Martin Liska - - PR c/94722 - * g++.dg/no-stack-protector-attr-2.C: New test. - * g++.dg/no-stack-protector-attr-3.C: New test. - * g++.dg/no-stack-protector-attr.C: New test. - -2020-10-22 liuhongt - - * gcc.target/i386/pr97249-1.c: New test. - -2020-10-22 Andrew MacLeod - - * gcc.dg/pr97520.c: New. - -2020-10-22 Dennis Zhang - - * gcc.target/arm/simd/mve-vmul_1.c: New test. - -2020-10-22 Andrew MacLeod - - PR tree-optimization/97515 - * gcc.dg/pr97515.c: New file. - -2020-10-21 David Edelsohn - - * gcc.target/powerpc/fold-vec-extract-float.p9.c: rldicl and - subfic only for target LE. - * gcc.target/powerpc/fold-vec-extract-longlong.p9.c: xori only - for target LE. Adjust mfvsrd and add mfvsrld for BE. - * gcc.target/powerpc/fold-vec-extract-short.p9.c: vextuhrx for LE. - vextuhlx for BE. - * gcc.target/powerpc/p9-lxvx-stxvx-1.c: Remove target. - * gcc.target/powerpc/p9-lxvx-stxvx-2.c: Remove target. - * gcc.target/powerpc/p9-lxvx-stxvx-3.c: Remove target. Require - float128 - -2020-10-21 Martin Liska - Andrew MacLeod - - PR target/97360 - * gcc.target/powerpc/pr97360.c: New test. - -2020-10-21 Jan Hubicka - - PR ipa/97445 - * gcc.dg/ipa/inlinehint-5.c: New test. - -2020-10-21 David Edelsohn - - * gcc.target/powerpc/p9-extract-1.c: Require lp64. - * gcc.target/powerpc/p9-extract-2.c: Require lp64. - * gcc.target/powerpc/p9-extract-3.c: Require lp64. - * gcc.target/powerpc/p9-permute.c: Remove target. - * gcc.target/powerpc/pr63335.c: Remove target. - * gcc.target/powerpc/pr87507.c: Remove target. - * gcc.target/powerpc/swaps-p8-1.c: Require LE and P8. - * gcc.target/powerpc/swaps-p8-10.c: Remove target. Require P8. - * gcc.target/powerpc/swaps-p8-11.c: Remove target. Require P8. - * gcc.target/powerpc/swaps-p8-12.c: Require LE and P8. - * gcc.target/powerpc/swaps-p8-13.c: Remove target. Require P8. - * gcc.target/powerpc/swaps-p8-14.c: Remove target. Require P8. - * gcc.target/powerpc/swaps-p8-15.c: Remove target. Require P8. - * gcc.target/powerpc/swaps-p8-16.c: Remove target. Require P8. - * gcc.target/powerpc/swaps-p8-17.c: Require P8. - * gcc.target/powerpc/swaps-p8-18.c: Remove target. Require P8. - * gcc.target/powerpc/swaps-p8-19.c: Remove target. Require P8. - * gcc.target/powerpc/swaps-p8-2.c: Require LE and P8. - * gcc.target/powerpc/swaps-p8-20.c: Remove target. - * gcc.target/powerpc/swaps-p8-21.c: Remove target. Require Altivec. - * gcc.target/powerpc/swaps-p8-22.c: Remove target. Require P8. - * gcc.target/powerpc/swaps-p8-23.c: Require LE and P8. - * gcc.target/powerpc/swaps-p8-24.c: Remove target. Require P8. - * gcc.target/powerpc/swaps-p8-25.c: Require LE and P8. - * gcc.target/powerpc/swaps-p8-26.c: Remove target. Require P8. - * gcc.target/powerpc/swaps-p8-27.c: Remove target. Require P8. - * gcc.target/powerpc/swaps-p8-28.c: Remove target. - * gcc.target/powerpc/swaps-p8-29.c: Remove target. - * gcc.target/powerpc/swaps-p8-3.c: Require LE and P8. - * gcc.target/powerpc/swaps-p8-30.c: Remove target. - * gcc.target/powerpc/swaps-p8-31.c: Remove target. - * gcc.target/powerpc/swaps-p8-32.c: Remove target. - * gcc.target/powerpc/swaps-p8-33.c: Remove target. - * gcc.target/powerpc/swaps-p8-34.c: Remove target. - * gcc.target/powerpc/swaps-p8-35.c: Remove target. - * gcc.target/powerpc/swaps-p8-36.c: Remove target. - * gcc.target/powerpc/swaps-p8-37.c: Remove target. - * gcc.target/powerpc/swaps-p8-38.c: Remove target. - * gcc.target/powerpc/swaps-p8-39.c: Remove target. - * gcc.target/powerpc/swaps-p8-4.c: Require LE and P8. - * gcc.target/powerpc/swaps-p8-40.c: Remove target. - * gcc.target/powerpc/swaps-p8-41.c: Remove target. - * gcc.target/powerpc/swaps-p8-42.c: Remove target. - * gcc.target/powerpc/swaps-p8-43.c: Remove target. - * gcc.target/powerpc/swaps-p8-44.c: Remove target. - * gcc.target/powerpc/swaps-p8-45.c: Remove target. - * gcc.target/powerpc/swaps-p8-46.c: Require LE. - * gcc.target/powerpc/swaps-p8-5.c: Require LE and P8. - * gcc.target/powerpc/swaps-p8-6.c: Remove target. Require P8. - * gcc.target/powerpc/swaps-p8-7.c: Remove target. Require P8. - * gcc.target/powerpc/swaps-p8-8.c: Remove target. Require P8. - * gcc.target/powerpc/swaps-p8-9.c: Remove target. Require P8. - * gcc.target/powerpc/vec-cmp.c: Require LP64. - * gcc.target/powerpc/vec-cmpne.c: Remove target. - * gcc.target/powerpc/vec-mul.c: Remove target. - * gcc.target/powerpc/vec-set-char.c: Require LP64. - * gcc.target/powerpc/vec-set-int.c: Require LP64. - * gcc.target/powerpc/vec-set-short.c: Require LP64. - * gcc.target/powerpc/vec-xxpermdi.c: Remove target. Require VSX. - * gcc.target/powerpc/vsxcopy.c: Remove target. Require VSX. - -2020-10-21 Richard Biener - - PR tree-optimization/97500 - * gfortran.dg/pr97500.f90: New testcase. - -2020-10-21 liuhongt - - PR target/97506 - * gcc.target/i386/pr97506.c: New test. - -2020-10-21 Jakub Jelinek - - PR tree-optimization/97503 - * gcc.dg/tree-ssa/pr97503.c: New test. - -2020-10-21 Martin Liska - - PR sanitizer/97414 - * g++.dg/asan/pr97414.C: New test. - -2020-10-21 Eric Botcazou - - * gnat.dg/multfixed.adb: Update expected exception message. - -2020-10-21 Andrea Corallo - - * gcc.target/aarch64/advsimd-intrinsics/vstX_lane.c (CMT): - Adopt the same style used in the rest of the file. - -2020-10-21 Aldy Hernandez - - * gcc.dg/Walloca-1.c: Adjust for 32-bits. - -2020-10-22 Dennis Zhang - - * gcc.target/arm/simd/mve-vminmax_1.c: New test. - -2020-10-20 Jeff Law - - * gcc.dg/Wbuiltin-declaration-mismatch-9.c: Improve pruning of - invalid scanf call messages. - -2020-10-20 Andrew MacLeod - - PR tree-optimization/97505 - * gfortran.dg/pr97505.f90: New file. - -2020-10-20 Nathan Sidwell - - * g++.dg/lookup/local-extern.C: New. - -2020-10-20 Aldy Hernandez - - * gcc.dg/Wrestrict-22.c: New test. - * g++.dg/torture/pr92421.C: Adjust for ranger. - -2020-10-20 Aldy Hernandez - - * gcc.dg/Walloca-1.c: Adjust for ranger. - * gcc.dg/Walloca-12.c: Same. - * gcc.dg/Walloca-13.c: Same. - * gcc.dg/Walloca-2.c: Same. - * gcc.dg/Walloca-3.c: Same. - * gcc.dg/Walloca-6.c: Same. - * gcc.dg/Wvla-larger-than-2.c: Same. - -2020-10-20 Tobias Burnus - - * gcc.misc-tests/outputs.exp: Add ltrans_args dump files - for 'lto save-temps'. - -2020-10-20 Aldy Hernandez - - * gcc.dg/pr97501.c: New test. - -2020-10-20 Nathan Sidwell - - * gcc.dg/cpp/endif.c: Move to ... - * c-c++-common/cpp/endif.c: ... here. - * gcc.dg/cpp/endif.h: Move to ... - * c-c++-common/cpp/endif.h: ... here. - * c-c++-common/cpp/eof-2.c: Adjust diagnostic. - * c-c++-common/cpp/eof-3.c: Adjust diagnostic. - -2020-10-20 Marek Polacek - - PR c++/82239 - * g++.dg/cpp0x/static_assert16.C: New test. - -2020-10-20 Arnaud Charlet - - * gnat.dg/opt11.adb: Add new expected warning. - -2020-10-20 Richard Biener - - PR tree-optimization/97496 - * gcc.dg/vect/bb-slp-pr97496.c: New testcase. - -2020-10-20 Aldy Hernandez - - * gcc.dg/pr97488.c: Add target int128 predicate. - -2020-10-19 Andrew MacLeod - - * gcc.dg/pr97360-2.c: New test. - -2020-10-19 David Edelsohn - - * gcc.target/powerpc/sad-vectorize-1.c: Remove target. - * gcc.target/powerpc/sad-vectorize-2.c: Remove target. - * gcc.target/powerpc/vec-extract-v16qi-df.c: Remove target. - * gcc.target/powerpc/vec-extract-v16qi.c: Remove target. - * gcc.target/powerpc/vec-extract-v16qiu-df.c: Remove target. - * gcc.target/powerpc/vec-extract-v16qiu.c: Remove target. - * gcc.target/powerpc/vec-extract-v2df.c: Remove target. - * gcc.target/powerpc/vec-extract-v2di.c: Require lp64. - * gcc.target/powerpc/vec-extract-v4sf.c: Remove target. - * gcc.target/powerpc/vec-extract-v4si-df.c: Remove target. - * gcc.target/powerpc/vec-extract-v4si.c: Remove target. - * gcc.target/powerpc/vec-extract-v4siu-df.c: Remove target. - * gcc.target/powerpc/vec-extract-v4siu.c: Remove target. - * gcc.target/powerpc/vec-extract-v8hi-df.c: Remove target. - * gcc.target/powerpc/vec-extract-v8hi.c: Remove target. - * gcc.target/powerpc/vec-extract-v8hiu-df.c: Remove target. - * gcc.target/powerpc/vec-extract-v8hiu.c: Remove target. - * gcc.target/powerpc/vec-init-1.c: Remove target. - * gcc.target/powerpc/vec-init-2.c: Require lp64. - * gcc.target/powerpc/vec-init-3.c: Require lp64. - * gcc.target/powerpc/vec-init-4.c: Remove target. - * gcc.target/powerpc/vec-init-5.c: Remove target. - * gcc.target/powerpc/vec-init-6.c: Require lp64. - * gcc.target/powerpc/vec-init-7.c: Require lp64. - * gcc.target/powerpc/vec-init-8.c: Remove target. - * gcc.target/powerpc/vec-init-9.c: Require lp64. - * gcc.target/powerpc/vec-setup-double.c: Remove target. - * gcc.target/powerpc/vec-setup-long.c: Remove target. - * gcc.target/powerpc/vsu/vec-xl-len-13.c: Correct expected warnings. - * gcc.target/powerpc/vsu/vsu.exp: Enable on AIX. - -2020-10-19 David Edelsohn - - * gcc.target/powerpc/fold-vec-extract-char.p7.c: Remove target. - * gcc.target/powerpc/fold-vec-extract-char.p8.c: Remove target. - * gcc.target/powerpc/fold-vec-extract-char.p9.c: Remove target. - Expect 3 addi for ilp32. - * gcc.target/powerpc/fold-vec-extract-double.p7.c: Remove target. - Add -mbig-endian for Linux. - * gcc.target/powerpc/fold-vec-extract-double.p8.c: Remove target. - * gcc.target/powerpc/fold-vec-extract-float.p7.c: Remove target. - * gcc.target/powerpc/fold-vec-extract-float.p8.c: Remove target. - * gcc.target/powerpc/fold-vec-extract-float.p9.c: Require lp64. - * gcc.target/powerpc/fold-vec-extract-int.p7.c: Remove target. - * gcc.target/powerpc/fold-vec-extract-int.p8.c: Remove target. - * gcc.target/powerpc/fold-vec-extract-int.p9.c: Remove target. - Expect 3 addi for ilp32. - * gcc.target/powerpc/fold-vec-extract-longlong.p7.c: Remove target. - Expect 4 addi for ilp32. - * gcc.target/powerpc/fold-vec-extract-longlong.p8.c: Remove target. - Expect 4 addi for ilp32. - * gcc.target/powerpc/fold-vec-extract-longlong.p9.c: Require lp64. - * gcc.target/powerpc/fold-vec-extract-short.p7.c: Remove target. - * gcc.target/powerpc/fold-vec-extract-short.p8.c: Remove target. - * gcc.target/powerpc/fold-vec-extract-short.p9.c: Require lp64. - * gcc.target/powerpc/fold-vec-insert-char-p8.c: Remove target. - * gcc.target/powerpc/fold-vec-insert-char-p9.c: Remove target. - * gcc.target/powerpc/fold-vec-insert-double.c: Remove target. - * gcc.target/powerpc/fold-vec-insert-float-p8.c: Remove target. - * gcc.target/powerpc/fold-vec-insert-float-p9.c: Remove target. - * gcc.target/powerpc/fold-vec-insert-int-p8.c: Remove target. - * gcc.target/powerpc/fold-vec-insert-int-p9.c: Remove target. - Require 8 addi for ilp32. - * gcc.target/powerpc/fold-vec-insert-longlong.c: Remove target. - * gcc.target/powerpc/fold-vec-insert-short-p8.c: Remove target. - * gcc.target/powerpc/fold-vec-insert-short-p9.c: Remove target. - * gcc.target/powerpc/fold-vec-select-double.c: Remove target. - * gcc.target/powerpc/fold-vec-select-float.c: Remove target. - * gcc.target/powerpc/fold-vec-splats-int.c: Require lp64. - * gcc.target/powerpc/fold-vec-splats-longlong.c: Require lp64. - -2020-10-19 Iain Sandoe - - PR c++/97438 - * g++.dg/coroutines/pr97438.C: New test. - -2020-10-19 Martin Jambor - - PR tree-optimization/97456 - * gcc.dg/tree-ssa/pr97456.c: New test. - -2020-10-19 Nathan Sidwell - - * c-c++-common/cpp/pr97471.c: New. - -2020-10-19 Aldy Hernandez - - * gcc.dg/pr97488.c: New test. - -2020-10-19 Richard Biener - - PR tree-optimization/97486 - * gcc.dg/vect/bb-slp-pr97486.c: New testcase. - -2020-10-19 Aldy Hernandez - - * gcc.dg/pr97467.c: New test. - -2020-10-19 Li Jia He - - PR tree-optimization/66552 - * gcc.dg/pr66552.c: New testcase. - -2020-10-18 Harald Anlauf - - * gfortran.dg/matmul_20.f90: New test. - -2020-10-17 David Edelsohn - - * gcc.target/powerpc/p9-dimode1.c: Remove target. - * gcc.target/powerpc/p9-dimode2.c: Remove target. - * gcc.target/powerpc/p9-fpcvt-1.c: Remove target. - * gcc.target/powerpc/p9-fpcvt-2.c: Require lp64. - * gcc.target/powerpc/p9-minmax-1.c: Remove target. - * gcc.target/powerpc/p9-minmax-2.c: Remove target. - * gcc.target/powerpc/p9-minmax-3.c: Remove target. - * gcc.target/powerpc/p9-splat-1.c: Require lp64. - * gcc.target/powerpc/p9-splat-2.c: Remove target. - * gcc.target/powerpc/p9-splat-3.c: Remove target. - * gcc.target/powerpc/p9-splat-4.c: Require lp64. - * gcc.target/powerpc/p9-vbpermd.c: Require lp64. - * gcc.target/powerpc/p9-vneg.c: Require lp64. - * gcc.target/powerpc/p9-vparity.c: Require lp64. - * gcc.target/powerpc/p9-vpermr.c: Require LE. - * gcc.target/powerpc/p9-xxbr-1.c: Remove target. - * gcc.target/powerpc/p9-xxbr-2.c: Require lp64. - * gcc.target/powerpc/p9-xxbr-3.c: Require lp64. - -2020-10-17 David Edelsohn - - * gcc.target/powerpc/builtins-3-p9.c: Remove le. - -2020-10-17 David Edelsohn - - * gcc.target/powerpc/pr96139-a.c: Remove -m32. - * gcc.target/powerpc/pr96139-b.c: Remove -m64. - -2020-10-16 Harald Anlauf - - PR fortran/95979 - * gfortran.dg/index_4.f90: New test. - -2020-10-16 Andrew MacLeod - - PR tree-optimization/97462 - * gcc.dg/pr97462.c: New file. - -2020-10-16 Nathan Sidwell - - PR c++/97460 - * g++.dg/template/pr97460.C: New. - -2020-10-16 Nathan Sidwell - - PR c++/96258 - * g++.dg/parse/pr96258.C: New. - -2020-10-16 Srinath Parvathaneni - - PR target/97327 - * gcc.target/arm/mve/intrinsics/pr97327.c: New test. - -2020-10-16 Richard Biener - - * gcc.dg/vect/bb-slp-53.c: New testcase. - -2020-10-16 Srinath Parvathaneni - - PR target/97291 - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_p_s64.c: Modify. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_p_u64.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_s64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_u64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_f32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_s32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_u32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_u32.c: Likewise. - -2020-10-16 Jan Hubicka - - PR testsuite/97426 - * gcc.dg/tree-ssa/modref-4.c: Fix return test. - -2020-10-16 Martin Liska - - PR ipa/97404 - * gcc.c-torture/execute/pr97404.c: New test. - -2020-10-16 Richard Biener - - PR tree-optimization/97428 - * gcc.dg/vect/vect-complex-5.c: Expect to SLP. - * gcc.dg/vect/pr97428.c: Likewise. - -2020-10-15 David Edelsohn - - * gcc.target/powerpc/builtins-1-p9-runnable.c: Adjust for big endian. - * gcc.target/powerpc/builtins-7-p9-runnable.c: Same. - -2020-10-15 Jason Merrill - - PR c++/95844 - * g++.dg/cpp2a/spaceship-eq10.C: New test. - -2020-10-15 David Edelsohn - - * gcc.target/powerpc/builtins-5-p9-runnable.c: Require lp64. - * gcc.target/powerpc/builtins-msum-runnable.c: Require int128. - * gcc.target/powerpc/float128-cmp2-runnable.c: Require float128. - * gcc.target/powerpc/fold-vec-extract-double.p9.c: Require lp64. - -2020-10-15 Marek Polacek - - PR c++/97406 - PR c++/85901 - * g++.dg/diagnostic/ptrtomem1.C: New test. - * g++.dg/diagnostic/ptrtomem2.C: New test. - -2020-10-15 Tom de Vries - - * gcc.dg/atomic/c11-atomic-exec-6.c: Xfail execution for nvptx. - * gcc.dg/atomic/c11-atomic-exec-7.c: Same. - * gcc.dg/atomic/stdatomic-op-5.c: Same. - -2020-10-15 Tom de Vries - - PR target/97436 - * gcc.target/nvptx/atomic_fetch-3.c: Remove. - -2020-10-15 Richard Biener - - * gcc.dg/vect/bb-slp-52.c: New testcase. - -2020-10-15 Richard Biener - - PR tree-optimization/97482 - * gcc.dg/vect/pr97428.c: New testcase. - -2020-10-15 Tom de Vries - - * gcc.dg/tree-ssa/pr84512.c: Remove xfail for nvptx. - -2020-10-15 Tom de Vries - - * c-c++-common/ident-0b.c: Require effective target ident_directive. - -2020-10-15 Tom de Vries - - * gcc.c-torture/compile/limits-externdecl.c: Remove dg-skip-if for - nvptx. - -2020-10-15 Tom de Vries - - * gcc.dg/attr-alloc_size-11.c: Don't xfail for nvptx. - * gcc.dg/tree-ssa/20040204-1.c: Same. - -2020-10-15 Tom de Vries - - * gcc.c-torture/execute/pr68185.c: Remove dg-skip-if for nvptx. - -2020-10-15 Tom de Vries - - * gcc.c-torture/execute/981019-1.c: Remove dg-skip-if for nvptx. - -2020-10-15 Tom de Vries - - * gcc.c-torture/compile/pr42717.c: Remove nvptx xfail. - * gcc.c-torture/compile/pr61684.c: Same. - * gcc.c-torture/execute/pr20601-1.c: Same. - * gcc.c-torture/execute/pr52129.c: Same. - * gcc.c-torture/execute/pr59221.c: Same. - * gcc.dg/pr68671.c: Same. - -2020-10-15 Jakub Jelinek - - * gcc.dg/ipa/modref-1.c: Remove space between param offset: and number - in scan-ipa-dump. - (b): Declare return type to void. - (main): Declare return type to int. Change c to array of 3 chars. - * gcc.dg/tree-ssa/modref-4.c: Remove space between param offset: and - number in scan-ipa-dump. Use modref1 instead of modref2. - (b): Declare return type to void. - (main): Declare return type to int. Change c to array of 3 chars. - -2020-10-15 Kito Cheng - - * gcc.target/riscv/mcpu-1.c: New. - * gcc.target/riscv/mcpu-2.c: Ditto. - * gcc.target/riscv/mcpu-3.c: Ditto. - * gcc.target/riscv/mcpu-4.c: Ditto. - * gcc.target/riscv/mcpu-5.c: Ditto. - * gcc.target/riscv/mcpu-6.c: Ditto. - * gcc.target/riscv/mcpu-7.c: Ditto. - -2020-10-15 Hongyu Wang - - * gcc.target/i386/hreset-1.c: New test. - * gcc.target/i386/funcspec-56.inc: Add new target attribute. - * gcc.target/i386/x86gprintrin-1.c: Add -mhreset. - * gcc.target/i386/x86gprintrin-2.c: Ditto. - * gcc.target/i386/x86gprintrin-3.c: Ditto. - * gcc.target/i386/x86gprintrin-4.c: Add mhreset. - * gcc.target/i386/x86gprintrin-5.c: Ditto. - -2020-10-15 Hongtao Liu - - * gcc.target/i386/funcspec-56.inc: Add new target attribute. - * gcc.target/i386/uintr-1.c: New test. - * gcc.target/i386/uintr-2.c: Ditto. - * gcc.target/i386/uintr-3.c: Ditto. - * gcc.target/i386/uintr-4.c: Ditto. - * gcc.target/i386/uintr-5.c: Ditto. - * gcc.target/i386/x86gprintrin-1.c: Add -muintr for 64bit target. - * gcc.target/i386/x86gprintrin-2.c: Ditto. - * gcc.target/i386/x86gprintrin-3.c: Ditto. - * gcc.target/i386/x86gprintrin-4.c: Add muintr for 64bit target. - * gcc.target/i386/x86gprintrin-5.c: Ditto. - -2020-10-14 Martin Sebor - - PR middle-end/97391 - * gcc.dg/Warray-bounds-68.c: New test. - -2020-10-14 Martin Sebor - - PR c/97413 - * gcc.dg/Wvla-parameter-8.c: New test. - -2020-10-14 Tom de Vries - - * lib/target-supports.exp (check_compile): Save and restore - $compiler_flags when calling ${tool}_target_compile. - -2020-10-14 David Malcolm - - PR analyzer/93388 - * gcc.dg/analyzer/data-model-21.c: New test. - -2020-10-14 David Malcolm - - PR analyzer/97394 - * gcc.dg/analyzer/setjmp-pr93378.c: Use test-setjmp.h rather than - . - * gcc.dg/analyzer/sigsetjmp-5.c: Likewise. - * gcc.dg/analyzer/sigsetjmp-6.c: Likewise. - * gcc.dg/analyzer/test-setjmp.h: Don't include . - Provide decls of jmp_buf, sigjmp_buf, setjmp, sigsetjmp, - longjmp, and siglongjmp. - -2020-10-14 Jason Merrill - - PR c++/97358 - * g++.dg/cpp0x/lambda/lambda-variadic11.C: New test. - -2020-10-14 Sunil K Pandey - - PR target/95483 - * gcc.target/i386/avx-1.c: Add test. - * gcc.target/i386/avx2-vbroadcastsi128-1.c: Ditto. - * gcc.target/i386/avx2-vbroadcastsi128-2.c: Ditto. - * gcc.target/i386/avx512bw-vmovdqu16-1.c: Ditto. - * gcc.target/i386/avx512bw-vmovdqu8-1.c: Ditto. - * gcc.target/i386/avx512dq-vreducesd-1.c: Ditto. - * gcc.target/i386/avx512dq-vreducesd-2.c: Ditto. - * gcc.target/i386/avx512dq-vreducess-1.c: Ditto. - * gcc.target/i386/avx512dq-vreducess-2.c: Ditto. - * gcc.target/i386/avx512er-vrcp28sd-1.c: Ditto. - * gcc.target/i386/avx512er-vrcp28sd-2.c: Ditto. - * gcc.target/i386/avx512er-vrcp28ss-1.c: Ditto. - * gcc.target/i386/avx512er-vrcp28ss-2.c: Ditto. - * gcc.target/i386/avx512er-vrsqrt28sd-1.c: Ditto. - * gcc.target/i386/avx512er-vrsqrt28sd-2.c: Ditto. - * gcc.target/i386/avx512er-vrsqrt28ss-1.c: Ditto. - * gcc.target/i386/avx512er-vrsqrt28ss-2.c: Ditto. - * gcc.target/i386/avx512f-vcvtsd2si-1.c: Ditto. - * gcc.target/i386/avx512f-vcvtsd2si64-1.c: Ditto. - * gcc.target/i386/avx512f-vcvtsd2ss-1.c: Ditto. - * gcc.target/i386/avx512f-vcvtsi2sd64-1.c: Ditto. - * gcc.target/i386/avx512f-vcvtsi2ss-1.c: Ditto. - * gcc.target/i386/avx512f-vcvtsi2ss64-1.c: Ditto. - * gcc.target/i386/avx512f-vcvtss2sd-1.c: Ditto. - * gcc.target/i386/avx512f-vcvtss2si-1.c: Ditto. - * gcc.target/i386/avx512f-vcvtss2si64-1.c: Ditto. - * gcc.target/i386/avx512f-vscalefsd-1.c: Ditto. - * gcc.target/i386/avx512f-vscalefsd-2.c: Ditto. - * gcc.target/i386/avx512f-vscalefss-1.c: Ditto. - * gcc.target/i386/avx512f-vscalefss-2.c: Ditto. - * gcc.target/i386/avx512f-vsqrtsd-1.c: Ditto. - * gcc.target/i386/avx512f-vsqrtsd-2.c: Ditto. - * gcc.target/i386/avx512f-vsqrtss-1.c: Ditto. - * gcc.target/i386/avx512f-vsqrtss-2.c: Ditto. - * gcc.target/i386/avx512vl-vmovdqa32-1.c: Ditto. - * gcc.target/i386/avx512vl-vmovdqa64-1.c: Ditto. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/avx512dq-vreducepd-3.c: New test. - * gcc.target/i386/avx512dq-vreducepd-4.c: New test. - * gcc.target/i386/avx512dq-vreduceps-3.c: New test. - * gcc.target/i386/avx512dq-vreduceps-4.c: New test. - * gcc.target/i386/avx512f-vcvtsi2sd-1.c: New test. - * gcc.target/i386/pr95483-1.c: New test. - * gcc.target/i386/pr95483-2.c: New test. - * gcc.target/i386/pr95483-3.c: New test. - * gcc.target/i386/pr95483-4.c: New test. - * gcc.target/i386/pr95483-5.c: New test. - * gcc.target/i386/pr95483-6.c: New test. - * gcc.target/i386/pr95483-7.c: New test. - -2020-10-14 Jakub Jelinek - - PR target/97387 - * gcc.target/i386/pr97387-1.c: New test. - * gcc.target/i386/pr97387-2.c: New test. - -2020-10-14 Aldy Hernandez - - * gcc.dg/pr97396.c: New test. - -2020-10-14 Jan Hubicka - - * gcc.dg/ipa/modref-1.c: New test. - * gcc.dg/tree-ssa/modref-4.c: New test. - -2020-10-14 Tobias Burnus - - PR fortran/97390 - * gfortran.dg/goacc/warn_truncated.f90: New test. - -2020-10-14 Nathan Sidwell - - * g++.dg/lookup/extern-redecl2.C: New. - -2020-10-14 Steven G. Kargl - Mark Eggleston - - PR fortran/95614 - * gfortran.dg/pr95614_1.f90: New test. - * gfortran.dg/pr95614_2.f90: New test. - * gfortran.dg/pr95614_3.f90: New test. - * gfortran.dg/pr95614_4.f90: New test. - -2020-10-14 Kito Cheng - - PR target/96759 - * g++.target/riscv/pr96759.C: New. - * gcc.target/riscv/pr96759.c: New. - -2020-10-13 Jakub Jelinek - - PR rtl-optimization/97386 - * gcc.c-torture/execute/pr97386-1.c: New test. - * gcc.c-torture/execute/pr97386-2.c: New test. - -2020-10-13 Richard Sandiford - - * gcc.target/arm/stack-protector-5.c: Use -Os rather than -O2. - * gcc.target/arm/stack-protector-6.c: Likewise. - -2020-10-13 Richard Biener - - PR tree-optimization/97382 - * gcc.dg/vect/no-vfa-vect-dv-2.c: Remove same align dump - scanning. - * gcc.dg/vect/vect-103.c: Likewise. - * gcc.dg/vect/vect-91.c: Likewise. - * gfortran.dg/vect/vect-4.f90: Likewise. - -2020-10-13 Martin Liska - - PR middle-end/97392 - * g++.dg/asan/asan_test.C: Disable -Wstringop-overflow. - * gcc.dg/asan/pr80166.c: Likewise. - -2020-10-12 David Malcolm - - PR analyzer/97258 - * gcc.dg/analyzer/callbacks-1.c: New test. - * gcc.dg/analyzer/callbacks-2.c: New test. - * gcc.dg/analyzer/callbacks-3.c: New test. - -2020-10-12 Andrew MacLeod - - * gcc.dg/pr97381.c: New test. - -2020-10-12 Aldy Hernandez - - * gcc.dg/pr97378.c: New test. - -2020-10-12 David Malcolm - - PR c/83347 - PR middle-end/90404 - PR analyzer/95007 - * gcc.dg/analyzer/write-to-const-1.c: New test. - * gcc.dg/analyzer/write-to-string-literal-1.c: New test. - -2020-10-12 Martin Sebor - - PR c++/97201 - * g++.dg/warn/Wplacement-new-size-8.C: Adjust expected message. - * g++.dg/warn/Warray-bounds-10.C: New test. - * g++.dg/warn/Warray-bounds-11.C: New test. - * g++.dg/warn/Warray-bounds-12.C: New test. - * g++.dg/warn/Warray-bounds-13.C: New test. - -2020-10-12 Martin Sebor - - PR middle-end/97342 - PR middle-end/97023 - PR middle-end/96384 - * c-c++-common/Wrestrict.c: Adjust comment. - * gcc.dg/Wstringop-overflow-34.c: Remove xfail. - * gcc.dg/Wstringop-overflow-43.c: Remove xfails. Adjust regex patterns. - * gcc.dg/pr51683.c: Prune out expected warning. - * gcc.target/i386/pr60693.c: Same. - * g++.dg/warn/Wplacement-new-size-8.C: New test. - * gcc.dg/Wstringop-overflow-41.c: New test. - * gcc.dg/Wstringop-overflow-44.s: New test. - * gcc.dg/Wstringop-overflow-45.c: New test. - * gcc.dg/Wstringop-overflow-46.c: New test. - * gcc.dg/Wstringop-overflow-47.c: New test. - * gcc.dg/Wstringop-overflow-49.c: New test. - * gcc.dg/Wstringop-overflow-50.c: New test. - * gcc.dg/Wstringop-overflow-51.c: New test. - * gcc.dg/Wstringop-overflow-52.c: New test. - * gcc.dg/Wstringop-overflow-53.c: New test. - * gcc.dg/Wstringop-overflow-54.c: New test. - * gcc.dg/Wstringop-overflow-55.c: New test. - * gcc.dg/Wstringop-overread-5.c: New test. - -2020-10-12 Martin Sebor - - PR c++/96511 - PR middle-end/96384 - * g++.dg/init/strlen.C: Add expected warning. - * g++.dg/warn/Wplacement-new-size-1.C: Relax warnings. - * g++.dg/warn/Wplacement-new-size-2.C: Same. - * g++.dg/warn/Wplacement-new-size-6.C: Same. - * gcc.dg/Warray-bounds-58.c: Adjust - * gcc.dg/Wstringop-overflow-37.c: Same. - * g++.dg/warn/Wplacement-new-size-7.C: New test. - -2020-10-12 Christophe Lyon - - PR tree-optimization/97357 - * gcc.dg/pr97357.c: Call setjmp instead of _setjmp. - -2020-10-12 Richard Biener - - * gcc.dg/vect/bb-slp-50.c: New testcase. - * gcc.dg/vect/bb-slp-51.c: Likewise. - -2020-10-12 Martin Liska - - PR tree-optimization/97079 - * gcc.target/aarch64/sve/pr97079.c: New test. - -2020-10-12 Duan bo - - PR target/96757 - * gcc.target/aarch64/pr96757.c: New test. - -2020-10-12 Kyrylo Tkachov - - PR target/97349 - * gcc.target/aarch64/simd/pr97349.c: New test. - -2020-10-12 Aldy Hernandez - - * gcc.dg/pr97371.c: New test. - -2020-10-12 Richard Biener - - PR tree-optimization/97357 - * gcc.dg/pr97357.c: New testcase. - -2020-10-12 Mark Eggleston - - PR fortran/96099 - * gfortran.dg/pr96099_1.f90: New test. - * gfortran.dg/pr96099_2.f90: New test. - -2020-10-11 Iain Sandoe - - * obj-c++.dg/plugin/diagnostic-test-expressions-1.mm: - Adjust testcase to include expressions for @selector and - @protocol. XFAIL where this is still not sufficient to obtain - a disgnostic range. - -2020-10-11 Iain Sandoe - - * objc-obj-c++-shared/TestsuiteObject.h: Add dummy retain and - release method declarations. - * objc-obj-c++-shared/TestsuiteObject.m: Add dummy retain and - release implementations. - -2020-10-11 Iain Sandoe - - * obj-c++.dg/objc-gc-3.mm:i Skip for Darwin >= 16. - -2020-10-11 Iain Sandoe - - * obj-c++.dg/cxx-ivars-3.mm: Skip for macOS >= 10.7. - -2020-10-11 Iain Sandoe - - * obj-c++.dg/gnu-api-2-class-meta.mm: Add a flag to cause NeXT - headers to expose prototypes for messaging. - * obj-c++.dg/gnu-api-2-class.mm: Likewise. - * obj-c++.dg/gnu-api-2-objc.mm: Skip this because of the extra - protocols pulled in by system headers. - -2020-10-11 Iain Sandoe - - * objc.dg/plugin/diagnostic-test-expressions-1.m: Use assignment - expressions for @selector and @protocol to obtain a useful - diagnostic range. - -2020-10-11 Iain Sandoe - - * objc.dg/call-super-2.m: Remove inclusion of runtime.h. - Add a FIXME about the test portability. - -2020-10-11 Iain Sandoe - - * objc.dg/torture/forward-1.m: Implement forwarding using the - native NeXT (NSInvocation) method for Darwin. - -2020-10-11 Iain Sandoe - - * objc.dg/ivar-scope-4.m: Add inititialize method to the - root class. - -2020-10-11 Iain Sandoe - - * objc.dg/gnu-api-2-class-meta.m: Add a flag to cause NeXT - headers to expose prototypes for messaging. Mark the root - class if the objc_root_class attribute is available. Use - char ** as the second arg to main. - * objc.dg/gnu-api-2-class.m: Use dispatch prototype. - * objc.dg/gnu-api-2-objc.m: Skip on NeXT because of extra - prototypes pulled in by headers. - -2020-10-11 Iain Sandoe - - * objc.dg/objc-gc-4.m: Disable for macOS 10.15 and 11.x. - -2020-10-11 Iain Sandoe - - * objc-obj-c++-shared/TestsuiteObject.h: If the compiler - supports objc_root_object attributes, then mark the testsuite - object accordingly. - * objc-obj-c++-shared/TestsuiteObject.m: Avoid direct access - to isa, which is an error for modern Objective-C. - * objc/execute/class-tests-1.h: Declare a string function we - use locally (avoid pulling in the whole of string.h). - -2020-10-10 Iain Sandoe - - * gcc.dg/darwin-sections.c: Adjust test for renamed BSS and common - sections. Cater for 64 and 128 bit long doubles. - -2020-10-10 H.J. Lu - - PR target/97250 - * gcc.target/i386/x86-64-v2.c: Verify that - __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 is defined. - * gcc.target/i386/x86-64-v3.c: Likewise. - * gcc.target/i386/x86-64-v4.c: Likewise. - -2020-10-10 Aldy Hernandez - - * gcc.dg/pr97359.c: New test. - -2020-10-09 Vladimir Makarov - - PR rtl-optimization/97313 - * gcc.target/i386/pr97313.c: New. - -2020-10-09 H.J. Lu - - * gcc.target/i386/avx-1.c (__builtin_ia32_lwpval32): New to - support included in . - (__builtin_ia32_lwpval64): Likewise. - (__builtin_ia32_lwpins32): Likewise. - (__builtin_ia32_lwpins64): Likewise. - (__builtin_ia32_bextri_u32): New to support - included in . - (__builtin_ia32_bextri_u64): Likewise. - * gcc.target/i386/x86gprintrin-1.c: New test. - * gcc.target/i386/x86gprintrin-2.c: Likewise. - * gcc.target/i386/x86gprintrin-3.c: Likewise. - * gcc.target/i386/x86gprintrin-4.c: Likewise. - * gcc.target/i386/x86gprintrin-4a.c: Likewise. - * gcc.target/i386/x86gprintrin-5.c: Likewise. - * gcc.target/i386/x86gprintrin-5a.c: Likewise. - * gcc.target/i386/x86gprintrin-5b.c: Likewise. - * gcc.target/i386/x86gprintrin-6.c: Likewise. - -2020-10-09 Richard Biener - - * lib/target-supports.exp (check_effective_target_vect_masked_load): - New effective target. - * gcc.dg/vect/pr65947-3.c: Update. - -2020-10-09 Richard Biener - - PR tree-optimization/97334 - * gcc.dg/vect/bb-slp-pr65935.c: Amend. - -2020-10-09 Richard Biener - - PR tree-optimization/97347 - * g++.dg/vect/pr97347.cc: New testcase. - -2020-10-09 Andrew MacLeod - - * gcc.dg/pr97317.c: New test. - -2020-10-09 Jakub Jelinek - - PR tree-optimization/94801 - PR target/97312 - * gcc.dg/tree-ssa/pr94801.c: New test. - -2020-10-09 Jakub Jelinek - - PR tree-optimization/97325 - * gcc.c-torture/execute/pr97325.c: New test. - -2020-10-09 Aldy Hernandez - - PR testsuite/97337 - * gcc.dg/pr97315-1.c: Moved to... - * g++.dg/opt/pr97315-1.C: ...here. - -2020-10-09 Richard Biener - - * gcc.dg/vect/bb-slp-phis-1.c: New testcase. - -2020-10-08 Jason Merrill - - PR c++/96805 - * g++.dg/cpp0x/alias-decl-pr96805.C: New test. - -2020-10-08 Christophe Lyon - - PR target/96914 - * gcc.target/arm/mve/intrinsics/vcvtnq_u32_f32.c: New test. - -2020-10-08 Martin Liska - Richard Biener - - * gcc.dg/vect/bb-slp-22.c: Adjust. - * gfortran.dg/pr68627.f: Likewise. - -2020-10-08 Richard Biener - - PR tree-optimization/97330 - * gcc.dg/torture/pr97330-1.c: New testcase. - * gcc.dg/torture/pr97330-2.c: Likewise. - -2020-10-08 Richard Biener - - * g++.dg/vect/slp-pr50819.cc: Adjust. - * gcc.dg/vect/bb-slp-1.c: Adjust. - * gcc.dg/vect/bb-slp-10.c: Adjust. - * gcc.dg/vect/bb-slp-11.c: Adjust. - * gcc.dg/vect/bb-slp-13.c: Adjust. - * gcc.dg/vect/bb-slp-14.c: Adjust. - * gcc.dg/vect/bb-slp-15.c: Adjust. - * gcc.dg/vect/bb-slp-16.c: Adjust. - * gcc.dg/vect/bb-slp-17.c: Adjust. - * gcc.dg/vect/bb-slp-18.c: Adjust. - * gcc.dg/vect/bb-slp-19.c: Adjust. - * gcc.dg/vect/bb-slp-2.c: Adjust. - * gcc.dg/vect/bb-slp-20.c: Adjust. - * gcc.dg/vect/bb-slp-21.c: Adjust. - * gcc.dg/vect/bb-slp-22.c: Adjust. - * gcc.dg/vect/bb-slp-23.c: Adjust. - * gcc.dg/vect/bb-slp-24.c: Adjust. - * gcc.dg/vect/bb-slp-25.c: Adjust. - * gcc.dg/vect/bb-slp-26.c: Adjust. - * gcc.dg/vect/bb-slp-27.c: Adjust. - * gcc.dg/vect/bb-slp-28.c: Adjust. - * gcc.dg/vect/bb-slp-29.c: Adjust. - * gcc.dg/vect/bb-slp-3.c: Adjust. - * gcc.dg/vect/bb-slp-30.c: Adjust. - * gcc.dg/vect/bb-slp-31.c: Adjust. - * gcc.dg/vect/bb-slp-34.c: Adjust. - * gcc.dg/vect/bb-slp-35.c: Adjust. - * gcc.dg/vect/bb-slp-36.c: Adjust. - * gcc.dg/vect/bb-slp-38.c: Adjust. - * gcc.dg/vect/bb-slp-4.c: Adjust. - * gcc.dg/vect/bb-slp-45.c: Adjust. - * gcc.dg/vect/bb-slp-46.c: Adjust. - * gcc.dg/vect/bb-slp-48.c: Adjust. - * gcc.dg/vect/bb-slp-5.c: Adjust. - * gcc.dg/vect/bb-slp-6.c: Adjust. - * gcc.dg/vect/bb-slp-7.c: Adjust. - * gcc.dg/vect/bb-slp-8.c: Adjust. - * gcc.dg/vect/bb-slp-8a.c: Adjust. - * gcc.dg/vect/bb-slp-8b.c: Adjust. - * gcc.dg/vect/bb-slp-9.c: Adjust. - * gcc.dg/vect/bb-slp-div-2.c: Adjust. - * gcc.dg/vect/bb-slp-over-widen-1.c: Adjust. - * gcc.dg/vect/bb-slp-over-widen-2.c: Adjust. - * gcc.dg/vect/bb-slp-pattern-2.c: Adjust. - * gcc.dg/vect/bb-slp-pow-1.c: Adjust. - * gcc.dg/vect/bb-slp-pr58135.c: Adjust. - * gcc.dg/vect/bb-slp-pr65935.c: Adjust. - * gcc.dg/vect/bb-slp-pr78205.c: Adjust. - * gcc.dg/vect/bb-slp-pr81635-1.c: Adjust. - * gcc.dg/vect/bb-slp-pr81635-3.c: Adjust. - * gcc.dg/vect/bb-slp-pr95839-2.c: Adjust. - * gcc.dg/vect/bb-slp-pr95839.c: Adjust. - * gcc.dg/vect/bb-slp-pr95866.c: Adjust. - * gcc.dg/vect/bb-slp-subgroups-1.c: Adjust. - * gcc.dg/vect/bb-slp-subgroups-2.c: Adjust. - * gcc.dg/vect/bb-slp-subgroups-3.c: Adjust. - * gcc.dg/vect/fast-math-bb-slp-call-1.c: Adjust. - * gcc.dg/vect/no-tree-reassoc-bb-slp-12.c: Adjust. - * gcc.dg/vect/no-tree-sra-bb-slp-pr50730.c: Adjust. - * gfortran.dg/vect/pr62283-2.f: Adjust. - * gcc.target/i386/pr68961.c: Adjust. - * gcc.target/i386/pr84101.c: Adjust. - * gcc.dg/vect/bb-slp-pr81635-2.c: Adjust. - * gcc.dg/vect/bb-slp-pr81635-4.c: Adjust. - * gcc.dg/vect/fast-math-bb-slp-call-2.c: Adjust. - * gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c: Adjust. - * gcc.dg/vect/costmodel/x86_64/costmodel-vect-slp.c: Adjust. - * gcc.dg/vect/bb-slp-div-1.c: Adjust. - * gcc.dg/vect/bb-slp-pr90006.c: Adjust. - * g++.dg/vect/slp-pr50413.cc: Adjust. - -2020-10-08 Christophe Lyon - - PR target/96914 - * gcc.target/arm/mve/intrinsics/vmlaldavaxq_p_u16.c: Remove. - * gcc.target/arm/mve/intrinsics/vmlaldavaxq_p_u32.c: Remove. - * gcc.target/arm/mve/intrinsics/vqdmlahq_n_u16.c: Remove. - * gcc.target/arm/mve/intrinsics/vqdmlahq_n_u32.c: Remove. - * gcc.target/arm/mve/intrinsics/vqdmlahq_n_u8.c: Remove. - * gcc.target/arm/mve/intrinsics/vqrdmlahq_n_u16.c: Remove. - * gcc.target/arm/mve/intrinsics/vqrdmlahq_n_u32.c: Remove. - * gcc.target/arm/mve/intrinsics/vqrdmlahq_n_u8.c: Remove. - * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_u16.c: Remove. - * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_u32.c: Remove. - * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_u8.c: Remove. - -2020-10-08 Christophe Lyon - - PR target/96914 - * gcc.target/arm/mve/intrinsics/vqdmlashq_m_n_s16.c: New test. - * gcc.target/arm/mve/intrinsics/vqdmlashq_m_n_s32.c: New test. - * gcc.target/arm/mve/intrinsics/vqdmlashq_m_n_s8.c: New test. - * gcc.target/arm/mve/intrinsics/vqdmlashq_n_s16.c: New test. - * gcc.target/arm/mve/intrinsics/vqdmlashq_n_s32.c: New test. - * gcc.target/arm/mve/intrinsics/vqdmlashq_n_s8.c: New test. - -2020-10-08 Jakub Jelinek - - PR target/97322 - * gcc.dg/pr97322.c: New test. - -2020-10-08 Aldy Hernandez - - * gcc.dg/pr97315-2.c: New test. - -2020-10-08 Aldy Hernandez - - * gcc.dg/pr97315-1.c: New test. - -2020-10-08 Jakub Jelinek - - PR sanitizer/97294 - * gcc.dg/asan/pr97294.c: New test. - -2020-10-08 Patrick Palka - - PR c++/97052 - * g++.dg/cpp2a/concepts-defarg2.C: New test. - -2020-10-08 Patrick Palka - - PR c++/96229 - * g++.dg/cpp2a/concepts-class2.C: New test. - -2020-10-07 Marek Polacek - - PR c++/97010 - * g++.dg/cpp2a/fn-template21.C: New test. - * g++.dg/cpp2a/fn-template22.C: New test. - -2020-10-07 Richard Biener - - PR tree-optimization/97307 - * gcc.dg/tree-ssa/ssa-sink-17.c: New testcase. - * gcc.dg/vect/pr65947-3.c: XFAIL. - -2020-10-07 Patrick Palka - - PR c++/88115 - PR libstdc++/97273 - * g++.dg/template/alignof3.C: New test. - -2020-10-07 David Malcolm - - PR analyzer/97116 - * g++.dg/analyzer/pr97116.C: New test. - -2020-10-07 David Malcolm - - * g++.dg/analyzer/analyzer.exp (DEFAULT_CXXFLAGS): Remove - -fdiagnostics-path-format=separate-events. - * gcc.dg/analyzer/analyzer.exp (DEFAULT_CFLAGS): Likewise. - * gcc.dg/plugin/diagnostic-path-format-default.c: Rename to... - * gcc.dg/plugin/diagnostic-path-format-plain.c: ...this. Remove - dg-options directive. Copy remainder of test from - diagnostic-path-format-separate-events.c. - * gcc.dg/plugin/diagnostic-test-paths-2.c: Add - -fdiagnostics-path-format=inline-events to options. - Fix expected output for location of conditional within "for" loop. - * gcc.dg/plugin/plugin.exp (plugin_test_list): Update for - renaming. - * gfortran.dg/analyzer/analyzer.exp (DEFAULT_FFLAGS): Remove - -fdiagnostics-path-format=separate-events. - -2020-10-07 Nathan Sidwell - - * g++.dg/cpp0x/lambda/lambda-sfinae1.C: Avoid ill-formed local extern - * g++.dg/init/pr42844.C: Add expected error. - * g++.dg/lookup/extern-redecl1.C: Likewise. - * g++.dg/lookup/koenig15.C: Avoid ill-formed. - * g++.dg/lto/pr95677.C: New. - * g++.dg/other/nested-extern-1.C: Correct expected behabviour. - * g++.dg/other/nested-extern-2.C: Likewise. - * g++.dg/other/nested-extern.cc: Split ... - * g++.dg/other/nested-extern-1.cc: ... here ... - * g++.dg/other/nested-extern-2.cc: ... here. - * g++.dg/template/scope5.C: Avoid ill-formed - * g++.old-deja/g++.law/missed-error2.C: Allow extension. - * g++.old-deja/g++.pt/crash3.C: Add expected error. - -2020-10-07 Martin Jambor - - PR ipa/96394 - * gcc.dg/tree-prof/pr96394.c: New test. - -2020-10-07 Jakub Jelinek - - * gcc.dg/gomp/simd-2.c: New test. - * gcc.dg/gomp/simd-3.c: New test. - -2020-10-06 Marek Polacek - - PR c++/97297 - * g++.dg/cpp2a/typename18.C: New test. - -2020-10-06 Tobias Burnus - - PR middle-end/90861 - * c-c++-common/goacc/declare-pr90861.c: Remove xfail. - -2020-10-06 Andrew MacLeod - - * gcc.dg/pr81192.c: Disable EVRP pass. - * gcc.dg/tree-ssa/pr77445-2.c: Ditto. - * gcc.dg/tree-ssa/ssa-dom-thread-6.c: Adjust. - * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Ditto. - -2020-10-06 Dennis Zhang - - * gcc.target/arm/mve/intrinsics/vreinterpretq_f16.c: Use additional - option -fno-ipa-icf and change the instruction count from 8 to 16. - * gcc.target/arm/mve/intrinsics/vreinterpretq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vreinterpretq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vreinterpretq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vreinterpretq_s64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vreinterpretq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vreinterpretq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vreinterpretq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vreinterpretq_u64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vreinterpretq_u8.c: Likewise. - -2020-10-06 Jakub Jelinek - - PR rtl-optimization/97282 - * gcc.target/i386/pr97282.c: New test. - -2020-10-06 Jakub Jelinek - - PR middle-end/97289 - * c-c++-common/gomp/pr97289.c: New test. - -2020-10-06 Joe Ramsay - - * gcc.target/arm/cortex-m55-nodsp-flag-hard.c: New test. - * gcc.target/arm/cortex-m55-nodsp-flag-softfp.c: New test. - * gcc.target/arm/cortex-m55-nodsp-nofp-flag-softfp.c: New test. - * gcc.target/arm/cortex-m55-nofp-flag-hard.c: New test. - * gcc.target/arm/cortex-m55-nofp-flag-softfp.c: New test. - * gcc.target/arm/cortex-m55-nofp-nomve-flag-softfp.c: New test. - * gcc.target/arm/cortex-m55-nomve-flag-hard.c: New test. - * gcc.target/arm/cortex-m55-nomve-flag-softfp.c: New test. - * gcc.target/arm/cortex-m55-nomve.fp-flag-hard.c: New test. - * gcc.target/arm/cortex-m55-nomve.fp-flag-softfp.c: New test. - * gcc.target/arm/multilib.exp: Add tests for -mcpu=cortex-m55. - -2020-10-05 Nathan Sidwell - - * c-c++-common/spellcheck-reserved.c: Restore diagnostic. - -2020-10-04 Harald Anlauf - - PR fortran/97272 - * gfortran.dg/pr97272.f90: New test. - -2020-10-03 Jan Hubicka - - * gcc.dg/tree-ssa/modref-3.c: New test. - -2020-10-02 Nathan Sidwell - - * c-c++-common/spellcheck-reserved.c: Adjust diagnostic. - * g++.dg/spellcheck-typenames.C: Adjust diagnostic. - -2020-10-02 Nathan Sidwell - - * g++.dg/inherit/pr97268.C: New. - -2020-10-02 Martin Jambor - - * gcc.dg/ipa/ipcp-loophint-1.c: New test. - -2020-10-02 Joe Ramsay - - * gcc.target/arm/mve/intrinsics/vmaxavq_p_s16.c: Add test for mismatched - width of scalar argument. - * gcc.target/arm/mve/intrinsics/vmaxavq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxavq_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxavq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxavq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxavq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmavq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmavq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmavq_p_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmavq_p_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmvq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmvq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmvq_p_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmvq_p_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxvq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxvq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxvq_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxvq_p_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxvq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxvq_p_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxvq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxvq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxvq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxvq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxvq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxvq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminavq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminavq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminavq_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminavq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminavq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminavq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmavq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmavq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmavq_p_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmavq_p_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmvq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmvq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmvq_p_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmvq_p_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminvq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminvq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminvq_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminvq_p_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminvq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminvq_p_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminvq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminvq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminvq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminvq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminvq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminvq_u8.c: Likewise. - -2020-10-02 Richard Sandiford - - * gcc.target/arm/armv8_2-fp16-arith-2.c (float16_t): Use _Float16_t - rather than __fp16. - (float16x4_t, float16x4_t): Likewise. - (fp16_abs): Use __builtin_fabsf16. - -2020-10-02 Alex Coplan - - * gcc.target/aarch64/extend-syntax.c: Fix assembler checks for - ilp32, disable check-function-bodies on ilp32. - * gcc.target/aarch64/subsp.c: Only check second scan-assembler - on lp64 since the code on ilp32 is missing the optimization - needed for this test to pass. - -2020-10-02 Jason Merril - - * g++.dg/pr94314.C: new/delete no longer omitted. - -2020-10-02 Richard Biener - - * g++.dg/tree-ssa/pta-delete-1.C: New testcase. - -2020-10-01 Richard Sandiford - - * lib/target-supports.exp (check_effective_target_vect_cond_mixed): Add - arm neon targets. - * gcc.target/arm/neon-compare-1.c: New test. - * gcc.target/arm/neon-compare-2.c: Likewise. - * gcc.target/arm/neon-compare-3.c: Likewise. - * gcc.target/arm/neon-compare-4.c: Likewise. - * gcc.target/arm/neon-compare-5.c: Likewise. - * gcc.target/arm/neon-vcond-gt.c: Expect comparisons with zero. - * gcc.target/arm/neon-vcond-ltgt.c: Likewise. - * gcc.target/arm/neon-vcond-unordered.c: Likewise. - -2020-10-01 Richard Sandiford - - * gcc.target/aarch64/movtf_1.c: Restrict the asm matching to lp64. - * gcc.target/aarch64/movti_1.c: Likewise. - -2020-10-01 Andrea Corallo - - PR target/96375 - * gcc.target/arm/lob1.c: Fix missing flag. - * gcc.target/arm/lob2.c: Likewise. - * gcc.target/arm/lob3.c: Likewise. - * gcc.target/arm/lob4.c: Likewise. - * gcc.target/arm/lob5.c: Likewise. - * gcc.target/arm/lob6.c: Likewise. - * lib/target-supports.exp - (check_effective_target_arm_v8_1_lob_ok): Return 1 only for - cortex-m targets, add '-mthumb' flag. - -2020-10-01 Richard Biener - - PR tree-optimization/97236 - * gcc.dg/vect/pr97236.c: New testcase. - -2020-10-01 Jan Hubicka - - PR ipa/97243 - * gcc.c-torture/compile/pr97243.c: New test. - -2020-10-01 Jan Hubicka - - PR ipa/97244 - * gcc.dg/ipa/remref-2a.c: Add -fno-ipa-modref - -2020-10-01 Tom de Vries - - * gcc.dg/pr94600-1.c: Force 32-bit alignment for a0 for !non_strict_align - targets. Remove target clauses from scan tests. - * gcc.dg/pr94600-3.c: Same. - -2020-10-01 Jakub Jelinek - - PR c++/96994 - * g++.dg/cpp2a/consteval18.C: New test. - -2020-10-01 Jakub Jelinek - - PR c++/97195 - * g++.dg/cpp2a/constexpr-new14.C: New test. - -2020-10-01 Richard Biener - - * g++.dg/vect/pr97255.cc: New testcase. - -2020-10-01 Florian Weimer - - PR target/97250 - * gcc.target/i386/x86-64-v2.c: New test. - * gcc.target/i386/x86-64-v3.c: New test. - * gcc.target/i386/x86-64-v3-haswell.c: New test. - * gcc.target/i386/x86-64-v3-skylake.c: New test. - * gcc.target/i386/x86-64-v4.c: New test. - -2020-10-01 Marek Polacek - - PR c++/90210 - * g++.dg/cpp1z/class-deduction73.C: New test. - -2020-09-30 Martin Sebor - - PR middle-end/97189 - * gcc.dg/attr-access-2.c: Adjust caret location. - * gcc.dg/Wvla-parameter-6.c: New test. - * gcc.dg/Wvla-parameter-7.c: New test. - -2020-09-30 Martin Sebor - - PR c/97206 - * gcc.dg/Warray-parameter-7.c: New test. - * gcc.dg/Warray-parameter-8.c: New test. - * gcc.dg/Wvla-parameter-5.c: New test. - -2020-09-30 H.J. Lu - - PR target/96827 - * gcc.target/i386/pr96827.c: New test. - -2020-09-30 Christophe Lyon - - PR target/94595 - * gcc.target/arm/thumb2-cond-cmp-1.c: Skip if arm_cortex_m. - * gcc.target/arm/thumb2-cond-cmp-2.c: Skip if arm_cortex_m. - * gcc.target/arm/thumb2-cond-cmp-3.c: Skip if arm_cortex_m. - * gcc.target/arm/thumb2-cond-cmp-4.c: Skip if arm_cortex_m. - -2020-09-30 Richard Biener - - * gcc.dg/vect/pr37027.c: Amend. - * gcc.dg/vect/pr67790.c: Likewise. - * gcc.dg/vect/pr92324-4.c: Likewise. - * gcc.dg/vect/pr92558.c: Likewise. - * gcc.dg/vect/pr95495.c: Likewise. - * gcc.dg/vect/slp-reduc-1.c: Likewise. - * gcc.dg/vect/slp-reduc-2.c: Likewise. - * gcc.dg/vect/slp-reduc-3.c: Likewise. - * gcc.dg/vect/slp-reduc-4.c: Likewise. - * gcc.dg/vect/slp-reduc-5.c: Likewise. - * gcc.dg/vect/slp-reduc-7.c: Likewise. - * gcc.dg/vect/vect-reduc-in-order-4.c: Likewise. - -2020-09-30 Srinath Parvathaneni - - PR target/96795 - * gcc.target/arm/mve/intrinsics/mve_fp_vaddq_n.c: New Test. - * gcc.target/arm/mve/intrinsics/mve_vaddq_n.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_m_n_f16-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_m_n_f32-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_x_n_f16-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_x_n_f32-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_f16-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_f32-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_n_f16-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_n_f32-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_f16-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_f32-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_n_f16-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_n_f32-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_m_n_f16-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_m_n_f32-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_n_f16-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_n_f32-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_m_n_f16-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_m_n_f32-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_n_f16-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_n_f32-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_m_n_f16-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_m_n_f32-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_n_f16-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_n_f32-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_f16-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_f32-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_n_f16-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_n_f32-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmaq_m_n_f16-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmaq_m_n_f32-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmaq_n_f16-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmaq_n_f32-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmasq_m_n_f16-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmasq_m_n_f32-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmasq_n_f16-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmasq_n_f32-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmavq_f16-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmavq_f32-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmavq_p_f16-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmavq_p_f32-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmvq_f16-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmvq_f32-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmvq_p_f16-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmvq_p_f32-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmavq_f16-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmavq_f32-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmavq_p_f16-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmavq_p_f32-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmvq_f16-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmvq_f32-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmvq_p_f16-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmvq_p_f32-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_m_n_f16-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_m_n_f32-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_n_f16-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_n_f32-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_x_n_f16-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_x_n_f32-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsetq_lane_f16-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsetq_lane_f32-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_m_n_f16-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_m_n_f32-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_n_f16-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_n_f32-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_x_n_f16-1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_x_n_f32-1.c: Likewise. - -2020-09-30 Joel Hutton - - PR target/96837 - * gcc.dg/vect/bb-slp-49.c: New test. - -2020-09-30 Tobias Burnus - - PR fortran/97242 - * gfortran.dg/contiguous_11.f90: New test. - * gfortran.dg/contiguous_4.f90: Update. - * gfortran.dg/contiguous_7.f90: Update. - -2020-09-30 Paul Thomas - - PR fortran/97045 - * gfortran.dg/select_type_50.f90 : New test. - -2020-09-30 H.J. Lu - - PR target/97184 - * gcc.target/i386/movdir64b.c: New test. - * gcc.target/i386/movdiri32.c: Likewise. - * gcc.target/i386/movdiri64.c: Likewise. - * lib/target-supports.exp (check_effective_target_movdir): New. - -2020-09-30 Tom de Vries - - * gcc.dg/pr94600-1.c: Use effective target - (non_strict_align || pcc_bitfield_type_matters). - * gcc.dg/pr94600-3.c: Same. - -2020-09-30 Jakub Jelinek - - * gcc.target/i386/amxint8-dpbssd-2.c: Require effective targets - amx_tile and amx_int8. - * gcc.target/i386/amxint8-dpbsud-2.c: Likewise. - * gcc.target/i386/amxint8-dpbusd-2.c: Likewise. - * gcc.target/i386/amxint8-dpbuud-2.c: Likewise. - * gcc.target/i386/amxbf16-dpbf16ps-2.c: Require effective targets - amx_tile and amx_bf16. - * gcc.target/i386/amxtile-2.c: Require effective target amx_tile. - -2020-09-30 Kyrylo Tkachov - - PR target/97150 - * gcc.target/aarch64/pr97150.c: New test. - -2020-09-30 Kyrylo Tkachov - - PR target/96313 - * gcc.target/aarch64/pr96313.c: New test. - * gcc.target/aarch64/scalar_intrinsics.c (test_vqmovunh_s16): - Adjust return type. - (test_vqmovuns_s32): Likewise. - (test_vqmovund_s64): Likewise. - -2020-09-30 Richard Sandiford - - * gcc.target/aarch64/movtf_1.c: New test. - * gcc.target/aarch64/movti_1.c: Likewise. - -2020-09-29 Martin Sebor - - PR middle-end/97188 - * gcc.dg/Wstringop-overflow-23.c: Adjust text of expected warnings. - * gcc.dg/Wnonnull-4.c: New test. - -2020-09-29 Marek Polacek - - PR c++/94695 - * g++.dg/warn/Wrange-loop-construct.C: New test. - -2020-09-29 David Edelsohn - - * g++.dg/debug/dwarf2/align-1.C: Remove AIX XFAIL. - * g++.dg/debug/dwarf2/align-2.C: Same. - * g++.dg/debug/dwarf2/align-3.C: Same. - * g++.dg/debug/dwarf2/align-4.C: Same. - * g++.dg/debug/dwarf2/align-5.C: Same. - * g++.dg/debug/dwarf2/align-6.C: Same. - * g++.dg/debug/dwarf2/defaulted-member-function-1.C: Same. - * g++.dg/debug/dwarf2/defaulted-member-function-2.C: Same. - * g++.dg/debug/dwarf2/defaulted-member-function-3.C: Same. - * g++.dg/debug/dwarf2/inline-var-1.C: Same. - * g++.dg/debug/dwarf2/inline-var-2.C: Same. - * g++.dg/debug/dwarf2/inline-var-3.C: Same. - * g++.dg/debug/dwarf2/noreturn-function.C: Same. - * g++.dg/debug/dwarf2/ptrdmem-1.C: Same. - * g++.dg/debug/dwarf2/ref-2.C: Same. - * g++.dg/debug/dwarf2/ref-3.C: Same. - * g++.dg/debug/dwarf2/ref-4.C: Same. - * g++.dg/debug/dwarf2/refqual-1.C: Same. - * g++.dg/debug/dwarf2/refqual-2.C: Same. - * gcc.dg/debug/dwarf2/align-1.c: Same. - * gcc.dg/debug/dwarf2/align-2.c: Same. - * gcc.dg/debug/dwarf2/align-3.c: Same. - * gcc.dg/debug/dwarf2/align-4.c: Same. - * gcc.dg/debug/dwarf2/align-5.c: Same. - * gcc.dg/debug/dwarf2/align-6.c: Same. - * gcc.dg/debug/dwarf2/align-as-1.c: Same. - * gcc.dg/debug/dwarf2/dwarf2-macro.c: Same. - * gcc.dg/debug/dwarf2/dwarf2-macro2.c: Same. - * gcc.dg/debug/dwarf2/lang-c89.c: Same. - * gcc.dg/debug/dwarf2/noreturn-function-attribute.c: Same. - * gcc.dg/debug/dwarf2/noreturn-function-keyword.c: Same. - * gcc.dg/debug/dwarf2/pr71855.c: Same. - * gcc.dg/debug/dwarf2/inline5.c: Add XFAIL on AIX. - -2020-09-29 David Malcolm - - PR analyzer/95188 - * gcc.dg/analyzer/signal-registration-loc.c: New test. - -2020-09-29 David Edelsohn - - * g++.dg/spellcheck-inttypes.C: Define _STD_TYPES_T on AIX. - * gcc.dg/spellcheck-inttypes.c: Same. - -2020-09-29 Richard Biener - - PR tree-optimization/97241 - * gcc.dg/vect/pr97241.c: New testcase. - -2020-09-29 Richard Biener - - PR tree-optimization/97238 - * gcc.dg/pr97238.c: New testcase. - -2020-09-29 Richard Sandiford - - * gcc.target/arm/armv8_2-fp16-arith-2.c: Expect FP16 vectorization - even without -ffast-math. - -2020-09-29 Kito Cheng - - * gcc.target/riscv/predef-3.c: Update testcase. - * gcc.target/riscv/predef-6.c: Ditto. - -2020-09-29 Martin Liska - - PR tree-optimization/96979 - * g++.dg/tree-ssa/pr96979.C: New test. - -2020-09-29 Martin Liska - - Revert: - 2020-09-29 Martin Liska - - PR tree-optimization/96979 - * g++.dg/tree-ssa/pr96979.C: New test. - -2020-09-29 David Edelsohn - - * gcc.dg/ipa/symver1.c: Skip on AIX. - -2020-09-28 David Malcolm - - PR analyzer/97233 - * gcc.dg/analyzer/pr97233.c: New test. - -2020-09-28 Paul A. Clarke - - * gcc.target/powerpc/sse4_1-pinsrb.c: New test. - * gcc.target/powerpc/sse4_1-pinsrd.c: New test. - * gcc.target/powerpc/sse4_1-pinsrq.c: New test. - -2020-09-28 liuhongt - - * lib/target-supports.exp (check_effective_target_amx_tile, - check_effective_target_amx_int8, - check_effective_target_amx_bf16): New proc. - * g++.dg/other/i386-2.C: Add -mamx-tile, -mamx-int8, -mamx-bf16. - * g++.dg/other/i386-3.C: Ditto. - * gcc.target/i386/sse-12.c: Ditto. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-14.c: Ditto. - * gcc.target/i386/sse-22.c: Ditto. - * gcc.target/i386/sse-23.c: Ditto. - * gcc.target/i386/funcspec-56.inc: Add new target attribute. - * gcc.target/i386/amx-check.h: New header file. - * gcc.target/i386/amxbf16-asmatt-1.c: New test. - * gcc.target/i386/amxint8-asmatt-1.c: New test. - * gcc.target/i386/amxtile-asmatt-1.c: Ditto. - * gcc.target/i386/amxbf16-asmintel-1.c: Ditto. - * gcc.target/i386/amxint8-asmintel-1.c: Ditto. - * gcc.target/i386/amxtile-asmintel-1.c: Ditto. - * gcc.target/i386/amxbf16-dpbf16ps-2.c: Ditto. - * gcc.target/i386/amxint8-dpbssd-2.c: Ditto. - * gcc.target/i386/amxint8-dpbsud-2.c: Ditto. - * gcc.target/i386/amxint8-dpbusd-2.c: Ditto. - * gcc.target/i386/amxint8-dpbuud-2.c: Ditto. - * gcc.target/i386/amxtile-2.c: Ditto. - -2020-09-28 Mark Eggleston - - Revert: - 2020-09-28 Steven G. Kargl - Mark Eggleston - - PR fortran/95614 - * gfortran.dg/pr95614_1.f90: New test. - * gfortran.dg/pr95614_2.f90: New test. - -2020-09-28 Eric Botcazou - - * gnat.dg/addr16.adb: New test. - * gnat.dg/addr16_pkg.ads: New helper. - -2020-09-27 Jakub Jelinek - - PR middle-end/97073 - * gcc.c-torture/execute/pr97073.c: New test. - -2020-09-27 Steven G. Kargl - Mark Eggleston - - PR fortran/95614 - * gfortran.dg/pr95614_1.f90: New test. - * gfortran.dg/pr95614_2.f90: New test. - -2020-09-26 Paul Thomas - - PR fortran/96495 - * gfortran.dg/alloc_comp_result_2.f90 : Restore original. - * gfortran.dg/alloc_comp_result_3.f90 : New test. - -2020-09-26 Jan Hubicka - - * gcc.dg/lto/modref-1_0.c: New test. - * gcc.dg/lto/modref-1_1.c: New test. - * gcc.dg/tree-ssa/modref-2.c: New test. - -2020-09-26 Jakub Jelinek - - * gcc.dg/vect/vect-simd-17.c: Expect 11 or more vectorized loops. - * gcc.dg/vect/vect-simd-18.c: New test. - * gcc.dg/vect/vect-simd-19.c: New test. - * gcc.dg/vect/vect-simd-20.c: New test. - -2020-09-26 Jan Hubicka - - * gcc.dg/ipa/ipa-pta-13.c: Disable modref. - -2020-09-26 David Malcolm - - PR analyzer/94355 - * g++.dg/analyzer/placement-new.C: New test. - -2020-09-26 David Malcolm - - PR analyzer/96646 - PR analyzer/96841 - * gcc.dg/analyzer/pr96646.c: New test. - * gcc.dg/analyzer/pr96841.c: New test. - -2020-09-25 Richard Biener - - PR middle-end/96814 - * gcc.target/i386/pr96814.c: New testcase. - -2020-09-25 Richard Sandiford - - * gcc.target/arm/mve/intrinsics/mve-vldstr16-no-writeback.c: Allow - the store to use GPRs instead of FPRs. Add scan-assembler-nots - for writeback. - * gcc.target/arm/armv8_1m-fp16-move-1.c: New test. - * gcc.target/arm/armv8_1m-fp32-move-1.c: Likewise. - * gcc.target/arm/armv8_1m-fp64-move-1.c: Likewise. - -2020-09-25 Christophe Lyon - - PR target/71233 - * gcc.target/aarch64/advsimd-intrinsics/vtrn_half.c: Remove - declarations of vector, vector2, vector_res for float64x2 type. - * gcc.target/aarch64/advsimd-intrinsics/vuzp_half.c: Likewise. - * gcc.target/aarch64/advsimd-intrinsics/vzip_half.c: Likewise. - -2020-09-25 Richard Biener - - PR testsuite/97204 - * gcc.target/i386/sse2-mmx-pinsrw.c: Fix. - -2020-09-25 Jakub Jelinek - - * gcc.dg/vect/vect-simd-17.c: New test. - -2020-09-25 Tom de Vries - - * gcc.dg/analyzer/pr93355-localealias.c: Require effective target - alloca. - -2020-09-25 Tom de Vries - - * lib/target-supports.exp (check_effective_target_ident_directive): New proc. - * c-c++-common/ident-1b.c: Require effective target ident_directive. - * c-c++-common/ident-2b.c: Same. - -2020-09-24 Nathan Sidwell - - * g++.dg/template/local-var1.C: New. - -2020-09-24 Nathan Sidwell - - * g++.dg/template/local-fn4.C: Add target c++11 - -2020-09-24 Nathan Sidwell - - PR c++/97186 - * g++.dg/template/local10.C: Rename ... - * g++.dg/template/local-fn3.C: .. here. Require lto. - * g++.dg/template/local-fn4.C: New. - -2020-09-24 Jan Hubicka - - * gcc.dg/tree-ssa/modref-1.c: New test. - -2020-09-24 Tom de Vries - - * gcc.dg/tls/thr-cse-1.c: Scan final dump instead of assembly for - nvptx. - -2020-09-24 Tom de Vries - - * gcc.dg/independent-cloneids-1.c: Use scan-rtl-dump instead of - scan-assembler. - -2020-09-24 Richard Biener - - PR tree-optimization/97085 - * gcc.dg/pr97192.c: New testcase. - -2020-09-24 Paul Thomas - - PR fortran/96495 - * gfortran.dg/alloc_comp_result_2.f90 : New test. - -2020-09-24 Tom de Vries - - * gcc.dg/pr87314-1.c: Add nvptx-specific scan-assembler directive. - -2020-09-24 Richard Sandiford - - * gcc.target/arm/stack-protector-5.c: New test. - * gcc.target/arm/stack-protector-6.c: Likewise. - -2020-09-24 Richard Sandiford - - * gcc.target/arm/stack-protector-3.c: New test. - * gcc.target/arm/stack-protector-4.c: Likewise. - -2020-09-24 Richard Biener - - PR tree-optimization/97085 - * gcc.dg/vect/pr97085.c: New testcase. - -2020-09-24 Tom de Vries - - * gcc.dg/pr94600-1.c: Require effective target non_strict_align for - scan-rtl-dump-times. - * gcc.dg/pr94600-3.c: Same. - -2020-09-24 Tom de Vries - - * c-c++-common/builtin-has-attribute-3.c: Compile with -DSKIP_ALIAS - for effective target ! alias. - -2020-09-24 Kewen Lin - - PR tree-optimization/97075 - * gcc.target/powerpc/p9-vec-length-full-6.c: Adjust. - -2020-09-24 David Malcolm - - PR analyzer/93355 - * gcc.dg/analyzer/pr93355-localealias-feasibility.c: New test. - * gcc.dg/analyzer/pr93355-localealias-simplified.c: New test. - * gcc.dg/analyzer/pr93355-localealias.c: New test. - -2020-09-24 David Malcolm - - * gcc.dg/analyzer/feasibility-2.c: New test. - -2020-09-23 Martin Sebor - - PR middle-end/97175 - * gcc.dg/Wstringop-overflow-44.c: New test. - -2020-09-23 Jan Hubicka - - * gcc.dg/tree-ssa/local-pure-const.c: Update template. - -2020-09-23 Martin Sebor - - PR c/97131 - * gcc.dg/Warray-parameter-6.c: New test. - -2020-09-23 Richard Sandiford - - * gcc.target/aarch64/stack-protector-5.c: New test. - * gcc.target/aarch64/stack-protector-6.c: Likewise. - * gcc.target/aarch64/stack-protector-7.c: Likewise. - -2020-09-23 Richard Sandiford - - * gcc.target/aarch64/stack-protector-3.c: New test. - * gcc.target/aarch64/stack-protector-4.c: Likewise. - -2020-09-23 Kyrylo Tkachov - - PR target/71233 - * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h - (clean_results): Add float64x2_t cleanup. - (DECL_VARIABLE_128BITS_VARIANTS): Add float64x2_t variable. - * gcc.target/aarch64/advsimd-intrinsics/vreinterpret_p128.c: Add - testing of vreinterpretq_f64_p128, vreinterpretq_p128_f64. - -2020-09-23 Nathan Sidwell - - PR c++/97171 - * g++.dg/template/local10.C: New. - -2020-09-23 Marek Polacek - - PR c/97125 - * c-c++-common/Wduplicated-branches-15.c: New test. - -2020-09-23 Richard Biener - - PR middle-end/96453 - * gcc.dg/pr96453.c: New testcase. - -2020-09-23 Richard Biener - - PR middle-end/96466 - * gcc.dg/pr96466.c: New testcase. - -2020-09-23 Richard Sandiford - - * gcc.target/powerpc/p9-vec-length-epil-1.c: Do not expect the - single-iteration epilogues of the 64-bit loops to be vectorized. - * gcc.target/powerpc/p9-vec-length-epil-7.c: Likewise. - * gcc.target/powerpc/p9-vec-length-epil-8.c: Likewise. - -2020-09-23 Kyrylo Tkachov - - PR target/71233 - * gcc.target/aarch64/simd/vrndns_f32_1.c: New test. - -2020-09-23 Richard Biener - - PR tree-optimization/97173 - * gcc.dg/vect/pr97173.c: New testcase. - -2020-09-23 Kyrylo Tkachov - - PR target/71233 - * gcc.target/aarch64/simd/trn_zip_p64_1.c: New test. - -2020-09-23 Kyrylo Tkachov - - PR target/71233 - * gcc.target/aarch64/simd/vldrq_p128_1.c: New test. - -2020-09-23 Kyrylo Tkachov - - PR target/71233 - * gcc.target/aarch64/simd/vstrq_p128_1.c: New test. - -2020-09-23 Richard Biener - - PR tree-optimization/97151 - * g++.dg/cpp1y/new1.C: Adjust for two more handled transforms. - -2020-09-23 Martin Liska - - PR gcov-profile/97069 - * g++.dg/gcov/pr97069.C: New test. - -2020-09-23 Tom de Vries - - * gcc.dg/Warray-bounds-63.c: Add require-effective-target alloca. - * gcc.dg/Warray-bounds-66.c: Same. - * gcc.dg/atomic/stdatomic-vm.c: Same. - -2020-09-22 Patrick Palka - - PR c++/95310 - * g++.dg/concepts/diagnostic15.C: New test. - -2020-09-22 Patrick Palka - - PR c++/96652 - * g++.dg/cpp0x/decltype-96652.C: New test. - -2020-09-22 Jakub Jelinek - - PR c++/97145 - * g++.dg/asan/pr97145.C: New test. - -2020-09-22 David Faust - - * gcc.target/bpf/diag-sdiv.c: New test. - * gcc.target/bpf/diag-smod.c: New test. - * gcc.target/bpf/xbpf-sdiv-1.c: New test. - * gcc.target/bpf/xbpf-smod-1.c: New test. - -2020-09-22 Nathan Sidwell - - * g++.old-deja/g++.pt/friend34.C: Check injected friend is still - invisible. - -2020-09-22 Marek Polacek - - * g++.dg/ext/timevar1.C: Also prune N%. - -2020-09-22 Marek Polacek - - * g++.dg/ext/timevar2.C: Also prune N%. - -2020-09-22 Martin Liska - - PR tree-optimization/96979 - * g++.dg/tree-ssa/pr96979.C: New test. - -2020-09-22 Stefan Schulze Frielinghaus - - * gcc.target/s390/load-and-test-fp-1.c: Change test to include all - possible combinations of dead/live registers and comparisons (equality, - relational). - * gcc.target/s390/load-and-test-fp-2.c: Same as load-and-test-fp-1.c - but for fast math. - * gcc.target/s390/load-and-test-fp.h: New test included by - load-and-test-fp-{1,2}.c. - -2020-09-22 Kyrylo Tkachov - - PR target/71233 - * gcc.target/aarch64/simd/vcls_unsigned_1.c: New test. - -2020-09-22 Kyrylo Tkachov - - PR target/71233 - * gcc.target/aarch64/simd/vceq_poly_1.c: New test. - -2020-09-22 Kyrylo Tkachov - - PR target/71233 - * gcc.target/aarch64/simd/vadd_poly_1.c: New test. - -2020-09-22 Jan Hubicka - - * gcc.target/i386/m128-check.h: Add no-strict-aliasing - -2020-09-21 David Malcolm - - PR analyzer/97130 - * gcc.dg/analyzer/pr97130.c: New test. - -2020-09-21 Marek Polacek - - PR c++/90583 - DR 1722 - * g++.dg/cpp0x/lambda/lambda-conv14.C: New test. - -2020-09-21 Marek Polacek - - * g++.dg/warn/Wctad-maybe-unsupported.C: New test. - * g++.dg/warn/Wctad-maybe-unsupported2.C: New test. - * g++.dg/warn/Wctad-maybe-unsupported3.C: New test. - * g++.dg/warn/Wctad-maybe-unsupported.h: New file. - -2020-09-21 Martin Sebor - - PR c/50584 - * gcc.dg/ipa/ipa-sra-1.c: Use a plain pointer for argv instead of array. - * gcc.dg/ipa/ipa-sra-12.c: Same. - * gcc.dg/ipa/ipa-sra-13.c: Same. - * gcc.dg/ipa/ipa-sra-14.c: Same. - * gcc.dg/ipa/ipa-sra-15.c: Same. - -2020-09-21 Harald Anlauf - Paul Thomas - - * gfortran.dg/check_bits_2.f90: New test. - -2020-09-21 Iain Sandoe - - * gcc.dg/ipa/symver1.c: Skip for Darwin. - -2020-09-21 Christophe Lyon - - * gcc.target/arm/csinc-1.c: Use dg-add-options - arm_arch_v8_1m_main. - * gcc.target/arm/csinv-1.c: Likewise. - * gcc.target/arm/csneg.c: Likewise. - -2020-09-21 Richard Biener - - PR tree-optimization/97139 - * gcc.dg/vect/pr97139.c: New testcase. - -2020-09-21 Marek Polacek - - PR c++/97099 - * g++.dg/cpp1z/class-deduction74.C: New test. - -2020-09-21 Richard Biener - - PR tree-optimization/97135 - * gcc.dg/torture/pr97135.c: New testcase. - -2020-09-21 Martin Liska - - PR tree-optimization/96915 - * gcc.target/aarch64/sve/pr96915.c: New test. - -2020-09-21 Andrea Corallo - - PR target/96968 - * gcc.target/aarch64/pr96968.c: New test. - -2020-09-21 Martin Liska - - * g++.dg/ext/timevar1.C: Prune more possible number values. - * g++.dg/ext/timevar2.C: Likewise. - -2020-09-20 Marek Polacek - - PR c++/90199 - * g++.dg/cpp1y/constexpr-90199.C: New test. - -2020-09-19 Martin Sebor - - PR middle-end/82608 - PR middle-end/94195 - PR c/50584 - PR middle-end/84051 - * c-c++-common/Warray-bounds.c: Adjust. - * gcc.dg/Wbuiltin-declaration-mismatch-9.c: Adjust. - * gcc.dg/Warray-bounds-63.c: New test. - * gcc.dg/Warray-bounds-64.c: New test. - * gcc.dg/Warray-bounds-65.c: New test. - * gcc.dg/Warray-bounds-66.c: New test. - * gcc.dg/Warray-bounds-67.c: New test. - -2020-09-19 Martin Sebor - - PR c/50584 - * c-c++-common/Wsizeof-pointer-memaccess1.c: Disable new expected - warnings. - * g++.dg/ext/attr-access.C: Update text of expected warnings. - * gcc.dg/Wstringop-overflow-23.c: Same. - * gcc.dg/Wstringop-overflow-24.c: Same. - * gcc.dg/attr-access-none.c: Same. - * gcc.dg/dfp/composite-type.c: Prune expected warnings. - * gcc.dg/torture/pr57147-1.c: Add a member to an otherwise empty - struct to avoid a warning. - * gcc.dg/torture/pr57147-3.c: Same. - * gcc.dg/Warray-bounds-30.c: Adjust. - * gcc.dg/attr-access-none.c: Same. - * gcc.dg/Wstringop-overflow-40.c: New test. - * gcc.dg/attr-access-2.c: New test. - -2020-09-19 Martin Sebor - - * gcc.dg/uninit-37.c: New test. - -2020-09-19 Martin Sebor - - PR c/50584 - * gcc.dg/attr-access-read-write-2.c: Adjust text of expected message. - * c-c++-common/Warray-bounds-6.c: Correct C++ declaration, adjust - text of expected diagnostics. - * gcc.dg/Wbuiltin-declaration-mismatch-9.c: Prune expected warning. - * gcc.dg/Warray-parameter-2.c: New test. - * gcc.dg/Warray-parameter-3.c: New test. - * gcc.dg/Warray-parameter-4.c: New test. - * gcc.dg/Warray-parameter-5.c: New test. - * gcc.dg/Warray-parameter.c: New test. - * gcc.dg/Wvla-parameter-2.c: New test. - * gcc.dg/Wvla-parameter-3.c: New test. - * gcc.dg/Wvla-parameter.c: New test. - * gcc.dg/Wvla-parameter-4.c: New file. - -2020-09-19 Sandra Loosemore - - * gcc.dg/gomp/block-7.c: Update expected error message wording. - -2020-09-19 Harald Anlauf - - * gfortran.dg/pr97036.f90: New test. - -2020-09-19 H.J. Lu - - PR target/96861 - * gcc.target/i386/pr96861.c: New test. - -2020-09-19 Patrick Palka - - PR c++/96531 - PR c++/97103 - * g++.dg/cpp2a/concepts-ttp2.C: New test. - * g++.dg/cpp2a/concepts-variadic1.C: New test. - -2020-09-19 Patrick Palka - - PR c++/97051 - * g++.dg/cpp2a/is-constant-evaluated11.C: New test. - -2020-09-19 liuhongt - - * gcc.target/i386/pr95021-3.c: Add -mtune=generic. - -2020-09-18 Jakub Jelinek - - PR c++/97105 - * g++.dg/template/pr97105.C: New test. - -2020-09-18 David Malcolm - - * gcc.dg/analyzer/strdup-1.c: New test. - * gcc.dg/analyzer/strndup-1.c: New test. - -2020-09-18 Sudi Das - Omar Tahir - - * gcc.target/arm/csneg.c: New test. - -2020-09-18 Sudi Das - Omar Tahir - - * gcc.target/arm/csinc-1.c: New test. - -2020-09-18 Sudi Das - Omar Tahir - - * gcc.target/arm/csinv-1.c: New test. - -2020-09-18 H.J. Lu - Richard Sandiford - - PR middle-end/91957 - * g++.target/i386/pr97054.C: New test. - * gcc.target/i386/pr82673.c: Remove redundant extra message. - -2020-09-18 Jakub Jelinek - - PR tree-optimization/97081 - * gcc.dg/vect/pr97081-2.c: New test. - -2020-09-18 Richard Biener - - PR tree-optimization/97081 - * gcc.dg/vect/pr97081.c: New testcase. - -2020-09-18 Jozef Lawrynowicz - - * gcc.target/msp430/operand-modifiers.c: Extend test to handle new - modifiers. - * gcc.target/msp430/operand-modifiers-bad.c: New test. - -2020-09-18 Richard Biener - - PR tree-optimization/97095 - * gfortran.dg/pr97095.f: New testcase. - -2020-09-17 Tom de Vries - - * lib/target-supports.exp (check_effective_target_non_strict_prototype): - New proc. - * gcc.c-torture/compile/pr71109.c: Require effective target - non_strict_prototype. - * gcc.c-torture/compile/pr83051-2.c: Same. - * gcc.c-torture/compile/pr89663-1.c: Same. - * gcc.c-torture/compile/pr89663-2.c: Same. - * gcc.c-torture/compile/pr96796.c: Same. - -2020-09-17 Yeting Kuo - - * gcc.target/riscv/shorten-memrefs-8.c: New test. - -2020-09-17 Marek Polacek - - PR c++/87530 - PR c++/58156 - PR c++/68828 - PR c++/86002 - PR c++/91525 - PR c++/96223 - PR c++/87032 - PR c++/35098 - * g++.dg/cpp0x/move-return4.C: New test. - * g++.dg/cpp0x/vt-58156.C: New test. - * g++.dg/cpp2a/concepts-pr68828.C: New test. - * g++.dg/cpp2a/concepts-pr86002.C: New test. - * g++.dg/cpp2a/concepts-pr91525.C: New test. - * g++.dg/cpp2a/constexpr-indeterminate1.C: New test. - * g++.dg/cpp2a/desig17.C: New test. - * g++.dg/ext/attrib62.C: New test. - -2020-09-17 Patrick Palka - - PR c/80076 - * c-c++-common/Wmisleading-indentation-5.c: New test. - -2020-09-17 Mark Wielaard - - * gcc.dg/debug/dwarf2/inline2.c: Add -gdwarf-2. - * g++.dg/debug/dwarf2/inline-var-1.C: Likewise. - * gcc.dg/debug/dwarf2/pr41445-5.c: Likewise. - * gcc.dg/debug/dwarf2/pr41445-6.c: Likewise. - * gcc.dg/debug/dwarf2/inline6.c: New variant with -gdwarf-5. - * g++.dg/debug/dwarf2/inline-var-3.C: Likewise. - * gcc.dg/debug/dwarf2/pr41445-7.c: Likewise. - * gcc.dg/debug/dwarf2/pr41445-8.c: Likewise. - -2020-09-17 Andre Corallo - - * gcc.target/aarch64/sve/clastb_8.c: Fix a dg-final scan - directive. - -2020-09-17 Patrick Palka - - PR c++/96409 - PR c++/96410 - * g++.dg/cpp2a/concepts-lambda13.C: New test. - * g++.dg/cpp2a/concepts-lambda14.C: New test. - -2020-09-17 Richard Biener - - * gcc.dg/tree-ssa/ssa-fre-88.c: New testcase. - -2020-09-17 Eric Botcazou - - * gcc.dg/pr97078.c: New test. - -2020-09-17 liuhongt - - * gcc.target/i386/xsave-avx-1.c: New test. - -2020-09-16 David Malcolm - - PR analyzer/96653 - * gcc.dg/analyzer/loop-0-up-to-n-by-1-with-iter-obj.c: Update - expected number of exploded nodes. - * gcc.dg/analyzer/malloc-vs-local-1a.c: Update expected number - of exploded nodes. - * gcc.dg/analyzer/pr96653.c: Remove -Wno-analyzer-too-complex. - -2020-09-16 David Malcolm - - * gcc.dg/analyzer/bzip2-arg-parse-1.c: New test. - * gcc.dg/analyzer/loop-n-down-to-1-by-1.c: Remove xfail. - * gcc.dg/analyzer/pr94851-1.c: Add xfail. - -2020-09-16 David Malcolm - - * gcc.dg/analyzer/getchar-1.c: New test. - -2020-09-16 Martin Sebor - - PR c/78666 - PR c/96126 - * gcc.dg/attr-alloc_align-5.c: New test. - * gcc.dg/attr-alloc_size-13.c: New test. - * gcc.dg/attr-section.c: New test. - * c-c++-common/builtin-has-attribute-3.c: Add xfails due to expected - warnings to be cleaned up. - -2020-09-16 Marek Polacek - - PR preprocessor/96935 - * gcc.dg/format/pr96935.c: New test. - -2020-09-16 Martin Sebor - - PR middle-end/96295 - * g++.dg/warn/Wuninitialized-11.C: New test. - -2020-09-16 Nathan Sidwell - - * g++.dg/gomp/udr-2.C: Add additional expected error. - -2020-09-16 Eric Botcazou - - * gnat.dg/concat4.adb: New test. - -2020-09-16 Tobias Burnus - - PR fortran/97061 - * gfortran.dg/gomp/openmp-simd-6.f90: New test. - -2020-09-16 Andrea Corallo - - * gcc.target/aarch64/sve/cost_model_10.c: New test. - * gcc.target/aarch64/sve/clastb_8.c: Update test for new - vectorization strategy. - * gcc.target/aarch64/sve/cost_model_5.c: Likewise. - * gcc.target/aarch64/sve/struct_vect_14.c: Likewise. - * gcc.target/aarch64/sve/struct_vect_15.c: Likewise. - * gcc.target/aarch64/sve/struct_vect_16.c: Likewise. - * gcc.target/aarch64/sve/struct_vect_17.c: Likewise. - -2020-09-16 H.J. Lu - - PR target/97032 - * gcc.target/i386/pr97032.c: New test. - -2020-09-16 Feng Xue - - PR testsuite/97066 - * gcc.dg/ifcvt-3.c: Modified to suppress simplification. - * gcc.dg/tree-ssa/20030807-10.c: Likewise. - -2020-09-16 Jojo R - - * lib/target-supports.exp (check_profiling_available): Refine name of elf target. - -2020-09-16 Jakub Jelinek - - PR tree-optimization/97053 - * gcc.dg/store_merging_31.c: New test. - * gcc.dg/store_merging_32.c: New test. - -2020-09-16 Kewen Lin - - PR target/97019 - * gcc.target/powerpc/pr97019.c: New test. - -2020-09-16 Jojo R - - * gcc.dg/builtin-apply2.c : Skip if CSKY. - * gcc.dg/torture/stackalign/builtin-apply-2.c : Likewise. - -2020-09-15 David Malcolm - - PR analyzer/96650 - * gcc.dg/analyzer/pr96650-1-notrans.c: New test. - * gcc.dg/analyzer/pr96650-1-trans.c: New test. - * gcc.dg/analyzer/pr96650-2-notrans.c: New test. - * gcc.dg/analyzer/pr96650-2-trans.c: New test. - -2020-09-15 Feng Xue - - PR tree-optimization/94234 - * gcc.dg/pr94234-3.c: New test. - -2020-09-15 H.J. Lu - - * gcc.target/i386/pr78904-4a.c: Compile with -mtune=generic. - -2020-09-15 Richard Biener - - * gcc.dg/vect/bb-slp-48.c: New testcase. - * gcc.dg/vect/bb-slp-7.c: Adjust. - -2020-09-15 Andre Vieira - - * gcc.target/arm/pr95646.c: Fix testism. - -2020-09-15 Jakub Jelinek - - PR target/97028 - * gcc.target/i386/avx512f-pr97028.c: Untested fix. - -2020-09-15 Feng Xue - - PR tree-optimization/94234 - * gcc.dg/pr94234-2.c: New test. - -2020-09-14 Jose E. Marchesi - - * gcc.target/bpf/nop-1.c: New test. - -2020-09-14 Iain Sandoe - - * gcc.target/i386/avx512f-broadcast-pr87767-1.c: Make the test - run as non-dynamic for m32 Darwin. - * gcc.target/i386/avx512f-broadcast-pr87767-3.c: Likewise. - * gcc.target/i386/avx512f-broadcast-pr87767-5.c: Likewise. - * gcc.target/i386/avx512f-broadcast-pr87767-7.c: Likewise. - * gcc.target/i386/avx512vl-broadcast-pr87767-1.c: Likewise. - * gcc.target/i386/avx512vl-broadcast-pr87767-3.c: Likewise. - * gcc.target/i386/avx512vl-broadcast-pr87767-5.c: Likewise. - * gcc.target/i386/avx512f-broadcast-pr87767-6.c: Adjust dg-requires - clause. - -2020-09-14 David Malcolm - - PR analyzer/96653 - * gcc.dg/analyzer/pr96653.c: New test. - -2020-09-14 David Malcolm - - * gcc.dg/analyzer/rhbz1878600.c: New test. - -2020-09-14 David Malcolm - - * gcc.dg/analyzer/pr97029.c: New test. - -2020-09-14 Eric Botcazou - - * gnat.dg/thunk1.adb: New test. - * gnat.dg/thunk1_pkg1.ads: New helper. - * gnat.dg/thunk1_pkg2.ads: Likewise. - * gnat.dg/thunk1_pkg2.adb: Likewise. - -2020-09-12 Iain Buclaw - - PR d/97002 - * gdc.dg/pr97002.d: New test. - -2020-09-11 Nathan Sidwell - - * g++.dg/concepts/local-extern.C: New file. - -2020-09-11 Will Schmidt - - * gcc.target/powerpc/pr96139-a.c: Specify -mvsx option and update the - dg-require stanza to match. - * gcc.target/powerpc/pr96139-b.c: Same. - * gcc.target/powerpc/pr96139-c.c: Specify -maltivec option and update - the dg-require stanza to match. - -2020-09-11 Sunil K Pandey - - PR target/97018 - * gcc.target/i386/l_fma_double_1.c: Add option -mno-avx512f. - * gcc.target/i386/l_fma_double_2.c: Likewise. - * gcc.target/i386/l_fma_double_3.c: Likewise. - * gcc.target/i386/l_fma_double_4.c: Likewise. - * gcc.target/i386/l_fma_double_5.c: Likewise. - * gcc.target/i386/l_fma_double_6.c: Likewise. - * gcc.target/i386/l_fma_float_1.c: Likewise. - * gcc.target/i386/l_fma_float_2.c: Likewise. - * gcc.target/i386/l_fma_float_3.c: Likewise. - * gcc.target/i386/l_fma_float_4.c: Likewise. - * gcc.target/i386/l_fma_float_5.c: Likewise. - * gcc.target/i386/l_fma_float_6.c: Likewise. - -2020-09-11 Martin Sebor - - PR middle-end/96903 - * gcc.dg/Wstringop-overflow-42.c:: Add comment. - * gcc.dg/Wstringop-overflow-43.c: New test. - -2020-09-11 Nathan Sidwell - - * obj-c++.dg/syntax-error-9.mm: Adjust expected errors. - -2020-09-11 Andrew Stubbs - - * gcc.dg/gimplefe-44.c: Require exceptions. - -2020-09-11 Andrea Corallo - - * jit.dg/all-non-failing-tests.h: Add test-blob.c. - * jit.dg/test-global-set-initializer.c: New testcase. - -2020-09-11 Eric Botcazou - - * gnat.dg/pack27.adb: New test. - * gnat.dg/pack27_pkg.ads: New helper. - -2020-09-11 Eric Botcazou - - * gnat.dg/specs/discr7.ads: New test. - -2020-09-11 Tom de Vries - - * gcc.target/nvptx/int128.c: New test. - -2020-09-11 David Malcolm - - PR analyzer/96798 - * gcc.dg/analyzer/memcpy-1.c: New test. - * gcc.dg/analyzer/strcpy-1.c: New test. - -2020-09-10 Alex Coplan - - * gcc.target/aarch64/acle/armv8-r.c: New test. - -2020-09-10 Iain Buclaw - - * gdc.dg/Waddress.d: New test. - * gdc.dg/Wcastresult1.d: New test. - * gdc.dg/Wcastresult2.d: New test. - -2020-09-10 Eric Botcazou - - * gnat.dg/specs/size_clause5.ads: New test. - -2020-09-10 Eric Botcazou - - * gnat.dg/discr59.adb: New test. - * gnat.dg/discr59_pkg1.ads: New helper. - * gnat.dg/discr59_pkg2.ads: Likewise. - -2020-09-10 Jakub Jelinek - - PR target/96939 - * gcc.target/arm/lto/pr96939_0.c: New test. - * gcc.target/arm/lto/pr96939_1.c: New file. - -2020-09-10 Tom de Vries - - * gcc.dg/analyzer/vla-1.c: Add require-effective-target alloca. - -2020-09-10 Richard Biener - - PR tree-optimization/96043 - * gcc.dg/vect/costmodel/x86_64/costmodel-pr69297.c: Adjust. - -2020-09-09 Marek Polacek - - PR c++/77841 - * g++.old-deja/g++.ext/arrnew2.C: Expect the error only in C++17 - and less. - * g++.old-deja/g++.robertl/eb58.C: Adjust dg-error. - * g++.old-deja/g++.robertl/eb63.C: Expect the error only in C++17 - and less. - * g++.dg/cpp2a/new-array5.C: New test. - * g++.dg/cpp2a/paren-init36.C: New test. - * g++.dg/cpp2a/paren-init37.C: New test. - * g++.dg/pr84729.C: Adjust dg-error. - -2020-09-09 Marek Polacek - - PR c++/95164 - * g++.dg/cpp0x/initlist123.C: New test. - -2020-09-09 David Malcolm - - PR analyzer/94355 - * g++.dg/analyzer/new-1.C: New test. - * g++.dg/analyzer/new-vs-malloc.C: New test. - -2020-09-09 Marek Polacek - - * g++.dg/warn/Wnonnull6.C: Use target c++14. - -2020-09-09 Marek Polacek - - * g++.dg/cpp0x/auto-96647.C: Moved to... - * g++.dg/cpp1y/auto-96647.C: ...here. Use target c++14. - -2020-09-09 H.J. Lu - - PR target/96955 - * gcc.target/i386/builtin_thread_pointer.c: Update scan-assembler - for x32. - -2020-09-09 Patrick Palka - - PR c++/96647 - * g++.dg/cpp0x/auto-96647.C: New test. - * g++.dg/cpp0x/error9.C: New test. - * g++.dg/cpp2a/concepts-fn6.C: New test. - -2020-09-09 Richard Biener - - * gcc.dg/vect/vect-live-6.c: New testcase. - -2020-09-09 Tobias Burnus - - * gfortran.dg/gomp/combined-if.f90: Update scan-tree-dump-times for - 'omp simd.*if' for nvptx even more. - -2020-09-09 Richard Biener - - * gcc.dg/vect/vect-cond-13.c: New testcase. - * gcc.target/i386/pr87007-4.c: Adjust. - * gcc.target/i386/pr87007-5.c: Likewise. - -2020-09-09 liuhongt - - * gcc.target/i386/builtin_thread_pointer.c: New test. - -2020-09-09 Tobias Burnus - - PR fortran/95109 - PR fortran/94690 - * gfortran.dg/gomp/combined-if.f90: Update scan-tree-dump-times for - 'omp simd.*if'. - * gfortran.dg/gomp/openmp-simd-5.f90: New test. - -2020-09-08 David Malcolm - - PR analyzer/96949 - * gfortran.dg/analyzer/pr96949.f90: New test. - -2020-09-08 Aldy Hernandez - - PR tree-optimization/96967 - * gcc.dg/tree-ssa/pr96967.c: New file. - -2020-09-08 Jozef Lawrynowicz - - * gcc.target/msp430/mcpu-is-430.c: New test. - * gcc.target/msp430/mcpu-is-430x.c: New test. - * gcc.target/msp430/mcpu-is-430xv2.c: New test. - -2020-09-07 Harald Anlauf - - * gfortran.dg/pr96711.f90: New test. - -2020-09-07 Richard Sandiford - - PR rtl-optimization/96796 - * gcc.c-torture/compile/pr96796.c: New test. - -2020-09-07 Jozef Lawrynowicz - - * gcc.target/msp430/430x-default-isa.c: New test. - -2020-09-07 Iain Sandoe - - * gcc.dg/pubtypes-2.c: Amend Pub Info Length. - * gcc.dg/pubtypes-3.c: Likewise. - * gcc.dg/pubtypes-4.c: Likewise. - -2020-09-07 Alex Coplan - - * gcc.target/aarch64/adds3.c: Fix test w.r.t. new syntax. - * gcc.target/aarch64/cmp.c: Likewise. - * gcc.target/aarch64/subs3.c: Likewise. - * gcc.target/aarch64/subsp.c: Likewise. - * gcc.target/aarch64/extend-syntax.c: New test. - -2020-09-07 Tobias Burnus - - PR fortran/96896 - * gfortran.dg/ptr_func_assign_4.f08: Update dg-error. - * gfortran.dg/ptr-func-3.f90: New test. - -2020-09-07 liuhongt - - * gcc.dg/vect/slp-46.c: Add --param vect-epilogues-nomask=0 to - void backend interference. - -2020-09-07 Richard Biener - - * gcc.dg/vect/bb-slp-46.c: New testcase. - * gcc.dg/vect/bb-slp-47.c: Likewise. - * gcc.dg/vect/bb-slp-32.c: Adjust. - -2020-09-07 liuhongt - - * gcc.target/i386/pr92658-avx512bw-trunc.c: Add - -mprefer-vector-width=512 to avoid impact of different default - tune which gcc is built with. - -2020-09-06 Francois-Xavier Coudert - - * gfortran.dg/coarray_fail_st.f90: Adjust test. - -2020-09-04 Iain Buclaw - - PR d/96924 - * gdc.dg/simd13927b.d: Removed. - * gdc.dg/pr96924.d: New test. - -2020-09-04 Richard Biener - - PR tree-optimization/96698 - PR tree-optimization/96920 - * gfortran.dg/vect/pr96920.f90: New testcase. - * gcc.dg/vect/pr96920.c: Likewise. - -2020-09-04 Christophe Lyon - - PR target/96769 - * gcc.target/arm/pure-code/pr96769.c: New test. - -2020-09-04 Richard Biener - - PR tree-optimization/96931 - * gcc.dg/pr96931.c: New testcase. - -2020-09-04 David Faust - - * gcc.target/bpf/xbpf-indirect-call-1.c: New test. - -2020-09-04 Kewen Lin - - * gcc.target/powerpc/pr92398.p9+.c: Replace p9+ with has_arch_pwr9. - * gcc.target/powerpc/pr92398.p9-.c: Replace p9+ with has_arch_pwr9, - and replace p8 with has_arch_pwr8 && !has_arch_pwr9. - * lib/target-supports.exp (check_effective_target_p8): Remove. - (check_effective_target_p9+): Remove. - -2020-09-03 Martin Jambor - - PR tree-optimization/96820 - * gcc.dg/tree-ssa/pr96820.c: New test. - -2020-09-03 Will Schmidt - - * gcc.target/powerpc/pr96139-a.c: New test. - * gcc.target/powerpc/pr96139-b.c: New test. - * gcc.target/powerpc/pr96139-c.c: New test. - -2020-09-03 Harald Anlauf - - * gfortran.dg/iall_masked.f90: New test. - -2020-09-03 Marek Polacek - - PR c++/92812 - * g++.dg/cpp0x/constexpr-array23.C: Adjust dg-error. - * g++.dg/cpp0x/initlist69.C: Likewise. - * g++.dg/diagnostic/mem-init1.C: Likewise. - * g++.dg/init/array28.C: Likewise. - * g++.dg/cpp2a/paren-init33.C: New test. - * g++.dg/cpp2a/paren-init34.C: New test. - * g++.dg/cpp2a/paren-init35.C: New test. - * g++.old-deja/g++.brendan/crash60.C: Adjust dg-error. - * g++.old-deja/g++.law/init10.C: Likewise. - * g++.old-deja/g++.other/array3.C: Likewise. - -2020-09-03 Jakub Jelinek - - PR c++/96862 - * g++.dg/cpp1z/constexpr-96862.C: New test. - -2020-09-03 Hongtao Liu - - PR target/87767 - * gcc.target/i386/avx2-broadcast-pr87767-1.c: New test. - * gcc.target/i386/avx512f-broadcast-pr87767-1.c: New test. - * gcc.target/i386/avx512f-broadcast-pr87767-2.c: New test. - * gcc.target/i386/avx512f-broadcast-pr87767-3.c: New test. - * gcc.target/i386/avx512f-broadcast-pr87767-4.c: New test. - * gcc.target/i386/avx512f-broadcast-pr87767-5.c: New test. - * gcc.target/i386/avx512f-broadcast-pr87767-6.c: New test. - * gcc.target/i386/avx512f-broadcast-pr87767-7.c: New test. - * gcc.target/i386/avx512vl-broadcast-pr87767-1.c: New test. - * gcc.target/i386/avx512vl-broadcast-pr87767-1.c: New test. - * gcc.target/i386/avx512vl-broadcast-pr87767-2.c: New test. - * gcc.target/i386/avx512vl-broadcast-pr87767-3.c: New test. - * gcc.target/i386/avx512vl-broadcast-pr87767-4.c: New test. - * gcc.target/i386/avx512vl-broadcast-pr87767-5.c: New test. - * gcc.target/i386/avx512vl-broadcast-pr87767-6.c: New test. - -2020-09-03 liuhongt - - PR target/96246 - PR target/96855 - PR target/96856 - PR target/96857 - * g++.target/i386/avx512bw-pr96246-2.C: Add runtime check for - AVX512BW. - * g++.target/i386/avx512vl-pr96246-2.C: Add runtime check for - AVX512BW and AVX512VL - * g++.target/i386/avx512f-helper.h: New header. - * gcc.target/i386/pr92658-avx512f.c: Add - -mprefer-vector-width=512 to avoid impact of different default - mtune which gcc is built with. - * gcc.target/i386/avx512bw-pr95488-1.c: Ditto. - * gcc.target/i386/pr92645-4.c: Add -mno-avx512f to avoid - impact of different default march which gcc is built with. - -2020-09-02 Iain Buclaw - - PR d/96869 - * gdc.dg/simd.d: Removed. - * gdc.dg/cast1.d: New test. - * gdc.dg/gdc213.d: Compile with target vect_sizes_16B_8B. - * gdc.dg/gdc284.d: Likewise. - * gdc.dg/gdc67.d: Likewise. - * gdc.dg/pr96869.d: New test. - * gdc.dg/simd1.d: New test. - * gdc.dg/simd10447.d: New test. - * gdc.dg/simd12776.d: New test. - * gdc.dg/simd13841.d: New test. - * gdc.dg/simd13927.d: New test. - * gdc.dg/simd15123.d: New test. - * gdc.dg/simd15144.d: New test. - * gdc.dg/simd16087.d: New test. - * gdc.dg/simd16697.d: New test. - * gdc.dg/simd17237.d: New test. - * gdc.dg/simd17695.d: New test. - * gdc.dg/simd17720a.d: New test. - * gdc.dg/simd17720b.d: New test. - * gdc.dg/simd19224.d: New test. - * gdc.dg/simd19627.d: New test. - * gdc.dg/simd19628.d: New test. - * gdc.dg/simd19629.d: New test. - * gdc.dg/simd19630.d: New test. - * gdc.dg/simd2a.d: New test. - * gdc.dg/simd2b.d: New test. - * gdc.dg/simd2c.d: New test. - * gdc.dg/simd2d.d: New test. - * gdc.dg/simd2e.d: New test. - * gdc.dg/simd2f.d: New test. - * gdc.dg/simd2g.d: New test. - * gdc.dg/simd2h.d: New test. - * gdc.dg/simd2i.d: New test. - * gdc.dg/simd2j.d: New test. - * gdc.dg/simd7951.d: New test. - * gdc.dg/torture/array2.d: New test. - * gdc.dg/torture/array3.d: New test. - * gdc.dg/torture/simd16488a.d: New test. - * gdc.dg/torture/simd16488b.d: New test. - * gdc.dg/torture/simd16703.d: New test. - * gdc.dg/torture/simd19223.d: New test. - * gdc.dg/torture/simd19607.d: New test. - * gdc.dg/torture/simd3.d: New test. - * gdc.dg/torture/simd4.d: New test. - * gdc.dg/torture/simd7411.d: New test. - * gdc.dg/torture/simd7413a.d: New test. - * gdc.dg/torture/simd7413b.d: New test. - * gdc.dg/torture/simd7414.d: New test. - * gdc.dg/torture/simd9200.d: New test. - * gdc.dg/torture/simd9304.d: New test. - * gdc.dg/torture/simd9449.d: New test. - * gdc.dg/torture/simd9910.d: New test. - * gdc.dg/simd13927b.d: New file. - -2020-09-02 Iain Buclaw - - * lib/gdc-utils.exp (gdc-convert-test): Handle LINK directive. - Set PERMUTE_ARGS as DEFAULT_DFLAGS only for runnable tests. - (gdc-do-test): Set default action of compilable tests to compile. - Test SHARED_OPTION on runnable_cxx tests. - -2020-09-02 Iain Buclaw - - * gdc.dg/dg.exp: Remove torture options. - * gdc.dg/gdc115.d: Move test to gdc.dg/torture. - * gdc.dg/gdc131.d: Likewise. - * gdc.dg/gdc141.d: Likewise. - * gdc.dg/gdc17.d: Likewise. - * gdc.dg/gdc171.d: Likewise. - * gdc.dg/gdc179.d: Likewise. - * gdc.dg/gdc186.d: Likewise. - * gdc.dg/gdc187.d: Likewise. - * gdc.dg/gdc191.d: Likewise. - * gdc.dg/gdc198.d: Likewise. - * gdc.dg/gdc200.d: Likewise. - * gdc.dg/gdc210.d: Likewise. - * gdc.dg/gdc240.d: Likewise. - * gdc.dg/gdc242b.d: Likewise. - * gdc.dg/gdc248.d: Likewise. - * gdc.dg/gdc250.d: Likewise. - * gdc.dg/gdc273.d: Likewise. - * gdc.dg/gdc283.d: Likewise. - * gdc.dg/gdc285.d: Likewise. - * gdc.dg/gdc286.d: Likewise. - * gdc.dg/gdc309.d: Likewise. - * gdc.dg/gdc35.d: Likewise. - * gdc.dg/gdc36.d: Likewise. - * gdc.dg/gdc51.d: Likewise. - * gdc.dg/gdc57.d: Likewise. - * gdc.dg/gdc66.d: Likewise. - * gdc.dg/imports/gdc36.d: Likewise. - * gdc.dg/init1.d: Likewise. - * gdc.dg/pr92309.d: Likewise. - * gdc.dg/pr94424.d: Likewise. - * gdc.dg/pr94777b.d: Likewise. - * gdc.dg/pr96152.d: Likewise. - * gdc.dg/pr96153.d: Likewise. - * gdc.dg/pr96156.d: Likewise. - * gdc.dg/pr96157a.d: Likewise. - * gdc.dg/torture/torture.exp: New file. - * gdc.dg/torture/gdc115.d: New file. - * gdc.dg/torture/gdc131.d: New file. - * gdc.dg/torture/gdc141.d: New file. - * gdc.dg/torture/gdc17.d: New file. - * gdc.dg/torture/gdc171.d: New file. - * gdc.dg/torture/gdc179.d: New file. - * gdc.dg/torture/gdc186.d: New file. - * gdc.dg/torture/gdc187.d: New file. - * gdc.dg/torture/gdc191.d: New file. - * gdc.dg/torture/gdc198.d: New file. - * gdc.dg/torture/gdc200.d: New file. - * gdc.dg/torture/gdc210.d: New file. - * gdc.dg/torture/gdc240.d: New file. - * gdc.dg/torture/gdc242b.d: New file. - * gdc.dg/torture/gdc248.d: New file. - * gdc.dg/torture/gdc250.d: New file. - * gdc.dg/torture/gdc273.d: New file. - * gdc.dg/torture/gdc283.d: New file. - * gdc.dg/torture/gdc285.d: New file. - * gdc.dg/torture/gdc286.d: New file. - * gdc.dg/torture/gdc309.d: New file. - * gdc.dg/torture/gdc35.d: New file. - * gdc.dg/torture/gdc36.d: New file. - * gdc.dg/torture/gdc51.d: New file. - * gdc.dg/torture/gdc57.d: New file. - * gdc.dg/torture/gdc66.d: New file. - * gdc.dg/torture/imports/gdc36.d: New file. - * gdc.dg/torture/init1.d: New file. - * gdc.dg/torture/pr92309.d: New file. - * gdc.dg/torture/pr94424.d: New file. - * gdc.dg/torture/pr94777b.d: New file. - * gdc.dg/torture/pr96152.d: New file. - * gdc.dg/torture/pr96153.d: New file. - * gdc.dg/torture/pr96156.d: New file. - * gdc.dg/torture/pr96157a.d: New file. - -2020-09-02 Jonathan Wakely - - PR c++/60304 - * g++.dg/warn/Wconversion-null-5.C: New test. - -2020-09-02 Jonathan Wakely - - * g++.old-deja/g++.abi/cxa_vec.C: Include for - std::set_terminate. - -2020-09-02 Jozef Lawrynowicz - - * gcc.dg/pr55940.c: Skip for msp430 unless -mlarge is specified. - -2020-09-02 Jakub Jelinek - - PR fortran/96859 - * gfortran.dg/pr96859.f90: New test. - -2020-09-01 Martin Sebor - - * gcc.dg/Wstringop-overflow.c: Remove xfails. - * gcc.dg/Wstringop-overflow-42.c: New test. - * gcc.dg/Wstringop-overread-4.c: New test. - -2020-09-01 Marek Polacek - - PR c++/77841 - * g++.dg/cpp0x/initlist-new4.C: New test. - -2020-09-01 Peter Bergner - - PR target/96808 - * gcc.target/powerpc/pr96808.c: New test. - -2020-09-01 David Malcolm - - PR analyzer/96792 - * gcc.dg/analyzer/pr96792.c: New test. - -2020-09-01 Steven G. Kargl - - PR fortran/95398 - * gfortran.dg/pr95398.f90: New test. - -2020-09-01 Jakub Jelinek - - PR c++/96867 - * c-c++-common/gomp/pr96867.c: New test. - -2020-09-01 Kewen Lin - - * lib/target-supports.exp - (check_effective_target_vect_len_load_store): Call check function - check_effective_target_has_arch_pwr9. - -2020-08-31 David Malcolm - - PR analyzer/96798 - * gcc.dg/analyzer/memset-1.c (test_5a): New. - -2020-08-31 David Malcolm - - PR analyzer/96860 - * gcc.dg/analyzer/pr96860-1.c: New test. - * gcc.dg/analyzer/pr96860-2.c: New test. - -2020-08-31 Marek Polacek - Jason Merrill - - PR c++/93529 - * g++.dg/cpp0x/sfinae4.C: Adjust expected result after P1009. - * g++.dg/cpp2a/new-array1.C: New test. - * g++.dg/cpp2a/new-array2.C: New test. - * g++.dg/cpp2a/new-array3.C: New test. - * g++.dg/cpp2a/new-array4.C: New test. - -2020-08-31 David Malcolm - - PR analyzer/96763 - * g++.dg/analyzer/pr96763.C: New test. - -2020-08-31 David Malcolm - - PR analyzer/96764 - * gcc.dg/analyzer/pr96764.c: New test. - -2020-08-31 Aldy Hernandez - - PR tree-optimization/96818 - * g++.dg/pr96818.C: New file. - * gcc.dg/pr96818.c: New file. - -2020-08-31 Richard Biener - - PR tree-optimization/96854 - * gcc.dg/vect/pr96854.c: New testcase. - -2020-08-31 Christophe Lyon - - * gcc.target/aarch64/strcmpopt_6.c: Suppress -Wstringop-overread. - -2020-08-31 liuhongt - - * gcc.target/i386/avx512f-pr96551-1.c: New test. - * gcc.target/i386/avx512f-pr96551-2.c: New test. - -2020-08-31 Feng Xue - - PR ipa/96806 - * g++.dg/ipa/pr96806.C: New test. - -2020-08-31 Kewen Lin - - * gcc.dg/vect/bb-slp-pr69907.c: Adjust for partial vector usages. - * gcc.dg/vect/slp-3.c: Likewise. - * gcc.dg/vect/slp-multitypes-11.c: Likewise. - * gcc.dg/vect/slp-perm-1.c: Likewise. - * gcc.dg/vect/slp-perm-5.c: Likewise. - * gcc.dg/vect/slp-perm-6.c: Likewise. - * gcc.dg/vect/slp-perm-7.c: Likewise. - * gcc.dg/vect/slp-perm-8.c: Likewise. - * gcc.dg/vect/slp-perm-9.c: Likewise. - * gcc.dg/vect/vect-version-2.c: Likewise. - * lib/target-supports.exp (check_vect_partial_vector_usage): New - function. - (check_effective_target_vect_len_load_store): Likewise. - (check_effective_target_vect_partial_vectors_usage_1): Likewise. - (check_effective_target_vect_partial_vectors_usage_2): Likewise. - (check_effective_target_vect_partial_vectors): Likewise. - -2020-08-30 Martin Sebor - - * gcc.dg/Wstringop-overread-3.c: New test. - -2020-08-30 José Rui Faustino de Sousa - - PR fortran/96728 - * gfortran.dg/PR96728.f90: New test. - -2020-08-30 José Rui Faustino de Sousa - - PR fortran/96727 - * gfortran.dg/PR96727.f90: New test. - -2020-08-30 José Rui Faustino de Sousa - - PR fortran/96726 - * gfortran.dg/PR96726.f90: New test. - -2020-08-30 Steve Kargl - - * gfortran.dg/PR95352.f90: New test. - -2020-08-30 José Rui Faustino de Sousa - - PR fortran/94110 - * gfortran.dg/PR94110.f90: New test. - -2020-08-28 Martin Sebor - - * c-c++-common/Warray-bounds-7.c: Adjust expected warnings. - * c-c++-common/Wrestrict.c: Remove xfail. - * c-c++-common/attr-nonstring-3.c: Adjust text of expected warnings. - * c-c++-common/attr-nonstring-6.c: Suppress -Wstringop-overread - instead of -Wstringop-overflow. - * c-c++-common/attr-nonstring-8.c: Adjust text of expected warnings. - * g++.dg/torture/Wsizeof-pointer-memaccess1.C: Also suppress - -Wstringop-overread. - * g++.dg/torture/Wsizeof-pointer-memaccess2.C: Same. - * gcc.dg/Warray-bounds-39.c: Adjust expected warnings. - * gcc.dg/Warray-bounds-40.c: Also suppress -Wstringop-overread. - * gcc.dg/Warray-bounds-58.c: Remove xfail. Also expect - -Wstringop-overread. Adjust text of expected warnings. - * gcc.dg/Wsizeof-pointer-memaccess1.c: Also suppress - -Wstringop-overread. - * gcc.dg/Wstringop-overflow-22.c: Adjust text of expected warnings. - * gcc.dg/Wstringop-overflow-33.c: Expect -Wstringop-overread. - * gcc.dg/Wstringop-overflow-9.c: Expect -Wstringop-overread. - * gcc.dg/attr-nonstring-2.c: Adjust text of expected warnings. - * gcc.dg/attr-nonstring-3.c: Same. - * gcc.dg/attr-nonstring-4.c: Same. - * gcc.dg/attr-nonstring.c: Expect -Wstringop-overread. - * gcc.dg/builtin-stringop-chk-5.c: Adjust comment. - * gcc.dg/builtin-stringop-chk-8.c: Enable -Wstringop-overread instead - of -Wstringop-overflow. - * gcc.dg/pr78902.c: Also expect -Wstringop-overread. - * gcc.dg/pr79214.c: Adjust text of expected warnings. - * gcc.dg/strcmpopt_10.c: Suppress valid -Wno-stringop-overread. - * gcc.dg/strlenopt-57.c: Also expect -Wstringop-overread. - * gcc.dg/torture/Wsizeof-pointer-memaccess1.c: Also suppress valid - -Wno-stringop-overread. - * gcc.dg/tree-ssa/builtins-folding-gimple-ub.c: Same. - * gcc.dg/uninit-33.c: Same. - * gcc.dg/warn-strnlen-no-nul-2.c: Adjust text of expected warning. - * gcc.dg/warn-strnlen-no-nul.c: Same. - * gcc.target/i386/strcmpopt_6.c: Suppress -Wstringop-overread. - * gcc.dg/Wstringop-overread-2.c: New test. - * gcc.dg/Wstringop-overread.c: New test. - -2020-08-28 Martin Sebor - - PR c/96596 - * gcc.dg/Wbuiltin-declaration-mismatch-16.c: New test. - -2020-08-28 Tobias Burnus - - PR fortran/94672 - * gfortran.dg/optional_assumed_charlen_2.f90: New test. - -2020-08-28 Przemyslaw Wirkus - - PR target/96357 - * gcc.target/aarch64/sve/pr96357.c: New test. - -2020-08-28 Alex Coplan - - * gcc.target/aarch64/mem-shift-canonical.c: Skip on ILP32. - -2020-08-28 Paul Thomas - - PR fortran/96624 - * gfortran.dg/reshape_8.f90 : New test. - -2020-08-28 Christophe Lyon - - * gcc.dg/pr96579.c: Compile only with target dfp. - -2020-08-28 Uros Bizjak - - * gcc.target/i386/double_mask_reg-1.c: New test. - -2020-08-27 John David Anglin - - * gcc.target/hppa/shadd-2.c: Adjust times to 4. - -2020-08-27 Jakub Jelinek - - PR target/65146 - * gcc.target/i386/pr65146.c: New test. - -2020-08-27 Bill Schmidt - - PR target/96787 - * gcc.target/powerpc/pr96787-1.c: New. - * gcc.target/powerpc/pr96787-2.c: New. - -2020-08-27 Mark Eggleston - - PR fortran/95882 - * gfortran.dg/pr95882_1.f90: New test. - * gfortran.dg/pr95882_2.f90: New test. - * gfortran.dg/pr95882_3.f90: New test. - * gfortran.dg/pr95882_4.f90: New test. - * gfortran.dg/pr95882_5.f90: New test. - -2020-08-27 Richard Biener - - PR tree-optimization/96522 - * gcc.dg/torture/pr96522.c: New testcase. - -2020-08-27 Richard Biener - - * gcc.dg/tree-ssa/loop-19.c: Adjust. - * gcc.dg/tree-ssa/loop-2.c: Likewise. - * gcc.dg/tree-ssa/loop-3.c: Likewise. - -2020-08-27 Alex Coplan - - * gcc.target/aarch64/mem-shift-canonical.c: New test. - -2020-08-27 Richard Biener - - PR tree-optimization/96579 - * gcc.dg/pr96579.c: New testcase. - -2020-08-27 Richard Biener - - PR tree-optimization/96565 - * gcc.dg/tree-ssa/ssa-dse-40.c: New testcase. - * gcc.dg/builtin-object-size-4.c: Adjust. - -2020-08-26 Jeff Law - - * gcc.target/i386/387-7.c: Add dg-require-effective-target c99_runtime. - * gcc.target/i386/387-9.c: Likewise. - * g++.target/i386/avx512bw-pr96246-1.C: Likewise. - * gcc.target/i386/avx512f-rint-sfix-vec-2.c: Likewise. - * gcc.target/i386/avx512f-rintf-sfix-vec-2.c: Likewise. - * g++.target/i386/avx512vl-pr96246-1.C: Likewise. - * gcc.target/i386/pr61403.c: Likewise. - * gcc.target/i386/sse4_1-ceil-sfix-vec.c: Likewise. - * gcc.target/i386/sse4_1-ceilf-sfix-vec.c: Likewise. - * gcc.target/i386/sse4_1-floor-sfix-vec.c: Likewise. - * gcc.target/i386/sse4_1-floorf-sfix-vec.c: Likewise. - * gcc.target/i386/sse4_1-rint-sfix-vec.c: Likewise. - * gcc.target/i386/sse4_1-rintf-sfix-vec.c: Likewise. - * gcc.target/i386/sse4_1-round-sfix-vec.c: Likewise. - * gcc.target/i386/sse4_1-roundf-sfix-vec.c: Likewise. - -2020-08-26 H.J. Lu - - PR target/96802 - * gcc.target/i386/pr96802-1.c: New test. - * gcc.target/i386/pr96802-2.c: Likewise. - -2020-08-26 Jozef Lawrynowicz - - * gcc.target/msp430/emulate-srli.c: Fix expected assembler text. - * gcc.target/msp430/max-inline-shift-430-no-opt.c: New test. - * gcc.target/msp430/max-inline-shift-430.c: New test. - * gcc.target/msp430/max-inline-shift-430x.c: New test. - -2020-08-26 Richard Biener - - PR tree-optimization/96698 - * gcc.dg/vect/pr96698.c: New testcase. - -2020-08-26 Richard Biener - - PR tree-optimization/96783 - * gcc.dg/vect/pr96783-1.c: New testcase. - * gcc.dg/vect/pr96783-2.c: Likewise. - -2020-08-26 Nathan Sidwell - - * g++.dg/lookup/operator-1.C: New. - * g++.dg/lookup/operator-2.C: New. - -2020-08-26 Qian Jianhua - - * gcc.target/aarch64/insv_1.c: Add '#' in scan-assembler - -2020-08-26 Iain Buclaw - - PR d/96156 - * gdc.dg/pr96156.d: New test. - -2020-08-26 Iain Buclaw - - PR d/96153 - * gdc.dg/pr96153.d: Add new tests. - -2020-08-26 Iain Buclaw - - PR d/96157 - * gdc.dg/pr96157a.d: New test. - * gdc.dg/pr96157b.d: New test. - -2020-08-26 Iain Buclaw - - * lib/gdc-utils.exp (gdc-convert-test): Clear PERMUTE_ARGS for - fail_compilation tests if not set by test file. - -2020-08-26 Martin Liska - - * lib/target-supports-dg.exp: Add dg-require-symver. - * lib/target-supports.exp: Likewise. - * gcc.dg/ipa/symver1.c: New test. - -2020-08-26 Tobias Burnus - - * gfortran.dg/gomp/declare-target-4.f90: New test. - * gfortran.dg/gomp/declare-target-5.f90: New test. - -2020-08-26 liuhongt - - PR target/96667 - * gcc.target/i386/avx512bw-pr96246-1.c: Moved to... - * g++.target/i386/avx512bw-pr96246-1.C: ...here. - * gcc.target/i386/avx512bw-pr96246-2.c: Moved to... - * g++.target/i386/avx512bw-pr96246-2.C: ...here. - * gcc.target/i386/avx512vl-pr96246-1.c: Moved to... - * g++.target/i386/avx512vl-pr96246-1.C: ...here. - * gcc.target/i386/avx512vl-pr96246-2.c: Moved to... - * g++.target/i386/avx512vl-pr96246-2.C: ...here. - -2020-08-26 David Malcolm - - PR analyzer/94858 - * gcc.dg/analyzer/loop-start-up-to-end-by-1.c: Remove xfail. - * gcc.dg/analyzer/pr94858-1.c: New test. - * gcc.dg/analyzer/pr94858-2.c: New test. - * gcc.dg/analyzer/torture/loop-inc-ptr-2.c: Update expected number - of enodes. - * gcc.dg/analyzer/torture/loop-inc-ptr-3.c: Likewise. - -2020-08-26 David Malcolm - - PR analyzer/96777 - * gcc.dg/analyzer/pr96777.c: New test. - -2020-08-25 H.J. Lu - - PR target/95863 - * gcc.target/i386/pr95863-1.c: New test. - * gcc.target/i386/pr95863-2.c: Likewise. - -2020-08-25 Tobias Burnus - - PR c/96678 - * c-c++-common/gomp/map-4.c: New test. - * c-c++-common/gomp/depend-1.c: Update dg-error. - * c-c++-common/gomp/map-1.c: Likewise. - * c-c++-common/gomp/reduction-1.c: Likewise. - * g++.dg/gomp/depend-1.C: Likewise. - * g++.dg/gomp/depend-2.C: Likewise. - -2020-08-25 Richard Sandiford - - * gcc.target/aarch64/sve/acle/general/attributes_1.c: Rename - __ARM_FEATURE_SVE_VECTOR_OPERATIONS to - __ARM_FEATURE_SVE_VECTOR_OPERATORS. - -2020-08-25 Richard Sandiford - - * g++.target/aarch64/sve/acle/general-c++/attributes_2.C: New test. - * g++.target/aarch64/sve/acle/general-c++/mangle_6.C: Likewise. - * g++.target/aarch64/sve/acle/general-c++/mangle_7.C: Likewise. - * g++.target/aarch64/sve/acle/general-c++/mangle_8.C: Likewise. - * g++.target/aarch64/sve/acle/general-c++/mangle_9.C: Likewise. - * g++.target/aarch64/sve/acle/general-c++/mangle_10.C: Likewise. - * gcc.target/aarch64/sve/acle/general/attributes_7.c: Check the - error messages reported when arm_sve_vector_bits is applied to - SVE tuple types or to existing fixed-length SVE types. - -2020-08-25 Richard Sandiford - - * g++.target/aarch64/sve/acle/general-c++/mangle_1.C: Add a leading - "u" to the mangling of each SVE vector and predicate type. - * g++.target/aarch64/sve/acle/general-c++/mangle_2.C: Likewise. - * g++.target/aarch64/sve/acle/general-c++/mangle_3.C: Likewise. - * g++.target/aarch64/sve/acle/general-c++/mangle_5.C: Likewise. - -2020-08-25 Richard Biener - - PR tree-optimization/96548 - PR tree-optimization/96760 - * gcc.dg/torture/pr96548.c: New testcase. - * gcc.dg/torture/pr96760.c: Likewise. - -2020-08-25 Jakub Jelinek - - PR tree-optimization/96722 - * g++.dg/opt/pr96722.C: New test. - -2020-08-25 Jakub Jelinek - - PR tree-optimization/96758 - * gcc.dg/strcmpopt_12.c: New test. - -2020-08-25 Martin Jambor - - PR tree-optimization/96730 - * gcc.dg/tree-ssa/pr96730.c: New test. - -2020-08-25 Roger Sayle - - PR tree-optimization/21137 - * gcc.dg/pr21137.c: New test. - -2020-08-25 Richard Biener - - PR debug/96690 - * g++.dg/lto/pr96690_0.C: New testcase. - -2020-08-25 Hongtao Liu - - * gcc.target/i386/pr96755.c: New test. - -2020-08-25 Jakub Jelinek - - PR tree-optimization/96715 - * gcc.dg/tree-ssa/copy-sign-3.c: New test. - -2020-08-25 Jakub Jelinek - - PR c++/96721 - * g++.dg/opt/flifetime-dse8.C: New test. - -2020-08-25 Jakub Jelinek - - PR target/95450 - * gcc.target/powerpc/pr95450.c: New test. - -2020-08-25 Jason Merrill - - * g++.dg/other/final8.C: Adjust expected output. - -2020-08-24 Mark Eggleston - - PR fortran/96486 - * gfortran.dg/pr96486.f90: New test. - -2020-08-24 Christophe Lyon - - PR target/94538 - * gcc.target/arm/pure-code/pr94538-1.c: New test. - * gcc.target/arm/pure-code/pr94538-2.c: New test. - -2020-08-24 Martin Liska - - * gcc.dg/vect/bb-slp-38.c: Adjust pattern as now we only process - a single vectorization and now 2 partial. - * gcc.dg/vect/bb-slp-45.c: New test. - -2020-08-24 Hans-Peter Nilsson - - PR target/93372 - * gcc.target/cris/pr93372-47.c: New test. - -2020-08-23 H.J. Lu - - PR target/96744 - * gcc.target/i386/pr96744-1.c: New test. - * gcc.target/i386/pr96744-2.c: Likewise. - * gcc.target/i386/pr96744-3a.c: Likewise. - * gcc.target/i386/pr96744-3b.c: Likewise. - * gcc.target/i386/pr96744-4.c: Likewise. - * gcc.target/i386/pr96744-5.c: Likewise. - * gcc.target/i386/pr96744-6.c: Likewise. - * gcc.target/i386/pr96744-7.c: Likewise. - * gcc.target/i386/pr96744-8a.c: Likewise. - * gcc.target/i386/pr96744-8b.c: Likewise. - * gcc.target/i386/pr96744-9.c: Likewise. - -2020-08-23 Paul Thomas - - PR fortran/92785 - * gfortran.dg/unlimited_polymorphic_31.f03: Change to stop 1. - -2020-08-23 Paul Thomas - - PR fortran/96737 - * gfortran.dg/pr96737.f90: Add option -g. - -2020-08-23 Paul Thomas - - PR fortran/96737 - * gfortran.dg/pr96737.f90: New test. - -2020-08-22 David Malcolm - - PR analyzer/94851 - * gcc.dg/analyzer/pr94851-1.c: New test. - * gcc.dg/analyzer/pr94851-3.c: New test. - * gcc.dg/analyzer/pr94851-4.c: New test. - -2020-08-22 David Malcolm - - * gcc.dg/analyzer/malloc-ipa-8-double-free.c: Drop - -fanalyzer-verbose-state-changes. - -2020-08-21 Hongtao Liu - - * gcc.target/i386/pr96262-1.c: New test. - -2020-08-21 liuhongt - - * gcc.target/i386/bitwise_mask_op-1.c: New test. - * gcc.target/i386/bitwise_mask_op-2.c: New test. - * gcc.target/i386/bitwise_mask_op-3.c: New test. - * gcc.target/i386/avx512bw-pr88465.c: New testcase. - * gcc.target/i386/avx512bw-kunpckwd-1.c: Adjust testcase. - * gcc.target/i386/avx512bw-kunpckwd-3.c: Ditto. - * gcc.target/i386/avx512dq-kmovb-5.c: Ditto. - * gcc.target/i386/avx512f-kmovw-5.c: Ditto. - * gcc.target/i386/pr55342.c: Ditto. - -2020-08-21 liuhongt - - * gcc.target/i386/spill_to_mask-1.c: New tests. - * gcc.target/i386/spill_to_mask-2.c: New tests. - * gcc.target/i386/spill_to_mask-3.c: New tests. - * gcc.target/i386/spill_to_mask-4.c: New tests. - -2020-08-21 David Malcolm - - PR analyzer/95152 - * gcc.dg/analyzer/pr95152-4.c: New test. - * gcc.dg/analyzer/pr95152-5.c: New test. - -2020-08-20 David Malcolm - - PR analyzer/96723 - * g++.dg/analyzer/pr96723.C: New test. - -2020-08-20 Paul Thomas - - PR fortran/96100 - PR fortran/96101 - * gfortran.dg/char_length_23.f90: New test. - -2020-08-20 Joe Ramsay - - PR target/96683 - * gcc.target/arm/mve/intrinsics/vst1q_f16.c: New test. - * gcc.target/arm/mve/intrinsics/vst1q_s16.c: New test. - * gcc.target/arm/mve/intrinsics/vst1q_s8.c: New test. - * gcc.target/arm/mve/intrinsics/vst1q_u16.c: New test. - * gcc.target/arm/mve/intrinsics/vst1q_u8.c: New test. - -2020-08-20 Tobias Burnus - - * gfortran.dg/gomp/pr67500.f90: New file. - -2020-08-20 Christophe Lyon - - * lib/target-supports.exp (arm_soft_ok): Remove arm32 check. - -2020-08-20 Christophe Lyon - - * gcc.target/arm/pure-code/pure-code.exp: Skip for - arm*-*-uclinuxfdpiceabi. Fix missing closing bracket. - -2020-08-20 Mark Eggleston - - PR fortran/96436 - * gfortran.dg/pr96436_1.f90: New test. - * gfortran.dg/pr96436_2.f90: New test. - * gfortran.dg/pr96436_3.f90: New test. - * gfortran.dg/pr96436_4.f90: New test. - * gfortran.dg/pr96436_5.f90: New test. - * gfortran.dg/pr96436_6.f90: New test. - * gfortran.dg/pr96436_7.f90: New test. - * gfortran.dg/pr96436_8.f90: New test. - * gfortran.dg/pr96436_9.f90 - * gfortran.dg/pr96436_10.f90 - -2020-08-20 David Malcolm - - PR analyzer/96713 - * gcc.dg/analyzer/pr96713.c: New test. - -2020-08-19 Jason Merrill - - DR 2369 - * g++.dg/concepts/diagnostic10.C: Adjust expexcted errors. - * g++.dg/concepts/diagnostic13.C: Adjust expexcted errors. - * g++.dg/concepts/diagnostic2.C: Adjust expexcted errors. - * g++.dg/concepts/diagnostic3.C: Adjust expexcted errors. - * g++.dg/concepts/diagnostic4.C: Adjust expexcted errors. - * g++.dg/concepts/diagnostic5.C: Adjust expexcted errors. - * g++.dg/concepts/diagnostic9.C: Adjust expexcted errors. - * g++.dg/concepts/expression2.C: Adjust expexcted errors. - * g++.dg/concepts/fn5.C: Adjust expexcted errors. - * g++.dg/concepts/placeholder5.C: Adjust expexcted errors. - * g++.dg/concepts/pr67595.C: Adjust expexcted errors. - * g++.dg/cpp2a/concepts-pr78752-2.C: Adjust expexcted errors. - * g++.dg/cpp2a/concepts-pr84140.C: Adjust expexcted errors. - * g++.dg/cpp2a/concepts-recursive-sat3.C: Adjust expexcted errors. - * g++.dg/cpp2a/concepts-requires18.C: Adjust expexcted errors. - * g++.dg/cpp2a/concepts-requires19.C: Adjust expexcted errors. - * g++.dg/cpp2a/concepts3.C: Adjust expexcted errors. - * g++.dg/cpp2a/concepts-nondep1.C: New test. - * g++.dg/cpp2a/concepts-nondep1a.C: New test. - -2020-08-19 David Malcolm - - PR analyzer/96643 - * g++.dg/analyzer/pr96643.C: New test. - -2020-08-19 David Malcolm - - PR analyzer/96705 - * gcc.dg/analyzer/pr96705.c: New test. - -2020-08-19 David Malcolm - - PR analyzer/96699 - * gcc.dg/analyzer/pr96699.c: New test. - -2020-08-19 Bill Schmidt - - * gcc.target/powerpc/pcrel-sibcall-1.c: Adjust. - -2020-08-19 Feng Xue - - PR tree-optimization/94234 - * gcc.dg/pr94234-1.c: New test. - -2020-08-19 Peixin Qiao - - * gcc.target/aarch64/mgeneral-regs_7.c: New test. - -2020-08-19 Pat Bernardi - - * gcc.dg/sinatan-2.c: Add dg-require-effective-target c99_runtime. - * gcc.dg/sinhovercosh-1.c: Likewise. - * gcc.dg/tanhbysinh.c: Likewise. - -2020-08-19 Tom de Vries - - PR target/96494 - * lib/target-supports.exp (check_effective_target_sync_int_long): - Return 1 for nvptx. - (check_effective_target_sync_int_long_stack): New proc. - * gcc.dg/pr86314.c: Require effective target sync_int_long_stack. - -2020-08-19 David Malcolm - - PR analyzer/96651 - * gcc.dg/analyzer/pr96651-1.c: New test. - * gcc.dg/analyzer/pr96651-2.c: New test. - -2020-08-19 David Malcolm - - PR analyzer/96648 - * gcc.dg/analyzer/pr96648.c: New test. - -2020-08-18 Peter Bergner - - * gcc.target/powerpc/mma-builtin-3.c: Rename xvcvbf16sp to xvcvbf16spn. - -2020-08-18 Jason Merrill - - PR c++/96199 - * g++.dg/cpp1z/class-deduction-spec1.C: New test. - -2020-08-18 Jason Merrill - - PR c++/96199 - * g++.dg/cpp2a/class-deduction-alias4.C: New test. - -2020-08-18 Harald Anlauf - - * gfortran.dg/minmax_char_3.f90: New test. - * gfortran.dg/min_max_kind.f90: New test. - * gfortran.dg/pr96613.f90: New test. - -2020-08-18 Martin Sebor - - PR middle-end/96665 - PR middle-end/78257 - * gcc.dg/memcmp-5.c: New test. - -2020-08-18 Martin Sebor - - PR tree-optimization/96670 - * gcc.dg/memchr-2.c: New test. - * gcc.dg/memcmp-6.c: New test. - -2020-08-18 Roger Sayle - Zdenek Sojka - - PR rtl-optimization/96298 - * gcc.dg/pr96298.c: New test. - * gcc.target/i386/pr96298.c: New test. - -2020-08-18 Iain Buclaw - - PR d/96301 - * gdc.dg/pr96301a.d: New test. - * gdc.dg/pr96301b.d: New test. - * gdc.dg/pr96301c.d: New test. - -2020-08-18 liuhongt - - * gcc.target/i386/pr96562-1.c: New test. - -2020-08-18 Jakub Jelinek - - PR c/96571 - * gcc.dg/Wunused-var-4.c: New test. - -2020-08-18 liuhongt - - PR target/96574 - * gcc.target/i386/pr92865-1.c: Adjust testcase. - -2020-08-18 David Malcolm - - PR analyzer/96641 - * g++.dg/analyzer/pr96641.C: New test. - -2020-08-17 David Malcolm - - PR analyzer/96644 - * gcc.dg/analyzer/pr96644.c: New test. - -2020-08-17 David Malcolm - - PR analyzer/96639 - * gcc.dg/analyzer/pr96639.c: New test. - -2020-08-17 David Malcolm - - PR analyzer/96642 - * gcc.dg/analyzer/pr96642.c: New test. - -2020-08-17 Uroš Bizjak - - * gcc.target/i386/rdrand-1.c (dg-final): Update scan string. - * gcc.target/i386/rdrand-2.c (dg-final): Ditto. - * gcc.target/i386/rdrand-3.c (dg-final): Ditto. - -2020-08-17 liuhongt - - * gcc.target/i386/endbr_immediate.c: New test. - -2020-08-14 Martin Sebor - - PR middle-end/78257 - * gcc.dg/memchr.c: New test. - * gcc.dg/memcmp-2.c: New test. - * gcc.dg/memcmp-3.c: New test. - * gcc.dg/memcmp-4.c: New test. - -2020-08-14 David Malcolm - - PR analyzer/96611 - * gcc.dg/analyzer/pr96611.c: New test. - -2020-08-14 Jason Merrill - - PR c++/90254 - PR c++/93711 - * g++.dg/cpp1z/aggr-base10.C: New test. - * g++.dg/cpp2a/no_unique_address7.C: New test. - * g++.dg/cpp2a/no_unique_address7a.C: New test. - -2020-08-14 Lewis Hyatt - - * lib/prune.exp: Change TEST_ALWAYS_FLAGS to use -fdiagnostics-plain-output. - * lib/c-compat.exp: Adapt to the prune.exp change. - -2020-08-14 Tom de Vries - - * gcc.dg/torture/pr92088-1.c: Add require-effective-target alloca. - * gcc.dg/torture/pr92088-2.c: Same. - * gcc.dg/torture/pr93124.c: Same. - * gcc.dg/torture/pr94479.c: Same. - * gcc.dg/tree-ssa/builtin-sprintf-warn-22.c: Same. - -2020-08-13 David Malcolm - - PR analyzer/96598 - * gcc.dg/analyzer/pr96598.c: New test. - -2020-08-13 David Malcolm - - PR analyzer/93032 - PR analyzer/93938 - PR analyzer/94011 - PR analyzer/94099 - PR analyzer/94399 - PR analyzer/94458 - PR analyzer/94503 - PR analyzer/94640 - PR analyzer/94688 - PR analyzer/94689 - PR analyzer/94839 - PR analyzer/95026 - PR analyzer/95042 - PR analyzer/95240 - * g++.dg/analyzer/pr93212.C: Add dg-warning for dangling - reference. - * g++.dg/analyzer/pr93950.C: Remove xfail. - * g++.dg/analyzer/pr94011.C: New test. - * g++.dg/analyzer/pr94028.C: Remove leak false positives; mark as - failing on C++98. - * g++.dg/analyzer/pr94503.C: New test. - * g++.dg/analyzer/pr95042.C: New test. - * gcc.dg/analyzer/CVE-2005-1689-dedupe-issue-2.c: New test. - * gcc.dg/analyzer/CVE-2005-1689-dedupe-issue.c: Add xfail. - * gcc.dg/analyzer/CVE-2005-1689-minimal.c: - Include "analyzer-decls.h". - (test_4, test_5, test_6, test_7, test_8): New tests. - * gcc.dg/analyzer/abs-1.c: New test. - * gcc.dg/analyzer/aliasing-1.c: New test. - * gcc.dg/analyzer/aliasing-2.c: New test. - * gcc.dg/analyzer/analyzer-decls.h (__analyzer_describe): New - decl. - (__analyzer_dump_num_heap_regions): Remove. - * gcc.dg/analyzer/attribute-nonnull.c: Add dg-warnings for cases - where NULL is directly used as an argument. - * gcc.dg/analyzer/bzero-1.c: New test. - * gcc.dg/analyzer/casts-1.c: New test. - * gcc.dg/analyzer/casts-2.c: New test. - * gcc.dg/analyzer/compound-assignment-1.c - (test_4): Remove xfail from leak false positive. - (called_by_test_5a): Add "allocated here" expected message. - (called_by_test_5b): Make expected leak message more precise. - * gcc.dg/analyzer/compound-assignment-3.c: Update expected leak - message. - * gcc.dg/analyzer/compound-assignment-4.c: New test. - * gcc.dg/analyzer/compound-assignment-5.c: New test. - * gcc.dg/analyzer/conditionals-notrans.c: Remove xfails. - * gcc.dg/analyzer/data-model-1.c (test_12d): Update expected - results. - (test_13): Remove xfail. - (test_14): Remove xfail. - (test_15): Remove xfail. - (test_16): Remove xfails. Add out-of-bounds access. - (test_16_alt): Remove xfails. - (test_23): Remove xfail. - (test_24): Remove xfail. - (test_25): Remove xfail. - (test_26): Update expected result. Remove xfail. Add xfail. - (test_27): Remove xfails. - (test_29): Add __analyzer_eval pointer comparisons. - (test_41): Generalize expected output for u.ptr comparison with - NULL for targets where this could be known to be false. - (test_42): Remove xfail. - (test_51): Remove xfails. - * gcc.dg/analyzer/data-model-13.c: Update for improvements to - source location and wording of leak message. - * gcc.dg/analyzer/data-model-14.c: Remove -fanalyzer-fine-grained. - (test_1): Update for improvement to expected message. - (test_2): Remove xfail. - * gcc.dg/analyzer/data-model-18.c: Remove xfail. - * gcc.dg/analyzer/data-model-20.c: New test. - * gcc.dg/analyzer/data-model-5.c: Add dg-warning for deref of - NULL. Add xfailing false leak. - * gcc.dg/analyzer/data-model-5b.c: Add xfailing false leak. - * gcc.dg/analyzer/data-model-5c.c: Update xfailing false leak. - * gcc.dg/analyzer/data-model-5d.c: Reimplement. - * gcc.dg/analyzer/data-model-6.c: Delete test. - * gcc.dg/analyzer/data-model-8.c: Remove xfail. - * gcc.dg/analyzer/describe-1.c: New test. - * gcc.dg/analyzer/dot-output.c: Remove xfail. - * gcc.dg/analyzer/explode-1.c: Add expected leak warning. - * gcc.dg/analyzer/explode-2.c: Add expected leak warnings. Mark - double-free warnings as xfail for now. - * gcc.dg/analyzer/feasibility-1.c: New test. - * gcc.dg/analyzer/first-field-1.c: New test. - * gcc.dg/analyzer/first-field-2.c: New test. - * gcc.dg/analyzer/init.c: New test. - * gcc.dg/analyzer/leak-2.c: New test. - * gcc.dg/analyzer/loop-0-up-to-n-by-1-with-iter-obj.c: New test. - * gcc.dg/analyzer/loop-0-up-to-n-by-1.c: New test. - * gcc.dg/analyzer/loop-2a.c: Update expected behavior. - * gcc.dg/analyzer/loop-3.c: Mark use-after-free as xfail. Add - expected warning about deref of unchecked pointer. - * gcc.dg/analyzer/loop-4.c: Remove -fno-analyzer-state-purge. - Update expected behavior. - * gcc.dg/analyzer/loop-n-down-to-1-by-1.c: New test. - * gcc.dg/analyzer/loop-start-down-to-end-by-1.c: New test. - * gcc.dg/analyzer/loop-start-down-to-end-by-step.c: New test. - * gcc.dg/analyzer/loop-start-to-end-by-step.c: New test. - * gcc.dg/analyzer/loop-start-up-to-end-by-1.c: New test. - * gcc.dg/analyzer/loop.c: Remove -fno-analyzer-state-purge. - Update expected behavior. - * gcc.dg/analyzer/malloc-1.c: Remove xfails from leak false - positives. Update expected wording of global_link.m_ptr leak. - (test_49): New test. - * gcc.dg/analyzer/malloc-4.c: Remove leak false positive. Update - expected wording of leak warning. - * gcc.dg/analyzer/malloc-in-loop.c: New test. - * gcc.dg/analyzer/malloc-ipa-8-double-free.c: Update expected path - to show call to wrapped_malloc. - * gcc.dg/analyzer/malloc-ipa-8-unchecked.c: Remove - -fanalyzer-verbose-state-changes. - * gcc.dg/analyzer/malloc-paths-9.c: Remove comment about duplicate - warnings. Remove duplicate use-after-free paths. - * gcc.dg/analyzer/malloc-vs-local-1a.c: Add dg-warning for deref - of unchecked pointer. Update expected number of enodes. - * gcc.dg/analyzer/malloc-vs-local-2.c: Likewise. - * gcc.dg/analyzer/malloc-vs-local-3.c: Add dg-warning for deref of - unchecked pointer. Update expected number of enodes. Avoid - overspecifying the leak message. - * gcc.dg/analyzer/memset-1.c: New test. - * gcc.dg/analyzer/paths-3.c: Update expected number of enodes. - * gcc.dg/analyzer/paths-4.c: Likewise. - * gcc.dg/analyzer/paths-6.c: Likewise. - * gcc.dg/analyzer/paths-7.c: Likewise. - * gcc.dg/analyzer/pr93032-mztools-simplified.c: New test. - * gcc.dg/analyzer/pr93032-mztools.c: New test. - * gcc.dg/analyzer/pr93382.c: Mark taint tests as failing. - * gcc.dg/analyzer/pr93938.c: New test. - * gcc.dg/analyzer/pr94099.c: Replace uninit dg-warning with - dg-warning for NULL dereference. - * gcc.dg/analyzer/pr94399.c: New test. - * gcc.dg/analyzer/pr94447.c: Add dg-warning for NULL dereference. - * gcc.dg/analyzer/pr94458.c: New test. - * gcc.dg/analyzer/pr94640.c: New test. - * gcc.dg/analyzer/pr94688.c: New test. - * gcc.dg/analyzer/pr94689.c: New test. - * gcc.dg/analyzer/pr94839.c: New test. - * gcc.dg/analyzer/pr95026.c: New test. - * gcc.dg/analyzer/pr95240.c: New test. - * gcc.dg/analyzer/refcounting-1.c: New test. - * gcc.dg/analyzer/single-field.c: New test. - * gcc.dg/analyzer/stale-frame-1.c: New test. - * gcc.dg/analyzer/symbolic-1.c: New test. - * gcc.dg/analyzer/symbolic-2.c: New test. - * gcc.dg/analyzer/symbolic-3.c: New test. - * gcc.dg/analyzer/symbolic-4.c: New test. - * gcc.dg/analyzer/symbolic-5.c: New test. - * gcc.dg/analyzer/symbolic-6.c: New test. - * gcc.dg/analyzer/taint-1.c: Mark the "gets unchecked value" - events as failing for now. Update dg-message directives to avoid - relying on numbering. - * gcc.dg/analyzer/torture/loop-inc-ptr-1.c: New test. - * gcc.dg/analyzer/torture/loop-inc-ptr-2.c: New test. - * gcc.dg/analyzer/torture/loop-inc-ptr-3.c: New test. - * gcc.dg/analyzer/unknown-fns-2.c: New test. - * gcc.dg/analyzer/unknown-fns-3.c: New test. - * gcc.dg/analyzer/unknown-fns-4.c: New test. - * gcc.dg/analyzer/unknown-fns.c: Update dg-warning to reflect fixed - source location for leak diagnostic. - * gcc.dg/analyzer/use-after-free.c: New test. - * gcc.dg/analyzer/vla-1.c: New test. - * gcc.dg/analyzer/zlib-4.c: Rewrite to avoid "exit" calls. Add - expected leak warnings. - * gfortran.dg/analyzer/pr93993.f90: Remove leak of tm warning, - which seems to have been a false positive. - -2020-08-13 Peter Bergner - - PR target/96506 - * gcc.target/powerpc/pr96506.c: New test. - -2020-08-13 Andre Vehreschild - - PR fortran/93671 - * gfortran.dg/coarray/pr93671.f90: New test. - -2020-08-13 Richard Sandiford - - Revert: - 2020-08-13 Peixin Qiao - - * gcc.target/aarch64/mgeneral-regs_1.c: Add the comment that - -mgeneral-regs-only is compatible with the use of vector type - used in the test case. - -2020-08-13 Kwok Cheung Yeung - - * gcc.target/nvptx/ia64-sync-5.c: New. - -2020-08-13 Martin Liska - - PR ipa/96482 - * gcc.dg/ipa/pr96482-2.c: New test. - -2020-08-13 Hongtao Liu - - * gcc.target/i386/avx512bw-pr96246-1.c: New test. - * gcc.target/i386/avx512bw-pr96246-2.c: New test. - * gcc.target/i386/avx512vl-pr96246-1.c: New test. - * gcc.target/i386/avx512vl-pr96246-2.c: New test. - * gcc.target/i386/avx512bw-vmovdqu16-1.c: Adjust test. - * gcc.target/i386/avx512bw-vmovdqu8-1.c: Ditto. - * gcc.target/i386/avx512f-vmovapd-1.c: Ditto. - * gcc.target/i386/avx512f-vmovaps-1.c: Ditto. - * gcc.target/i386/avx512f-vmovdqa32-1.c: Ditto. - * gcc.target/i386/avx512f-vmovdqa64-1.c: Ditto. - * gcc.target/i386/avx512vl-pr92686-movcc-1.c: Ditto. - * gcc.target/i386/avx512vl-pr96246-1.c: Ditto. - * gcc.target/i386/avx512vl-pr96246-2.c: Ditto. - * gcc.target/i386/avx512vl-vmovapd-1.c: Ditto. - * gcc.target/i386/avx512vl-vmovaps-1.c: Ditto. - * gcc.target/i386/avx512vl-vmovdqa32-1.c: Ditto. - * gcc.target/i386/avx512vl-vmovdqa64-1.c: Ditto. - -2020-08-13 Hans-Peter Nilsson - - PR middle-end/94600 - * gcc.dg/pr94600-5.c, gcc.dg/pr94600-6.c, gcc.dg/pr94600-7.c, - gcc.dg/pr94600-8.c: Align t0 to 4-byte boundary. - -2020-08-13 Marek Polacek - - PR c++/92812 - * g++.dg/cpp2a/paren-init27.C: New test. - * g++.dg/cpp2a/paren-init28.C: New test. - * g++.dg/cpp2a/paren-init29.C: New test. - * g++.dg/cpp2a/paren-init30.C: New test. - * g++.dg/cpp2a/paren-init31.C: New test. - * g++.dg/cpp2a/paren-init32.C: New test. - -2020-08-12 Roger Sayle - Uroš Bizjak - - PR target/96558 - * gcc.dg/pr96558.c: New test. - -2020-08-12 Martin Liska - - PR ipa/96482 - * gcc.dg/ipa/pr96482.c: New test. - -2020-08-12 Peixin Qiao - - * gcc.target/aarch64/mgeneral-regs_1.c: Add the comment that - -mgeneral-regs-only is compatible with the use of vector type - used in the test case. - -2020-08-12 Tobias Burnus - - * gfortran.dg/gomp/nontemporal-1.f90: New test. - * gfortran.dg/gomp/nontemporal-2.f90: New test. - -2020-08-12 Tom de Vries - - * gcc.target/nvptx/ia64-sync-1.c: New test. - * gcc.target/nvptx/ia64-sync-2.c: New test. - * gcc.target/nvptx/ia64-sync-3.c: New test. - * gcc.target/nvptx/ia64-sync-4.c: New test. - -2020-08-12 Kwok Cheung Yeung - - PR testsuite/96519 - * gcc.dg/ia64-sync-5.c (AC, init_qi, test_qi): Change element type to - signed char. - -2020-08-12 Tom de Vries - - PR testsuite/96566 - * lib/target-supports.exp (check_effective_target_large_initializer): - New proc. - * gcc.dg/builtin-object-size-21.c: Require large_initializer. - * gcc.dg/strlenopt-55.c: Same. - -2020-08-12 Christophe Lyon - - * gcc.target/arm/stack-protector-1.c: Adapt code to Cortex-M - restrictions. - -2020-08-12 Christophe Lyon - - * gcc.target/arm/multilib.exp: Fix parameter passing for gcc_opts. - -2020-08-12 Andreas Krebbel - - PR target/96308 - * g++.dg/pr96308.C: New test. - -2020-08-12 Andreas Krebbel - - PR target/96456 - * gcc.target/s390/pr96456.c: New test. - -2020-08-12 Alan Modra - - PR target/96525 - * gcc.target/powerpc/pr96493.c: Make it a link test when no - power10_hw. Require power10_ok. - -2020-08-11 David Edelsohn - - * g++.dg/opt/flifetime-dse2.C: Remove AIX xfail. - * g++.dg/opt/flifetime-dse4.C: Remove AIX xfail. - -2020-08-11 Tom de Vries - - * gcc.dg/Warray-bounds-46.c: Add missing require-effective-target - directive. - * gcc.dg/Warray-bounds-48.c: Same. - * gcc.dg/Warray-bounds-50.c: Same. - * gcc.dg/Wreturn-local-addr-2.c: Same. - * gcc.dg/Wreturn-local-addr-3.c: Same. - * gcc.dg/Wreturn-local-addr-4.c: Same. - * gcc.dg/Wreturn-local-addr-6.c: Same. - * gcc.dg/Wstack-usage.c: Same. - * gcc.dg/Wstringop-overflow-15.c: Same. - * gcc.dg/Wstringop-overflow-23.c: Same. - * gcc.dg/Wstringop-overflow-25.c: Same. - * gcc.dg/Wstringop-overflow-27.c: Same. - * gcc.dg/Wstringop-overflow-39.c: Same. - * gcc.dg/analyzer/alloca-leak.c: Same. - * gcc.dg/analyzer/data-model-1.c: Same. - * gcc.dg/analyzer/data-model-16.c: Same. - * gcc.dg/analyzer/malloc-1.c: Same. - * gcc.dg/analyzer/malloc-paths-8.c: Same. - * gcc.dg/analyzer/pr93546.c: Same. - * gcc.dg/analyzer/setjmp-1.c: Same. - * gcc.dg/analyzer/setjmp-2.c: Same. - * gcc.dg/analyzer/setjmp-3.c: Same. - * gcc.dg/analyzer/setjmp-4.c: Same. - * gcc.dg/analyzer/setjmp-5.c: Same. - * gcc.dg/analyzer/setjmp-6.c: Same. - * gcc.dg/analyzer/setjmp-7.c: Same. - * gcc.dg/analyzer/setjmp-7a.c: Same. - * gcc.dg/analyzer/setjmp-8.c: Same. - * gcc.dg/analyzer/setjmp-9.c: Same. - * gcc.dg/analyzer/setjmp-pr93378.c: Same. - * gcc.dg/gimplefe-44.c: Same. - * gcc.dg/pr84131.c: Same. - * gcc.dg/pr93986.c: Same. - * gcc.dg/pr95133.c: Same. - * gcc.dg/pr95857.c: Same. - * gcc.dg/strlenopt-83.c: Same. - * gcc.dg/strlenopt-84.c: Same. - * gcc.dg/strlenopt-91.c: Same. - * gcc.dg/uninit-32.c: Same. - * gcc.dg/uninit-36.c: Same. - -2020-08-11 Jakub Jelinek - - PR c/96545 - * c-c++-common/pr96545.c: New test. - -2020-08-11 Jakub Jelinek - - PR rtl-optimization/96539 - * gcc.target/i386/pr96539.c: New test. - -2020-08-11 Jakub Jelinek - - PR c/96549 - * gcc.c-torture/execute/pr96549.c: New test. - -2020-08-11 Jan Hubicka - - * gcc.dg/ipa/ipa-clone-2.c: Lower threshold from 500 to 400. - -2020-08-10 Marek Polacek - - PR c++/88003 - * g++.dg/cpp1y/auto-fn61.C: New test. - -2020-08-10 Marek Polacek - - * lib/gcc-dg.exp (gcc-dg-test-1): Handle dg-ice. - (cleanup-after-saved-dg-test): Reset expect_ice. - * lib/prune.exp (prune_ices): New. - * lib/target-supports-dg.exp (dg-ice): New. - -2020-08-10 Roger Sayle - - * gcc.target/i386/minmax-12.c: New test. - -2020-08-10 Thomas Koenig - - PR fortran/96556 - * gfortran.dg/do_check_15.f90: New test. - -2020-08-10 Jakub Jelinek - - PR c++/96497 - * g++.dg/cpp2a/spaceship-constexpr3.C: New test. - -2020-08-10 Patrick Palka - - * g++.dg/cpp2a/concepts-fn5.C: New test. - * g++.dg/concepts/fn8.C: Generalize dg-error directive to accept - "no matching function ..." diagnostic. - * g++.dg/cpp2a/concepts-fn1.C: Likewise. - * g++.dg/cpp2a/concepts-ts2.C: Likewise. - * g++.dg/cpp2a/concepts-ts3.C: Likewise. - -2020-08-10 Marc Glisse - - PR tree-optimization/95433 - * gcc.dg/tree-ssa/pr95433-2.c: New file. - -2020-08-10 Paul Thomas - - PR fortran/96312 - * gfortran.dg/pr96312.f90: New test. - -2020-08-10 Paul Thomas - - PR fortran/96102 - * gfortran.dg/pr96102.f90: New test. - -2020-08-10 Hongtao Liu - - * gcc.target/i386/pr92865-1.c: Adjust testcase. - -2020-08-09 Roger Sayle - - PR target/71321 - * gcc.target/i386/pr71321.c: Check that the code doesn't use - the 4B zero displacement lea, not that it uses lea. - -2020-08-09 Iain Sandoe - - * gcc.dg/torture/fp-int-convert-timode-3.c: XFAIL run. - * gcc.dg/torture/fp-int-convert-timode-4.c: Likewise. - -2020-08-09 Hans-Peter Nilsson - - * gcc.dg/pr44194-1.c: Skip for mmix. - -2020-08-09 Hans-Peter Nilsson - - * gcc.dg/pr30957-1.c: xfail for mmix. - -2020-08-08 Peter Bergner - - PR target/96530 - * gcc.target/powerpc/pr96530.c: New test. - -2020-08-08 Jakub Jelinek - - PR tree-optimization/96424 - * c-c++-common/gomp/pr96424.c: New test. - -2020-08-07 Richard Biener - - PR tree-optimization/96514 - * gcc.dg/pr96514.c: New testcase. - -2020-08-07 Jose E. Marchesi - - * gcc.target/bpf/diag-funargs-2.c: Remove trailing whitespaces. - * gcc.target/bpf/skb-ancestor-cgroup-id.c: Likewise. - * gcc.target/bpf/helper-xdp-adjust-meta.c: Likewise. - * gcc.target/bpf/helper-xdp-adjust-head.c: Likewise. - * gcc.target/bpf/helper-tcp-check-syncookie.c: Likewise. - * gcc.target/bpf/helper-sock-ops-cb-flags-set.c - * gcc.target/bpf/helper-sysctl-set-new-value.c: Likewise. - * gcc.target/bpf/helper-sysctl-get-new-value.c: Likewise. - * gcc.target/bpf/helper-sysctl-get-name.c: Likewise. - * gcc.target/bpf/helper-sysctl-get-current-value.c: Likewise. - * gcc.target/bpf/helper-strtoul.c: Likewise. - * gcc.target/bpf/helper-strtol.c: Likewise. - * gcc.target/bpf/helper-sock-map-update.c: Likewise. - * gcc.target/bpf/helper-sk-storage-get.c: Likewise. - * gcc.target/bpf/helper-sk-storage-delete.c: Likewise. - * gcc.target/bpf/helper-sk-select-reuseport.c: Likewise. - * gcc.target/bpf/helper-sk-release.c: Likewise. - * gcc.target/bpf/helper-sk-redirect-map.c: Likewise. - * gcc.target/bpf/helper-sk-lookup-upd.c: Likewise. - * gcc.target/bpf/helper-sk-lookup-tcp.c: Likewise. - * gcc.target/bpf/helper-skb-change-head.c: Likewise. - * gcc.target/bpf/helper-skb-cgroup-id.c: Likewise. - * gcc.target/bpf/helper-skb-adjust-room.c: Likewise. - * gcc.target/bpf/helper-set-hash.c: Likewise. - * gcc.target/bpf/helper-setsockopt.c: Likewise. - * gcc.target/bpf/helper-redirect-map.c: Likewise. - * gcc.target/bpf/helper-rc-repeat.c: Likewise. - * gcc.target/bpf/helper-rc-keydown.c: Likewise. - * gcc.target/bpf/helper-probe-read-str.c: Likewise. - * gcc.target/bpf/helper-perf-prog-read-value.c: Likewise. - * gcc.target/bpf/helper-perf-event-read-value.c: Likewise. - * gcc.target/bpf/helper-override-return.c: Likewise. - * gcc.target/bpf/helper-msg-redirect-map.c: Likewise. - * gcc.target/bpf/helper-msg-pull-data.c: Likewise. - * gcc.target/bpf/helper-msg-cork-bytes.c: Likewise. - * gcc.target/bpf/helper-msg-apply-bytes.c: Likewise. - * gcc.target/bpf/helper-lwt-seg6-store-bytes.c: Likewise. - * gcc.target/bpf/helper-lwt-seg6-adjust-srh.c: Likewise. - * gcc.target/bpf/helper-lwt-seg6-action.c: Likewise. - * gcc.target/bpf/helper-lwt-push-encap.c: Likewise. - * gcc.target/bpf/helper-get-socket-uid.c: Likewise. - * gcc.target/bpf/helper-get-socket-cookie.c: Likewise. - * gcc.target/bpf/helper-get-local-storage.c: Likewise. - * gcc.target/bpf/helper-get-current-cgroup-id.c: Likewise. - * gcc.target/bpf/helper-getsockopt.c: Likewise. - * gcc.target/bpf/diag-funargs-3.c: Likewise. - -2020-08-07 Kwok Cheung Yeung - Tom de Vries - - * gcc.dg/ia64-sync-5.c: New test. - -2020-08-07 Michael Meissner - - * gcc.target/powerpc/bswap-brd.c: New test. - * gcc.target/powerpc/bswap-brw.c: New test. - * gcc.target/powerpc/bswap-brh.c: New test. - -2020-08-07 Alan Modra - - * gcc.target/powerpc/pr96493.c: New file. - -2020-08-06 Richard Sandiford - - * gcc.target/arm/stack-protector-1.c: New test. - * gcc.target/arm/stack-protector-2.c: Likewise. - -2020-08-06 Peter Bergner - - PR target/96446 - * gcc.target/powerpc/pr96446.c: New test. - -2020-08-06 Roger Sayle - - * gcc.target/i386/minmax-9.c: Restrict test to !ia32. - -2020-08-06 Jakub Jelinek - - PR tree-optimization/96480 - * gcc.dg/tree-ssa/pr96480.c: New test. - -2020-08-06 Jose E. Marchesi - - * gcc.target/bpf/helper-bind.c: Adjust to new kernel helpers - mechanism. - * gcc.target/bpf/helper-bpf-redirect.c: Likewise. - * gcc.target/bpf/helper-clone-redirect.c: Likewise. - * gcc.target/bpf/helper-csum-diff.c: Likewise. - * gcc.target/bpf/helper-csum-update.c: Likewise. - * gcc.target/bpf/helper-current-task-under-cgroup.c: Likewise. - * gcc.target/bpf/helper-fib-lookup.c: Likewise. - * gcc.target/bpf/helper-get-cgroup-classid.c: Likewise. - * gcc.target/bpf/helper-get-current-cgroup-id.c: Likewise. - * gcc.target/bpf/helper-get-current-comm.c: Likewise. - * gcc.target/bpf/helper-get-current-pid-tgid.c: Likewise. - * gcc.target/bpf/helper-get-current-task.c: Likewise. - * gcc.target/bpf/helper-get-current-uid-gid.c: Likewise. - * gcc.target/bpf/helper-get-hash-recalc.c: Likewise. - * gcc.target/bpf/helper-get-listener-sock.c: Likewise. - * gcc.target/bpf/helper-get-local-storage.c: Likewise. - * gcc.target/bpf/helper-get-numa-node-id.c: Likewise. - * gcc.target/bpf/helper-get-prandom-u32.c: Likewise. - * gcc.target/bpf/helper-get-route-realm.c: Likewise. - * gcc.target/bpf/helper-get-smp-processor-id.c: Likewise. - * gcc.target/bpf/helper-get-socket-cookie.c: Likewise. - * gcc.target/bpf/helper-get-socket-uid.c: Likewise. - * gcc.target/bpf/helper-get-stack.c: Likewise. - * gcc.target/bpf/helper-get-stackid.c: Likewise. - * gcc.target/bpf/helper-getsockopt.c: Likewise. - * gcc.target/bpf/helper-ktime-get-ns.c: Likewise. - * gcc.target/bpf/helper-l3-csum-replace.c: Likewise. - * gcc.target/bpf/helper-l4-csum-replace.c: Likewise. - * gcc.target/bpf/helper-lwt-push-encap.c: Likewise. - * gcc.target/bpf/helper-lwt-seg6-action.c: Likewise. - * gcc.target/bpf/helper-lwt-seg6-adjust-srh.c: Likewise. - * gcc.target/bpf/helper-lwt-seg6-store-bytes.c: Likewise. - * gcc.target/bpf/helper-map-delete-elem.c: Likewise. - * gcc.target/bpf/helper-map-lookup-elem.c: Likewise. - * gcc.target/bpf/helper-map-peek-elem.c: Likewise. - * gcc.target/bpf/helper-map-pop-elem.c: Likewise. - * gcc.target/bpf/helper-map-push-elem.c: Likewise. - * gcc.target/bpf/helper-map-update-elem.c: Likewise. - * gcc.target/bpf/helper-msg-apply-bytes.c: Likewise. - * gcc.target/bpf/helper-msg-cork-bytes.c: Likewise. - * gcc.target/bpf/helper-msg-pop-data.c: Likewise. - * gcc.target/bpf/helper-msg-pull-data.c: Likewise. - * gcc.target/bpf/helper-msg-push-data.c: Likewise. - * gcc.target/bpf/helper-msg-redirect-hash.c: Likewise. - * gcc.target/bpf/helper-msg-redirect-map.c: Likewise. - * gcc.target/bpf/helper-override-return.c: Likewise. - * gcc.target/bpf/helper-perf-event-output.c: Likewise. - * gcc.target/bpf/helper-perf-event-read-value.c: Likewise. - * gcc.target/bpf/helper-perf-event-read.c: Likewise. - * gcc.target/bpf/helper-perf-prog-read-value.c: Likewise. - * gcc.target/bpf/helper-probe-read-str.c: Likewise. - * gcc.target/bpf/helper-probe-read.c: Likewise. - * gcc.target/bpf/helper-probe-write-user.c: Likewise. - * gcc.target/bpf/helper-rc-keydown.c: Likewise. - * gcc.target/bpf/helper-rc-pointer-rel.c: Likewise. - * gcc.target/bpf/helper-rc-repeat.c: Likewise. - * gcc.target/bpf/helper-redirect-map.c: Likewise. - * gcc.target/bpf/helper-set-hash-invalid.c: Likewise. - * gcc.target/bpf/helper-set-hash.c: Likewise. - * gcc.target/bpf/helper-setsockopt.c: Likewise. - * gcc.target/bpf/helper-sk-fullsock.c: Likewise. - * gcc.target/bpf/helper-sk-lookup-tcp.c: Likewise. - * gcc.target/bpf/helper-sk-lookup-upd.c: Likewise. - * gcc.target/bpf/helper-sk-redirect-hash.c: Likewise. - * gcc.target/bpf/helper-sk-redirect-map.c: Likewise. - * gcc.target/bpf/helper-sk-release.c: Likewise. - * gcc.target/bpf/helper-sk-select-reuseport.c: Likewise. - * gcc.target/bpf/helper-sk-storage-delete.c: Likewise. - * gcc.target/bpf/helper-sk-storage-get.c: Likewise. - * gcc.target/bpf/helper-skb-adjust-room.c: Likewise. - * gcc.target/bpf/helper-skb-cgroup-id.c: Likewise. - * gcc.target/bpf/helper-skb-change-head.c: Likewise. - * gcc.target/bpf/helper-skb-change-proto.c: Likewise. - * gcc.target/bpf/helper-skb-change-tail.c: Likewise. - * gcc.target/bpf/helper-skb-change-type.c: Likewise. - * gcc.target/bpf/helper-skb-ecn-set-ce.c: Likewise. - * gcc.target/bpf/helper-skb-get-tunnel-key.c: Likewise. - * gcc.target/bpf/helper-skb-get-tunnel-opt.c: Likewise. - * gcc.target/bpf/helper-skb-get-xfrm-state.c: Likewise. - * gcc.target/bpf/helper-skb-load-bytes-relative.c: Likewise. - * gcc.target/bpf/helper-skb-load-bytes.c: Likewise. - * gcc.target/bpf/helper-skb-pull-data.c: Likewise. - * gcc.target/bpf/helper-skb-set-tunnel-key.c: Likewise. - * gcc.target/bpf/helper-skb-set-tunnel-opt.c: Likewise. - * gcc.target/bpf/helper-skb-store-bytes.c: Likewise. - * gcc.target/bpf/helper-skb-under-cgroup.c: Likewise. - * gcc.target/bpf/helper-skb-vlan-pop.c: Likewise. - * gcc.target/bpf/helper-skb-vlan-push.c: Likewise. - * gcc.target/bpf/helper-skc-lookup-tcp.c: Likewise. - * gcc.target/bpf/helper-sock-hash-update.c: Likewise. - * gcc.target/bpf/helper-sock-map-update.c: Likewise. - * gcc.target/bpf/helper-sock-ops-cb-flags-set.c: Likewise. - * gcc.target/bpf/helper-spin-lock.c: Likewise. - * gcc.target/bpf/helper-spin-unlock.c: Likewise. - * gcc.target/bpf/helper-strtol.c: Likewise. - * gcc.target/bpf/helper-strtoul.c: Likewise. - * gcc.target/bpf/helper-sysctl-get-current-value.c: Likewise. - * gcc.target/bpf/helper-sysctl-get-name.c: Likewise. - * gcc.target/bpf/helper-sysctl-get-new-value.c: Likewise. - * gcc.target/bpf/helper-sysctl-set-new-value.c: Likewise. - * gcc.target/bpf/helper-tail-call.c: Likewise. - * gcc.target/bpf/helper-tcp-check-syncookie.c: Likewise. - * gcc.target/bpf/helper-tcp-sock.c: Likewise. - * gcc.target/bpf/helper-trace-printk.c: Likewise. - * gcc.target/bpf/helper-xdp-adjust-head.c: Likewise. - * gcc.target/bpf/helper-xdp-adjust-meta.c: Likewise. - * gcc.target/bpf/helper-xdp-adjust-tail.c: Likewise. - * gcc.target/bpf/skb-ancestor-cgroup-id.c: Likewise. - -2020-08-06 Richard Biener - - PR tree-optimization/96491 - * gcc.dg/torture/pr96491.c: New testcase. - -2020-08-06 Roger Sayle - Uroš Bizjak - - * gcc.target/i386/minmax-8.c: New test. - * gcc.target/i386/minmax-9.c: New test. - * gcc.target/i386/minmax-10.c: New test. - * gcc.target/i386/minmax-11.c: New test. - -2020-08-05 Patrick Palka - Jason Merrill - - PR c++/96282 - * g++.dg/cpp0x/constexpr-array26.C: New test. - * g++.dg/cpp0x/constexpr-array27.C: New test. - * g++.dg/cpp2a/constexpr-init18.C: New test. - -2020-08-05 Thomas Koenig - - PR fortran/96469 - * gfortran.dg/do_check_14.f90: New test. - -2020-08-05 Thomas Koenig - - PR fortran/96469 - * gfortran.dg/do_check_4.f90: Hide change in index variable - from compile-time analysis. - * gfortran.dg/do_check_13.f90: New test. - -2020-08-05 Marc Glisse - - PR tree-optimization/95906 - PR target/70314 - * gcc.dg/tree-ssa/andnot-2.c: New file. - * gcc.dg/tree-ssa/pr95906.c: Likewise. - * gcc.target/i386/pr70314.c: Likewise. - -2020-08-05 Richard Sandiford - - PR target/96191 - * gcc.target/aarch64/stack-protector-1.c: New test. - * gcc.target/aarch64/stack-protector-2.c: Likewise. - -2020-08-05 2020-08-04 Carl Love - - * gcc.target/powerpc/vec-blend-runnable.c: New test. - * gcc.target/powerpc/vec-permute-ext-runnable.c: New test. - -2020-08-05 2020-08-04 Carl Love - - * gcc.target/powerpc/vec-splati-runnable.c: New test. - -2020-08-05 2020-08-04 Carl Love - - * gcc.target/powerpc/vec-shift-double-runnable.c: New test file. - -2020-08-05 2020-08-04 Carl Love - - * gcc.target/powerpc/vec-replace-word-runnable.c: New test. - -2020-08-05 2020-08-04 Carl Love - - * gcc.target/powerpc/vec-insert-word-runnable.c: New test case. - -2020-08-04 Roger Sayle - - * gcc.target/nvptx/mul-hi.c: New test. - * gcc.target/nvptx/umul-hi.c: New test. - -2020-08-04 Marek Polacek - - PR c++/96082 - * g++.dg/template/template-keyword3.C: New test. - -2020-08-04 Nathan Sidwell - - * g++.dg/template/pr39425.C: Adjust errors, (unbounded - template recursion). - * g++.old-deja/g++.pt/spec20.C: Remove fallout diagnostics. - -2020-08-04 Tobias Burnus - - * gfortran.dg/gomp/collapse1.f90: Add dg-error. - * gfortran.dg/gomp/collapse2.f90: New test. - -2020-08-04 Roger Sayle - - PR rtl-optimization/60473 - * gcc.target/i386/pr60473.c: New test. - -2020-08-04 Marc Glisse - - PR tree-optimization/95433 - * gcc.c-torture/execute/pr23135.c: Add -fwrapv to avoid - undefined behavior. - * gcc.dg/tree-ssa/pr95433.c: New file. - -2020-08-04 Iain Buclaw - - PR d/96153 - * gdc.dg/pr96153.d: New test. - -2020-08-04 Patrick Palka - - PR c++/94024 - * g++.dg/diagnostic/mem-init1.C: New test. - -2020-08-04 Richard Biener - - PR tree-optimization/88240 - * gcc.target/i386/pr88240.c: New testcase. - -2020-08-04 Tobias Burnus - - * gfortran.dg/gomp/lastprivate-conditional-3.f90: Enable some - previously disabled 'lastprivate(conditional:' dg-warnings. - -2020-08-04 Sudakshina Das - - * gcc.target/aarch64/cpymem-q-reg_1.c: New test. - * gcc.target/aarch64/large_struct_copy_2.c: Update for ldp q regs. - -2020-08-04 Andrea Corallo - - * gcc.target/aarch64/acle/jcvt_2.c: New testcase. - * lib/target-supports.exp - (check_effective_target_aarch64_fjcvtzs_hw): Add new check for - FJCVTZS hw. - -2020-08-04 Jakub Jelinek - - PR middle-end/96426 - * gcc.c-torture/compile/pr96426.c: New test. - -2020-08-04 Jakub Jelinek - - PR debug/96354 - * g++.dg/opt/pr96354.C: New test. - -2020-08-04 Iain Buclaw - - PR d/96429 - * gdc.dg/pr96429.d: New test. - -2020-08-04 Paul Thomas - - PR fortran/96325 - * gfortran.dg/pr96325.f90: Change from run to compile. - -2020-08-04 Xionghu Luo - - PR rtl-optimization/71309 - * gcc.target/powerpc/pr71309.c: New test. - -2020-08-03 Segher Boessenkool - - * gcc.target/powerpc/vector_float.c: Skip if not lp64. - -2020-08-03 Marek Polacek - - DR 2032 - PR c++/96218 - * g++.dg/cpp1y/var-templ67.C: New test. - -2020-08-03 Jakub Jelinek - - PR target/96402 - * gcc.target/aarch64/pr96402.c: New test. - -2020-08-03 Julian Brown - Thomas Schwinge - - * gfortran.dg/goacc/attach-descriptor.f90: Update pattern output. Add - scanning of gimplify dump. - -2020-08-03 Martin Jambor - - * lib/target-supports.exp (check_effective_target_offload_hsa): - Removed. - * c-c++-common/gomp/gridify-1.c: Removed test. - * c-c++-common/gomp/gridify-2.c: Likewise. - * c-c++-common/gomp/gridify-3.c: Likewise. - * c-c++-common/gomp/hsa-indirect-call-1.c: Likewise. - * gfortran.dg/gomp/gridify-1.f90: Likewise. - * gcc.dg/gomp/gomp.exp: Do not pass -Wno-hsa to tests. - * g++.dg/gomp/gomp.exp: Likewise. - * gfortran.dg/gomp/gomp.exp: Likewise. - -2020-08-03 Richard Sandiford - - * gcc.dg/pr96377-1.c: Add -Wno-psabi. - * gcc.dg/pr96377-2.c: Likewise. - -2020-08-03 Iain Buclaw - - PR d/96254 - * gdc.dg/pr96254a.d: New test. - * gdc.dg/pr96254b.d: New test. - -2020-08-02 Paul Thomas - - PR target/96320 - * gfortran.dg/module_procedure_4.f90 : New test. - -2020-08-02 Paul Thomas - - PR fortran/96325 - * gfortran.dg/pr96325.f90: New test. - * gfortran.dg/pr91589.f90: Update error message. - -2020-08-01 Richard Sandiford - - PR c/96377 - * gcc.dg/pr96377-1.c: New test. - * gcc.dg/pr96377-2.c: Likewise. - * gcc.dg/pr96377-3.c: Likewise. - * gcc.dg/pr96377-4.c: Likewise. - * gcc.dg/pr96377-5.c: Likewise. - * gcc.dg/pr96377-6.c: Likewise. - * gcc.target/aarch64/pr96377-1.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/gnu_vectors_3.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/gnu_vectors_4.c: Likewise. - * g++.target/aarch64/sve/acle/general-c++/gnu_vectors_3.C: Likewise. - * g++.target/aarch64/sve/acle/general-c++/gnu_vectors_4.C: Likewise. - -2020-08-01 Hans-Peter Nilsson - - * gcc.dg/loop-8.c: Skip for mmix. - -2020-07-31 Jakub Jelinek - - PR c++/96182 - * g++.dg/cpp1y/constexpr-96182.C: New test. - * g++.dg/other/error35.C (S::g()): Add return statement. - * g++.dg/cpp1y/pr63996.C (foo): Likewise. - * g++.dg/cpp1y/constexpr-return2.C (f): Likewise. - * g++.dg/cpp1y/var-templ44.C (make_array): Add throw 1. - -2020-07-31 Roger Sayle - Tom de Vries - - * gcc.target/nvptx/v2si-cvt.c: Simplify source. Remove - scan-assembler directives. Mention PR96403. - -2020-07-31 Iain Buclaw - - * gdc.dg/compilable.d: Removed. - * gdc.dg/gdc108.d: New test. - * gdc.dg/gdc115.d: New test. - * gdc.dg/gdc121.d: New test. - * gdc.dg/gdc122.d: New test. - * gdc.dg/gdc127.d: New test. - * gdc.dg/gdc131.d: New test. - * gdc.dg/gdc133.d: New test. - * gdc.dg/gdc141.d: New test. - * gdc.dg/gdc142.d: New test. - * gdc.dg/gdc15.d: New test. - * gdc.dg/gdc17.d: New test. - * gdc.dg/gdc170.d: New test. - * gdc.dg/gdc171.d: New test. - * gdc.dg/gdc179.d: New test. - * gdc.dg/gdc183.d: New test. - * gdc.dg/gdc186.d: New test. - * gdc.dg/gdc187.d: New test. - * gdc.dg/gdc19.d: New test. - * gdc.dg/gdc191.d: New test. - * gdc.dg/gdc194.d: New test. - * gdc.dg/gdc196.d: New test. - * gdc.dg/gdc198.d: New test. - * gdc.dg/gdc200.d: New test. - * gdc.dg/gdc204.d: New test. - * gdc.dg/gdc210.d: New test. - * gdc.dg/gdc212.d: New test. - * gdc.dg/gdc213.d: New test. - * gdc.dg/gdc218.d: New test. - * gdc.dg/gdc223.d: New test. - * gdc.dg/gdc231.d: New test. - * gdc.dg/gdc239.d: New test. - * gdc.dg/gdc24.d: New test. - * gdc.dg/gdc240.d: New test. - * gdc.dg/gdc241.d: New test. - * gdc.dg/gdc242a.d: New test. - * gdc.dg/gdc242b.d: New test. - * gdc.dg/gdc248.d: New test. - * gdc.dg/gdc250.d: New test. - * gdc.dg/gdc251.d: New test. - * gdc.dg/gdc253a.d: New test. - * gdc.dg/gdc253b.d: New test. - * gdc.dg/gdc255.d: New test. - * gdc.dg/gdc256.d: New test. - * gdc.dg/gdc261.d: New test. - * gdc.dg/gdc27.d: New test. - * gdc.dg/gdc273.d: New test. - * gdc.dg/gdc280.d: New test. - * gdc.dg/gdc284.d: New test. - * gdc.dg/gdc285.d: New test. - * gdc.dg/gdc286.d: New test. - * gdc.dg/gdc300.d: New test. - * gdc.dg/gdc309.d: New test. - * gdc.dg/gdc31.d: New test. - * gdc.dg/gdc35.d: New test. - * gdc.dg/gdc36.d: New test. - * gdc.dg/gdc37.d: New test. - * gdc.dg/gdc4.d: New test. - * gdc.dg/gdc43.d: New test. - * gdc.dg/gdc47.d: New test. - * gdc.dg/gdc51.d: New test. - * gdc.dg/gdc57.d: New test. - * gdc.dg/gdc66.d: New test. - * gdc.dg/gdc67.d: New test. - * gdc.dg/gdc71.d: New test. - * gdc.dg/gdc77.d: New test. - * gdc.dg/imports/gdc239.d: Remove phobos dependency. - * gdc.dg/imports/gdc241a.d: Updated imports. - * gdc.dg/imports/gdc241b.d: Likewise. - * gdc.dg/imports/gdc251a.d: Likewise. - * gdc.dg/imports/gdc253.d: Rename to... - * gdc.dg/imports/gdc253a.d: ...this. - * gdc.dg/imports/gdc253b.d: New. - * gdc.dg/imports/gdc36.d: New. - * gdc.dg/imports/runnable.d: Removed. - * gdc.dg/link.d: Removed. - * gdc.dg/runnable.d: Removed. - * gdc.dg/runnable2.d: Removed. - * gdc.dg/simd.d: Remove phobos dependency. - -2020-07-31 Martin Sebor - - PR c++/96003 - * g++.dg/warn/Wnonnull7.C: New test. - -2020-07-31 Richard Biener - - PR debug/96383 - * gcc.dg/debug/dwarf2/pr96383-1.c: New testcase. - * gcc.dg/debug/dwarf2/pr96383-2.c: Likewise. - -2020-07-31 Kewen Lin - - * gcc.target/aarch64/sve/cost_model_2.c: Adjust due to cost model - change. - -2020-07-31 Richard Biener - - PR middle-end/96369 - * c-c++-common/pr96369.c: New testcase. - -2020-07-31 Martin Liska - - * gcc.dg/tree-prof/indir-call-prof-malloc.c: New test. - -2020-07-31 Richard Biener - - * gcc.dg/torture/20200727-0.c: New testcase. - -2020-07-31 Patrick Palka - - PR c++/96197 - * g++.dg/cpp1y/constexpr-array8.C: New test. - -2020-07-30 Iain Buclaw - - PR d/96152 - * gdc.dg/pr96152.d: New test. - -2020-07-30 Iain Buclaw - - PR d/96154 - * gdc.dg/pr96154a.d: New test. - * gdc.dg/pr96154b.d: New test. - -2020-07-30 Iain Buclaw - - PR d/96140 - * gdc.dg/pr96140.d: New test. - -2020-07-30 Will Schmidt - - * gcc.target/powerpc/lsbb-runnable.c: New test. - * gcc.target/powerpc/lsbb.c: New test. - -2020-07-30 Iain Buclaw - - * gdc.dg/array1.d: New test. - -2020-07-30 Iain Buclaw - - * gdc.dg/intrinsics.d: Add ror and rol tests. - -2020-07-30 Iain Buclaw - - * gdc.dg/intrinsics.d: New test. - -2020-07-30 Richard Biener - - PR tree-optimization/96370 - * gcc.dg/pr96370.c: New testcase. - -2020-07-30 Roger Sayle - Tom de Vries - - * gcc.target/nvptx/v2si-vec-set-extract.c: New test. - -2020-07-30 Patrick Palka - - PR c++/64194 - * g++.dg/cpp1y/auto-fn60.C: New test. - -2020-07-30 Patrick Palka - - PR c++/95486 - * g++.dg/cpp2a/class-deduction-alias3.C: New test. - -2020-07-30 Patrick Palka - - PR c++/96106 - * g++.dg/concepts/abbrev7.C: New test. - -2020-07-30 Patrick Palka - - PR c++/96164 - * g++.dg/cpp2a/concepts-explicit-inst5.C: New test. - -2020-07-29 Roger Sayle - - * gcc.target/nvptx/recip-1.c: New test. - -2020-07-29 Jason Merrill - - PR c++/91427 - * g++.dg/coroutines/co-return-syntax-10-movable.C: Extend. - * g++.dg/cpp0x/Wredundant-move1.C: Adjust for C++20. - * g++.dg/cpp0x/Wredundant-move7.C: Adjust for C++20. - * g++.dg/cpp0x/Wredundant-move9.C: Adjust for C++20. - * g++.dg/cpp0x/elision_neg.C: Adjust for C++20. - * g++.dg/cpp0x/move-return2.C: Adjust for C++20. - * g++.dg/cpp0x/ref-qual20.C: Adjust for C++20. - * g++.dg/cpp2a/implicit-move1.C: New test. - * g++.dg/cpp2a/implicit-move2.C: New test. - * g++.dg/cpp2a/implicit-move3.C: New test. - -2020-07-29 Jason Merrill - - PR c++/91212 - * g++.dg/cpp0x/move-return3.C: New test. - -2020-07-29 Tobias Burnus - - * gfortran.dg/gomp/order-3.f90: New test. - * gfortran.dg/gomp/order-4.f90: New test. - -2020-07-29 Tiziano Müller - - * c-c++-common/cpp/has-include-1-traditional.c: New. - -2020-07-29 Tobias Burnus - - * gfortran.dg/gomp/map-3.f90: New test. - * gfortran.dg/gomp/map-4.f90: New test. - -2020-07-29 Joe Ramsay - - * gcc.target/arm/mve/intrinsics/mve-vldstr16-no-writeback.c: New file. - -2020-07-29 Mark Eggleston - - PR fortran/96319 - * gfortran.dg/pr96319.f90: New test. - -2020-07-29 Richard Biener - - PR tree-optimization/96349 - * gcc.dg/torture/pr96349.c: New testcase. - -2020-07-29 Mark Eggleston - - PR fortran/53298 - * gfortran.dg/pr53298.f90: New test. - -2020-07-29 Tobias Burnus - - * gfortran.dg/gomp/requires-1.f90: New test. - * gfortran.dg/gomp/requires-2.f90: New test. - * gfortran.dg/gomp/requires-3.f90: New test. - * gfortran.dg/gomp/requires-4.f90: New test. - * gfortran.dg/gomp/requires-5.f90: New test. - * gfortran.dg/gomp/requires-6.f90: New test. - * gfortran.dg/gomp/requires-7.f90: New test. - * gfortran.dg/gomp/requires-8.f90: New test. - * gfortran.dg/gomp/requires-9.f90: New test. - -2020-07-28 Sergei Trofimovich - - PR ipa/96291 - * gcc.dg/lto/pr96291_0.c: New testcase. - * gcc.dg/lto/pr96291_1.c: Support file. - * gcc.dg/lto/pr96291_2.c: Likewise. - * gcc.dg/lto/pr96291.h: Likewise. - -2020-07-28 Roger Sayle - Richard Biener - - * gcc.dg/fold-popcount-5.c: New test. - * gcc.dg/fold-parity-1.c: Likewise. - * gcc.dg/fold-parity-2.c: Likewise. - * gcc.dg/fold-parity-3.c: Likewise. - * gcc.dg/fold-parity-4.c: Likewise. - * gcc.dg/fold-parity-5.c: Likewise. - -2020-07-28 Nathan Sidwell - - * lib/options.exp: Fix spello - -2020-07-28 Jakub Jelinek - Mark Wielaard - - PR c++/96328 - * g++.dg/diagnostic/pr96328.C: New test. - -2020-07-28 Jakub Jelinek - - PR preprocessor/96323 - * c-c++-common/cpp/pr96323.c: New test. - -2020-07-28 Roger Sayle - Tom de Vries - - * gcc.target/nvptx/cvt.c: New test. - * gcc.target/nvptx/shift16.c: New test. - -2020-07-28 Jakub Jelinek - - * g++.dg/cpp2a/nontype-subob1.C: Allow s1, i1 or x1 instead of l1 for - targets with short, int or long long ssize_t. - -2020-07-28 Jakub Jelinek - - PR middle-end/96335 - * gcc.dg/pr96335.c: New test. - -2020-07-27 Hans-Peter Nilsson - - * gcc.dg/torture/pr39074-2.c: Adjust for mmix. - * gcc.dg/torture/pr39074.c, gcc.dg/torture/pta-callused-1.c: Ditto. - -2020-07-27 Nathan Sidwell - - * g++.dg/lookup/missing-std-include-10.h: New. - * g++.dg/lookup/missing-std-include-10.C: New. - * g++.dg/lookup/missing-std-include-11.C: New. - -2020-07-27 Martin Sebor - - PR tree-optimization/84079 - * gcc.dg/Warray-bounds-62.c: New test. - -2020-07-27 Martin Liska - - PR tree-optimization/96128 - * gcc.target/s390/vector/pr96128.c: New test. - -2020-07-27 H.J. Lu - - PR bootstrap/96203 - * gcc.target/i386/pr96203-1.c: New test. - * gcc.target/i386/pr96203-2.c: Likewise. - -2020-07-27 Hans-Peter Nilsson - - * gcc.dg/tree-ssa/vector-4.c: Adjust for mmix. - -2020-07-27 Hans-Peter Nilsson - - * gcc.dg/tree-ssa/ssa-dse-26.c: Adjust for mmix. - -2020-07-27 Hans-Peter Nilsson - - * gcc.dg/tree-ssa/ssa-dom-cse-2.c: xfail scan for mmix. - -2020-07-27 Hans-Peter Nilsson - - * gcc.dg/tree-ssa/reassoc-20.c: Adjust for mmix. - -2020-07-26 Patrick Palka - - PR c++/79504 - * g++.dg/cpp0x/decltype79.C: New test. - -2020-07-26 Hans-Peter Nilsson - - * gcc.dg/tree-ssa/forwprop-36.c: Adjust for mmix. - -2020-07-26 Hans-Peter Nilsson - - * gcc.dg/torture/pr59330.c: Disable for mmix. - -2020-07-25 Iain Sandoe - - * g++.dg/abi/pure-virtual1.C: Add dynamic_lookup option - for Darwin. - -2020-07-25 Martin Sebor - - PR c++/96310 - * g++.dg/warn/Wnonnull8.C: New file. - -2020-07-24 Segher Boessenkool - - * gcc.target/powerpc/pr95907.c: New. - -2020-07-24 Hans-Peter Nilsson - - * c-c++-common/pr56493.c: Allow ":" in label, for mmix. - -2020-07-24 Hans-Peter Nilsson - - * c-c++-common/patchable_function_entry-decl.c, - c-c++-common/patchable_function_entry-default.c, - c-c++-common/patchable_function_entry-definition.c: Adjust for mmix. - -2020-07-24 Sunil K Pandey - - PR target/96192 - * c-c++-common/pr96192-1.c: New test. - -2020-07-24 Alexandre Oliva - - * lib/scanoffload.exp (scoff-testname, scoff-adjust): New. - (scoff): Call them. - -2020-07-24 Alexandre Oliva - - PR driver/96230 - * gcc.misc-tests/outputs.exp: Add tests with -dumpbase-ext, - with identical -dumpbase, with -dumpbase "", and without any - -dumpbase. - (outest): Fix "" expansion in expected outputs, skip - adjustments. - -2020-07-24 Alexandre Oliva - - PR testsuite/95720 - * lib/gcc-defs.exp (gcc_adjust_linker_flags_list): Split out of... - (gcc_adjust_linker_flags): ... this. Protect gluefile and - wrap_flags. - * gcc.misc-tests/outputs.exp: Use gcc_adjust_linker_flags_list. - -2020-07-24 Dominique d'Humieres - - PR fortran/93567 - * gfortran.dg/round_3.f08: Add test cases. - -2020-07-24 Dominique d'Humieres - - PR fortran/93592 - * gfortran.dg/fmt_en.f90: Adjust test. - * gfortran.dg/fmt_en_rd.f90: New test. - * gfortran.dg/fmt_en_rn.f90: New test. - * gfortran.dg/fmt_en_ru.f90: New test. - * gfortran.dg/fmt_en_rz.f90: New test. - -2020-07-24 Patrick Palka - - PR c++/81339 - * g++.dg/cpp0x/decltype78.C: New test. - -2020-07-24 Thomas Schwinge - - * lib/scandump.exp (scan-dump-dem-not): Fix TCL syntax error. - -2020-07-24 H.J. Lu - - PR middle-end/95886 - * gcc.target/i386/memcpy-pr95886.c: Restrict test to !ia32. - -2020-07-23 Martin Sebor - - PR testsuite/95886 - * gcc.target/i386/memcpy-pr95886.c: Restrict test to LP64. - -2020-07-23 Tobias Burnus - - * gfortran.dg/gomp/lastprivate-conditional-1.f90: New test. - * gfortran.dg/gomp/lastprivate-conditional-2.f90: New test. - * gfortran.dg/gomp/lastprivate-conditional-3.f90: New test. - * gfortran.dg/gomp/lastprivate-conditional-4.f90: New test. - * gfortran.dg/gomp/lastprivate-conditional-5.f90: New test. - -2020-07-23 Kito Cheng - - PR target/96260 - * gcc.target/riscv/pr91441.c: Update warning message. - * gcc.target/riscv/pr96260.c: New. - -2020-07-23 Hans-Peter Nilsson - - * c-c++-common/builtin-has-attribute-4.c: Require visibility. - -2020-07-22 Tobias Burnus - - * gfortran.dg/gomp/cancel-2.f90: New test. - * gfortran.dg/gomp/cancel-3.f90: New test. - * gfortran.dg/gomp/if-1.f90: New test. - -2020-07-22 Peter Bergner - - PR target/96236 - * gcc.target/powerpc/mma-double-test.c: Update storing results for - correct little-endian ordering. - * gcc.target/powerpc/mma-single-test.c: Likewise. - -2020-07-22 H.J. Lu - - PR target/95237 - * c-c++-common/pr95237-6.c: Only run for x86 targets. - -2020-07-22 Tobias Burnus - - * c-c++-common/gomp/critical-hint-1.c: Moved to libgomp/. - * c-c++-common/gomp/critical-hint-2.c: Moved to libgomp/. - * gfortran.dg/gomp/critical-hint-1.f90: Moved to libgomp/. - * gfortran.dg/gomp/critical-hint-2.f90: Moved to libgomp/. - -2020-07-22 Przemyslaw Wirkus - - * gcc.target/aarch64/ldp_vec_v2sf.c: New test. - * gcc.target/aarch64/ldp_vec_v2si.c: New test. - * gcc.target/aarch64/stp_vec_v2df.c: New test. - * gcc.target/aarch64/stp_vec_v2di.c: New test. - * gcc.target/aarch64/stp_vec_v2sf.c: New test. - * gcc.target/aarch64/stp_vec_v2si.c: New test. - -2020-07-22 Tobias Burnus - - * g++.dg/gomp/critical-3.C: Add nameless critical with hint testcase. - * c-c++-common/gomp/critical-hint-1.c: New test. - * c-c++-common/gomp/critical-hint-2.c: New test. - * gfortran.dg/gomp/critical-hint-1.f90: New test. - * gfortran.dg/gomp/critical-hint-2.f90: New test. - -2020-07-22 Hans-Peter Nilsson - - * gcc.dg/no_profile_instrument_function-attr-1.c: Adjust scanned - regex for NO_DOT_IN_LABEL. - -2020-07-21 Sunil K Pandey - - PR target/95237 - * c-c++-common/pr95237-1.c: New test. - * c-c++-common/pr95237-2.c: New test. - * c-c++-common/pr95237-3.c: New test. - * c-c++-common/pr95237-4.c: New test. - * c-c++-common/pr95237-5.c: New test. - * c-c++-common/pr95237-6.c: New test. - * c-c++-common/pr95237-7.c: New test. - * c-c++-common/pr95237-8.c: New test. - * c-c++-common/pr95237-9.c: New test. - -2020-07-21 Peter Bergner - - PR target/92488 - * gcc.target/powerpc/convert-fp-128.c (bl): Update POWER9 count. - -2020-07-21 Nathan Sidwell - - * g++.dg/parse/pr96257.C: New. - -2020-07-21 Harald Anlauf - - PR fortran/89574 - * gfortran.dg/pr89574.f90: New file. - -2020-07-21 Sandra Loosemore - - * lib/profopt.exp (auto-profopt-execute): Pass -DFOR_AUTOFDO_TESTING - on command line for both compiles. - * gcc.dg/tree-prof/cold_partition_label.c: Scale down for - non-FDO testing. - * gcc.dg/tree-prof/crossmodule-indir-call-topn-1.c: Likewise. - * gcc.dg/tree-prof/crossmodule-indir-call-topn-2.c: Likewise. - * gcc.dg/tree-prof/indir-call-prof-topn.c: Likewise. - * gcc.dg/tree-prof/section-attr-1.c: Likewise. - * gcc.dg/tree-prof/section-attr-2.c: Likewise. - * gcc.dg/tree-prof/section-attr-3.c: Likewise. - -2020-07-21 Dimitar Dimitrov - - * gcc.dg/attr-copy-4.c: Unpacked may still have alignment of 1 - on targets with default_packed. - * gcc.dg/c11-align-9.c: Remove AVR target filter and replace - with default_packed filter. - -2020-07-21 Dimitar Dimitrov - - * gcc.dg/pr53037-1.c: Relax warning pattern. - -2020-07-21 Dimitar Dimitrov - - * c-c++-common/Waddress-of-packed-member-2.c: Add dg-warning for - ignored attribute if target is default_packed. - * c-c++-common/Wattributes.c: Ditto. - * c-c++-common/attr-copy.c: Ditto. - * c-c++-common/builtin-has-attribute-4.c: Ditto. - * c-c++-common/pr51628-29.c: Ditto. - * c-c++-common/pr51628-30.c: Ditto. - * c-c++-common/pr51628-32.c: Ditto. - * gcc.dg/Wattributes-6.c: Ditto. - * gcc.dg/attr-copy-4.c: Ditto. - * gcc.dg/attr-copy-8.c: Ditto. - -2020-07-21 Dimitar Dimitrov - - * c-c++-common/Waddress-of-packed-member-1.c: Filter dg-warning - for targets who pack by default. - * c-c++-common/Waddress-of-packed-member-2.c: Ditto. - * c-c++-common/pr51628-13.c: Ditto. - * c-c++-common/pr51628-15.c: Ditto. - * c-c++-common/pr51628-16.c: Ditto. - * c-c++-common/pr51628-26.c: Ditto. - * c-c++-common/pr51628-27.c: Ditto. - * c-c++-common/pr51628-28.c: Ditto. - * c-c++-common/pr51628-29.c: Ditto. - * c-c++-common/pr51628-3.c: Ditto. - * c-c++-common/pr51628-30.c: Ditto. - * c-c++-common/pr51628-31.c: Ditto. - * c-c++-common/pr51628-32.c: Ditto. - * c-c++-common/pr51628-33.c: Ditto. - * c-c++-common/pr51628-35.c: Ditto. - * c-c++-common/pr51628-4.c: Ditto. - * c-c++-common/pr51628-5.c: Ditto. - * c-c++-common/pr51628-6.c: Ditto. - * c-c++-common/pr51628-8.c: Ditto. - * c-c++-common/pr51628-9.c: Ditto. - * c-c++-common/pr88664-2.c: Ditto. - * gcc.dg/pr51628-17.c: Ditto. - * gcc.dg/pr51628-19.c: Ditto. - * gcc.dg/pr51628-20.c: Ditto. - * gcc.dg/pr51628-21.c: Ditto. - * gcc.dg/pr51628-22.c: Ditto. - * gcc.dg/pr51628-24.c: Ditto. - * gcc.dg/pr51628-25.c: Ditto. - * gcc.dg/pr51628-34.c: Ditto. - * gcc.dg/pr88928.c: Ditto. - -2020-07-21 Kito Cheng - - * gcc.dg/analyzer/signal-1.c: Add dg-require-effective-target - signal. - * gcc.dg/analyzer/signal-2.c: Ditto. - * gcc.dg/analyzer/signal-3.c: Ditto. - * gcc.dg/analyzer/signal-4a.c: Ditto. - * gcc.dg/analyzer/signal-4b.c: Ditto. - * gcc.dg/analyzer/signal-5.c: Ditto. - * gcc.dg/analyzer/signal-6.c: Ditto. - * gcc.dg/analyzer/signal-exit.c: Ditto. - -2020-07-21 Xionghu Luo - - PR rtl-optimization/89310 - * gcc.target/powerpc/pr89310.c: New test. - -2020-07-21 Kewen Lin - - * gcc.target/powerpc/p9-vec-length-1.h: New test. - * gcc.target/powerpc/p9-vec-length-2.h: New test. - * gcc.target/powerpc/p9-vec-length-3.h: New test. - * gcc.target/powerpc/p9-vec-length-4.h: New test. - * gcc.target/powerpc/p9-vec-length-5.h: New test. - * gcc.target/powerpc/p9-vec-length-6.h: New test. - * gcc.target/powerpc/p9-vec-length-7.h: New test. - * gcc.target/powerpc/p9-vec-length-8.h: New test. - * gcc.target/powerpc/p9-vec-length-epil-1.c: New test. - * gcc.target/powerpc/p9-vec-length-epil-2.c: New test. - * gcc.target/powerpc/p9-vec-length-epil-3.c: New test. - * gcc.target/powerpc/p9-vec-length-epil-4.c: New test. - * gcc.target/powerpc/p9-vec-length-epil-5.c: New test. - * gcc.target/powerpc/p9-vec-length-epil-6.c: New test. - * gcc.target/powerpc/p9-vec-length-epil-7.c: New test. - * gcc.target/powerpc/p9-vec-length-epil-8.c: New test. - * gcc.target/powerpc/p9-vec-length-epil-run-1.c: New test. - * gcc.target/powerpc/p9-vec-length-epil-run-2.c: New test. - * gcc.target/powerpc/p9-vec-length-epil-run-3.c: New test. - * gcc.target/powerpc/p9-vec-length-epil-run-4.c: New test. - * gcc.target/powerpc/p9-vec-length-epil-run-5.c: New test. - * gcc.target/powerpc/p9-vec-length-epil-run-6.c: New test. - * gcc.target/powerpc/p9-vec-length-epil-run-7.c: New test. - * gcc.target/powerpc/p9-vec-length-epil-run-8.c: New test. - * gcc.target/powerpc/p9-vec-length-full-1.c: New test. - * gcc.target/powerpc/p9-vec-length-full-2.c: New test. - * gcc.target/powerpc/p9-vec-length-full-3.c: New test. - * gcc.target/powerpc/p9-vec-length-full-4.c: New test. - * gcc.target/powerpc/p9-vec-length-full-5.c: New test. - * gcc.target/powerpc/p9-vec-length-full-6.c: New test. - * gcc.target/powerpc/p9-vec-length-full-7.c: New test. - * gcc.target/powerpc/p9-vec-length-full-8.c: New test. - * gcc.target/powerpc/p9-vec-length-full-run-1.c: New test. - * gcc.target/powerpc/p9-vec-length-full-run-2.c: New test. - * gcc.target/powerpc/p9-vec-length-full-run-3.c: New test. - * gcc.target/powerpc/p9-vec-length-full-run-4.c: New test. - * gcc.target/powerpc/p9-vec-length-full-run-5.c: New test. - * gcc.target/powerpc/p9-vec-length-full-run-6.c: New test. - * gcc.target/powerpc/p9-vec-length-full-run-7.c: New test. - * gcc.target/powerpc/p9-vec-length-full-run-8.c: New test. - * gcc.target/powerpc/p9-vec-length-run-1.h: New test. - * gcc.target/powerpc/p9-vec-length-run-2.h: New test. - * gcc.target/powerpc/p9-vec-length-run-3.h: New test. - * gcc.target/powerpc/p9-vec-length-run-4.h: New test. - * gcc.target/powerpc/p9-vec-length-run-5.h: New test. - * gcc.target/powerpc/p9-vec-length-run-6.h: New test. - * gcc.target/powerpc/p9-vec-length-run-7.h: New test. - * gcc.target/powerpc/p9-vec-length-run-8.h: New test. - * gcc.target/powerpc/p9-vec-length.h: New test. - -2020-07-21 Hans-Peter Nilsson - - * gcc.dg/independent-cloneids-1.c: Skip for mmix. - flag_stack_usage_info. - -2020-07-21 Hans-Peter Nilsson - - * gcc.dg/cdce3.c: Update matched line-number. - -2020-07-20 Jason Merrill - - * g++.dg/opt/flifetime-dse7.C: New test. - -2020-07-20 Jason Merrill - - * g++.dg/cpp1z/nontype2.C: No error in C++20. - * g++.dg/template/nontype25.C: No error in C++20. - * g++.dg/template/nontype8.C: No error in C++20. - * g++.dg/cpp2a/nontype-subob1.C: New test. - * g++.dg/cpp2a/nontype-subob2.C: New test. - * g++.dg/cpp1z/nontype3.C: Now C++17-only. - * g++.dg/cpp2a/feat-cxx2a.C: Adjust expected value. - -2020-07-20 Jason Merrill - - * g++.dg/cpp2a/class-deduction-aggr7.C: New test. - -2020-07-20 Yang Yang - - * gcc.target/aarch64/sve/pr96195.c: New test. - -2020-07-20 Uroš Bizjak - - PR target/95750 - * gcc.target/i386/pr95750.c: New test. - -2020-07-20 Martin Sebor - - PR middle-end/95189 - PR middle-end/95886 - * gcc.dg/memcmp-pr95189.c: New test. - * gcc.dg/strncmp-3.c: New test. - * gcc.target/i386/memcpy-pr95886.c: New test. - -2020-07-20 Alex Coplan - - PR jit/69435 - * jit.dg/jit.exp (fixed_host_execute): Fix regex patterns to - always explicitly match newlines. - -2020-07-20 Jakub Jelinek - - PR libstdc++/93121 - * gcc.dg/tree-ssa/pr93121-2.c: New test. - -2020-07-20 Jakub Jelinek - - PR libstdc++/93121 - * gcc.dg/tree-ssa/pr93121-1.c: New test. - -2020-07-20 Hans-Peter Nilsson - - * gcc.dg/const-uniq-1.c: Adjust scanned pattern for mmix. - -2020-07-20 Hans-Peter Nilsson - - * gcc.dg/cdce3.c: Skip for mmix. - -2020-07-20 Hans-Peter Nilsson - - * gcc.dg/pr87485.c: Require scheduling. - -2020-07-19 H.J. Lu - - PR target/95973 - PR target/96238 - * gcc.target/i386/pr95973.c: New test. - -2020-07-19 Thomas Koenig - - PR fortran/96018 - * gfortran.dg/implicit_pure_5.c: New file. - * gfortran.dg/implicit_pure_5.f90: New file. - -2020-07-19 Hans-Peter Nilsson - - * gcc.dg/attr-copy-6.c: Require visibility. - -2020-07-19 Hans-Peter Nilsson - - * gcc.dg/Wno-frame-address.c: Skip for cris and mmix. - -2020-07-18 Jakub Jelinek - - * c-c++-common/cpp/pragma-eof.c: Use .+3 instead of 6 in - dg-error. - -2020-07-18 David Edelsohn - - * gfortran.dg/goacc/finalize-1.f: Adjust regex for 32 bits. - -2020-07-18 Hans-Peter Nilsson - - * c-c++-common/cpp/pragma-eof.c: Require fopenmp. - -2020-07-18 Peter Bergner - - PR target/92488 - * gcc.target/powerpc/convert-fp-128.c (bl, drsp, drdpq): Update counts. - (__dpd_trunctdsd2): Make conditional on !hard_dfp. - (__dpd_extendsddd2, __dpd_extendsdtd2, __dpd_truncddsd2, - __dpd_extendddtd2, __dpd_trunctddd2): Use !hard_dfp. - * gcc.target/powerpc/pr92488.c: New test. - -2020-07-17 Marek Polacek - - PR c++/79815 - * g++.dg/cpp1y/auto-fn59.C: New test. - -2020-07-17 H.J. Lu - - PR target/96186 - PR target/88713 - * gcc.target/i386/pr88713-3.c: New test. - -2020-07-17 Tamar Christina - - * gcc.target/aarch64/cpunative/aarch64-cpunative.exp: New test. - * gcc.target/aarch64/cpunative/info_0: New test. - * gcc.target/aarch64/cpunative/info_1: New test. - * gcc.target/aarch64/cpunative/info_10: New test. - * gcc.target/aarch64/cpunative/info_11: New test. - * gcc.target/aarch64/cpunative/info_12: New test. - * gcc.target/aarch64/cpunative/info_13: New test. - * gcc.target/aarch64/cpunative/info_14: New test. - * gcc.target/aarch64/cpunative/info_15: New test. - * gcc.target/aarch64/cpunative/info_2: New test. - * gcc.target/aarch64/cpunative/info_3: New test. - * gcc.target/aarch64/cpunative/info_4: New test. - * gcc.target/aarch64/cpunative/info_5: New test. - * gcc.target/aarch64/cpunative/info_6: New test. - * gcc.target/aarch64/cpunative/info_7: New test. - * gcc.target/aarch64/cpunative/info_8: New test. - * gcc.target/aarch64/cpunative/info_9: New test. - * gcc.target/aarch64/cpunative/native_cpu_0.c: New test. - * gcc.target/aarch64/cpunative/native_cpu_1.c: New test. - * gcc.target/aarch64/cpunative/native_cpu_10.c: New test. - * gcc.target/aarch64/cpunative/native_cpu_11.c: New test. - * gcc.target/aarch64/cpunative/native_cpu_12.c: New test. - * gcc.target/aarch64/cpunative/native_cpu_13.c: New test. - * gcc.target/aarch64/cpunative/native_cpu_14.c: New test. - * gcc.target/aarch64/cpunative/native_cpu_15.c: New test. - * gcc.target/aarch64/cpunative/native_cpu_2.c: New test. - * gcc.target/aarch64/cpunative/native_cpu_3.c: New test. - * gcc.target/aarch64/cpunative/native_cpu_4.c: New test. - * gcc.target/aarch64/cpunative/native_cpu_5.c: New test. - * gcc.target/aarch64/cpunative/native_cpu_6.c: New test. - * gcc.target/aarch64/cpunative/native_cpu_7.c: New test. - * gcc.target/aarch64/cpunative/native_cpu_8.c: New test. - * gcc.target/aarch64/cpunative/native_cpu_9.c: New test. - -2020-07-17 Tamar Christina - - * lib/gcc-dg.exp (dg-set-compiler-env-var, dg-set-target-env-var): Add - verbose output. - -2020-07-17 Andrew Pinski - Dmitrij Pochepko - - PR target/93720 - * gcc.target/aarch64/vins-1.c: New test. - * gcc.target/aarch64/vins-2.c: New test. - * gcc.target/aarch64/vins-3.c: New test. - -2020-07-17 Andrew Pinski - Dmitrij Pochepko - - PR target/82199 - * gcc.target/aarch64/vdup_n_3.c: New test. - * gcc.target/aarch64/vzip_1.c: New test. - * gcc.target/aarch64/vzip_2.c: New test. - * gcc.target/aarch64/vzip_3.c: New test. - * gcc.target/aarch64/vzip_4.c: New test. - -2020-07-17 Andreas Krebbel - - PR target/96127 - * gcc.target/s390/pr96127.c: New test. - -2020-07-17 Kewen Lin - - * gcc.target/powerpc/conv-vectorize-1.c: Add option - -fno-vect-cost-model. - * gcc.target/powerpc/conv-vectorize-2.c: Likewise. - -2020-07-16 Julian Brown - Thomas Schwinge - - * gfortran.dg/goacc/attach-descriptor.f90: New test. - -2020-07-16 Iain Sandoe - - PR c++/95591 - PR c++/95599 - PR c++/95823 - PR c++/95824 - PR c++/95895 - * g++.dg/coroutines/pr95591.C: New test. - * g++.dg/coroutines/pr95599.C: New test. - * g++.dg/coroutines/pr95823.C: New test. - * g++.dg/coroutines/pr95824.C: New test. - -2020-07-16 Jonathan Wakely - - PR testsuite/96014 - * g++.dg/analyzer/pr94028.C: Replace dynamic exception - specification with noexcept-specifier for C++11 and later. - -2020-07-16 Uroš Bizjak - - PR target/96189 - * gcc.target/i386/pr96189-1.c: New test. - -2020-07-16 Marek Polacek - - DR 188 - * g++.dg/DRs/dr188.C: New test. - -2020-07-15 Uroš Bizjak - - PR target/96189 - * gcc.target/i386/pr96189.c: New test. - -2020-07-15 Nathan Sidwell - - * g++.dg/parse/pragma-recovery.C: New. - -2020-07-15 Jakub Jelinek - - PR target/96174 - * gcc.target/i386/avx512f-vcmppd-3.c: New test. - * gcc.target/i386/avx512f-vcmpps-3.c: New test. - -2020-07-15 Jakub Jelinek - - PR target/96176 - * gcc.target/i386/pr96176.c: New test. - -2020-07-14 Marek Polacek - - PR c++/59978 - * g++.dg/cpp0x/vt-59978.C: New test. - -2020-07-14 H.J. Lu - - PR target/95443 - * gcc.target/i386/pr95443-1.c (simple_strstr): Replace - __glibc_unlikely with __builtin_expect. - -2020-07-14 Marek Polacek - - PR c++/95789 - PR c++/96104 - PR c++/96179 - * g++.dg/conversion/ref4.C: New test. - * g++.dg/conversion/ref5.C: New test. - * g++.dg/conversion/ref6.C: New test. - -2020-07-14 Lewis Hyatt - - PR preprocessor/49973 - PR other/86904 - * c-c++-common/Wmisleading-indentation-3.c: Adjust expected output - for new defaults. - * c-c++-common/Wmisleading-indentation.c: Likewise. - * c-c++-common/diagnostic-format-json-1.c: Likewise. - * 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. - * c-c++-common/diagnostic-format-json-5.c: Likewise. - * c-c++-common/missing-close-symbol.c: Likewise. - * g++.dg/diagnostic/bad-binary-ops.C: Likewise. - * g++.dg/parse/error4.C: Likewise. - * g++.old-deja/g++.brendan/crash11.C: Likewise. - * g++.old-deja/g++.pt/overload2.C: Likewise. - * g++.old-deja/g++.robertl/eb109.C: Likewise. - * gcc.dg/analyzer/malloc-paths-9.c: Likewise. - * gcc.dg/bad-binary-ops.c: Likewise. - * gcc.dg/format/branch-1.c: Likewise. - * gcc.dg/format/pr79210.c: Likewise. - * gcc.dg/plugin/diagnostic-test-expressions-1.c: Likewise. - * gcc.dg/plugin/diagnostic-test-string-literals-1.c: Likewise. - * gcc.dg/redecl-4.c: Likewise. - * gfortran.dg/diagnostic-format-json-1.F90: Likewise. - * gfortran.dg/diagnostic-format-json-2.F90: Likewise. - * gfortran.dg/diagnostic-format-json-3.F90: Likewise. - * go.dg/arrayclear.go: Add a comment explaining why adding a - comment was necessary to work around a dejagnu bug. - * c-c++-common/diagnostic-units-1.c: New test. - * c-c++-common/diagnostic-units-2.c: New test. - * c-c++-common/diagnostic-units-3.c: New test. - * c-c++-common/diagnostic-units-4.c: New test. - * c-c++-common/diagnostic-units-5.c: New test. - * c-c++-common/diagnostic-units-6.c: New test. - * c-c++-common/diagnostic-units-7.c: New test. - * c-c++-common/diagnostic-units-8.c: New test. - -2020-07-14 Tobias Burnus - - * gfortran.dg/goacc/finalize-1.f: Relax scan-tree-dump-times - pattern to work on 32bit-pointer systems. - -2020-07-14 David Edelsohn - - * g++.dg/ipa/pr83667.C: Allow 0 or more dots between THUNK and 0. - -2020-07-14 Jakub Jelinek - - PR middle-end/96194 - * g++.dg/opt/pr96194.C: New test. - -2020-07-14 Marek Polacek - - PR c++/95820 - * g++.dg/cpp1y/auto-fn58.C: New test. - -2020-07-14 Steven G. Kargl - - PR fortran/95612 - * gfortran.dg/pr95612.f90: New test. - -2020-07-14 Tobias Burnus - - * gfortran.dg/goacc/finalize-1.f: Update dump scan pattern. - * gfortran.dg/gomp/map-1.f90: Update dg-error. - * gfortran.dg/gomp/map-2.f90: New test. - -2020-07-14 Steven G. Kargl - - PR fortran/96038 - * gfortran.dg/pr96038.f90: New test. - -2020-07-13 Aaron Sawdey - - * lib/target-supports.exp (is-effective-target): - Reorder to put powerpc stuff together. - (is-effective-target-keyword): Add power10_hw. - -2020-07-13 Nathan Sidwell - - * lib/scanlang.exp (scan-lang-dump): Fix breakage. - (scan-lang-dump-times, scan-lang-dump-not): New. - -2020-07-13 Aaron Sawdey - - * lib/target-supports.exp (check_ppc_mma_hw_available): - New function. - (is-effective-target): Add ppc_mma_hw. - (is-effective-target-keyword): Add ppc_mma_hw. - * gcc.target/powerpc/mma-supported.c: New file. - * gcc.target/powerpc/mma-single-test.c: Require ppc_mma_hw. - * gcc.target/powerpc/mma-double-test.c: Require ppc_mma_hw. - -2020-07-13 H.J. Lu - - PR target/95443 - * gcc.target/i386/pr95443-1.c: New test. - * gcc.target/i386/pr95443-2.c: Likewise. - -2020-07-13 Marek Polacek - - PR c++/95288 - * g++.dg/diagnostic/enum2.C: New test. - -2020-07-13 Jakub Jelinek - - PR ipa/96130 - * gcc.dg/torture/pr96130.c: New test. - -2020-07-13 Mark Eggleston - - PR fortran/45337 - * gfortran.dg/pr45337_1.f90: New test. - * gfortran.dg/pr45337_2.f90: New test. - -2020-07-13 Marek Polacek - - PR c++/96077 - * g++.dg/parse/enum14.C: New test. - -2020-07-13 Nathan Sidwell - - * lib/scanlang.exp (scan-lang-dump-not): Fix 3-arg case. - -2020-07-13 Richard Biener - - PR tree-optimization/96163 - * g++.dg/vect/pr96163.cc: New testcase. - -2020-07-13 Steven G. Kargl - - PR fortran/95981 - * gfortran.dg/pr95981.f90: New test. - -2020-07-13 Szabolcs Nagy - - PR target/94891 - * gcc.target/aarch64/return_address_sign_1.c: Update test. - * gcc.target/aarch64/return_address_sign_b_1.c: Likewise. - -2020-07-13 Richard Sandiford - - PR middle-end/95114 - * g++.target/aarch64/pr95114.C: New test. - -2020-07-13 Julian Brown - Thomas Schwinge - - * gfortran.dg/goacc/finalize-1.f: Update expected dump output. - -2020-07-13 Richard Biener - - PR testsuite/96180 - * gcc.dg/torture/pr96133.c: Align global variable. - -2020-07-13 Hans-Peter Nilsson - - * gcc.target/cris/pr93372-44.c, gcc.target/cris/pr93372-46.c: New. - -2020-07-13 Hans-Peter Nilsson - - PR target/93372 - * gcc.target/cris/pr93372-45.c: New test. - -2020-07-13 Hans-Peter Nilsson - - PR middle-end/94600 - * gcc.dg/pr94600-1.c, gcc.dg/pr94600-2.c, gcc.dg/pr94600-3.c, - gcc.dg/pr94600-4.c, gcc.dg/pr94600-5.c, gcc.dg/pr94600-6.c, - gcc.dg/pr94600-7.c, gcc.dg/pr94600-8.c: New tests. - -2020-07-13 Xionghu Luo - - * gcc.target/powerpc/vector_float.c: New test. - -2020-07-12 H.J. Lu - - PR target/93492 - * gcc.target/i386/pr93492-1.c: Require Linux target. - * gcc.target/i386/pr93492-2.c: Likewise. - * gcc.target/i386/pr93492-3.c: Likewise. - * gcc.target/i386/pr93492-4.c: Likewise. - * gcc.target/i386/pr93492-5.c: Likewise. - -2020-07-11 Thomas Koenig - - PR fortran/96073 - * gfortran.dg/interface_48.f90: New test. - -2020-07-11 Richard Sandiford - - PR tree-optimization/96146 - * gcc.target/aarch64/sve/acle/general/pr96146.c: New test. - -2020-07-11 Simon Cook - - * gcc.target/riscv/read-thread-pointer.c: Fix escaping on - regular expression. - -2020-07-10 Joseph Myers - - * gcc.dg/c11-bool-limits-1.c, gcc.dg/c2x-bool-limits-1.c: New - tests. - -2020-07-10 Rajalakshmi Srinivasaraghavan - Aaron Sawdey - - * gcc.target/powerpc/p10-identify.c: New file. - * gcc.target/powerpc/p10-arch31.c: New file. - * gcc.target/powerpc/mma-single-test.c: New file. - * gcc.target/powerpc/mma-double-test.c: New file. - -2020-07-10 Harald Anlauf - - PR fortran/95980 - * gfortran.dg/pr95980_2.f90: New file. - -2020-07-10 Harald Anlauf - - PR fortran/96086 - * gfortran.dg/pr96086.f90: New file. - -2020-07-10 Richard Sandiford - - PR target/92789 - PR target/95726 - * g++.target/arm/pr95726.C: New test. - -2020-07-10 Carl Love - - * gcc.target/powerpc/vsx_mask-count-runnable.c: New test case. - * gcc.target/powerpc/vsx_mask-expand-runnable.c: New test case. - * gcc.target/powerpc/vsx_mask-extract-runnable.c: New test case. - * gcc.target/powerpc/vsx_mask-move-runnable.c: New test case. - -2020-07-10 Martin Liska - - PR gcov-profile/96148 - * lib/scanwpaipa.exp: Fix wpa dump file suffix the same way - as other in the file. - -2020-07-10 Jason Merrill - - * g++.dg/cpp2a/nontype-class-union1.C: New test. - -2020-07-10 Jason Merrill - - * g++.dg/cpp0x/pr81246.C: No error in C++20. - * g++.dg/cpp0x/variadic74.C: No error in C++20. - * g++.dg/cpp1z/nontype-auto3.C: No error in C++20. - * g++.dg/template/crash106.C: No error in C++20. - * g++.dg/template/crash119.C: No error in C++20. - * g++.dg/template/nontype12.C: No error in C++20. - * g++.dg/template/void3.C: Don't require follow-on message. - * g++.dg/template/void7.C: Don't require follow-on message. - * g++.dg/template/void9.C: Don't require follow-on message. - * g++.dg/cpp2a/nontype-class-equiv1.C: New file. - -2020-07-10 Jason Merrill - - PR c++/96105 - PR c++/96052 - PR c++/95976 - * g++.dg/cpp2a/no_unique_address4.C: New test. - * g++.dg/cpp2a/no_unique_address5.C: New test. - * g++.dg/cpp2a/no_unique_address6.C: New test. - -2020-07-10 Andrea Corallo - Mihail-Calin Ionescu - Iain Apreotesei - - * gcc.target/arm/lob.h: New header. - * gcc.target/arm/lob1.c: New testcase. - * gcc.target/arm/lob2.c: Likewise. - * gcc.target/arm/lob3.c: Likewise. - * gcc.target/arm/lob4.c: Likewise. - * gcc.target/arm/lob5.c: Likewise. - * gcc.target/arm/lob6.c: Likewise. - * gcc.target/arm/unsigned-extend-2.c: Do not run when generating - low loop overhead. - * gcc.target/arm/ivopts.c: Fix check for low loop overhead. - * lib/target-supports.exp (check_effective_target_arm_v8_1_lob) - (check_effective_target_arm_thumb2_ok_no_arm_v8_1_lob): New procs. - -2020-07-10 Richard Biener - - PR tree-optimization/96133 - * gcc.dg/torture/pr96133.c: New testcase. - -2020-07-10 Cui,Lili - - * gcc.target/i386/funcspec-56.inc: Handle new march. - * g++.target/i386/mv16.C: Handle new march - -2020-07-09 Julian Brown - Thomas Schwinge - - PR middle-end/95270 - * c-c++-common/goacc/mdc-1.c: Update expected dump output for zero - bias. - -2020-07-09 Julian Brown - - * gfortran.dg/goacc/mapping-tests-3.f90: New test. - * gfortran.dg/goacc/mapping-tests-4.f90: New test. - -2020-07-09 Peter Bergner - - PR target/96125 - * gcc.target/powerpc/pr96125.c: New test. - -2020-07-09 Patrick Palka - - PR c++/96132 - * g++.dg/template/incomplete12.C: New test. - -2020-07-09 H.J. Lu - - PR target/88713 - * gcc.target/i386/pr88713-1.c: New test. - * gcc.target/i386/pr88713-2.c: Likewise. - -2020-07-09 Richard Biener - - * gcc.dg/vect/bb-slp-10.c: Adjust. - * gcc.dg/vect/slp-45.c: Likewise. - * gcc.dg/vect/vect-109.c: Likewise. - -2020-07-09 Bin Cheng - - PR tree-optimization/95804 - * gcc.dg/tree-ssa/pr95804.c: New test. - -2020-07-09 Omar Tahir - - * gcc.target/aarch64/nospill.c: New test. - -2020-07-09 Matthew Malcomson - - * gcc.target/aarch64/sls-mitigation/sls-miti-blr-bti.c: New test. - * gcc.target/aarch64/sls-mitigation/sls-miti-blr.c: New test. - -2020-07-09 Matthew Malcomson - - * gcc.target/aarch64/sls-mitigation/sls-miti-retbr.c: New test. - * gcc.target/aarch64/sls-mitigation/sls-miti-retbr-pacret.c: - New test. - * gcc.target/aarch64/sls-mitigation/sls-mitigation.exp: New file. - * lib/target-supports.exp (check_effective_target_aarch64_asm_sb_ok): - New proc. - -2020-07-09 Kewen Lin - - * gcc.target/aarch64/sve/clastb_1.c: Update dumping string. - * gcc.target/aarch64/sve/clastb_2.c: Likewise. - * gcc.target/aarch64/sve/clastb_3.c: Likewise. - * gcc.target/aarch64/sve/clastb_4.c: Likewise. - * gcc.target/aarch64/sve/clastb_5.c: Likewise. - * gcc.target/aarch64/sve/clastb_6.c: Likewise. - * gcc.target/aarch64/sve/clastb_7.c: Likewise. - -2020-07-09 Kito Cheng - - * gcc.target/riscv/read-thread-pointer.c: New. - -2020-07-09 Kito Cheng - - * gcc.target/riscv/save-restore-9.c: New. - -2020-07-08 Eric Botcazou - - * gcc.dg/sso-11.c: New test. - * gcc.dg/sso/sso.exp: Pass -Wno-scalar-storage-order. - * gcc.dg/sso/memcpy-1.c: New test. - -2020-07-08 Harald Anlauf - - PR fortran/96085 - * gfortran.dg/pr96085.f90: New file. - -2020-07-08 Patrick Palka - - PR c++/95497 - * g++.dg/cpp2a/concepts-pr95497.C: New test. - -2020-07-08 Will Schmidt - - * gcc.target/powerpc/builtins-msum-runnable.c: New test. - * gcc.target/powerpc/vsx-builtin-msum.c: New test. - -2020-07-08 Richard Sandiford - - PR middle-end/95694 - * gcc.dg/pr95694.c: New test. - -2020-07-08 Marek Polacek - - PR c++/96103 - * g++.dg/cpp0x/decltype77.C: New test. - -2020-07-07 Marek Polacek - - PR c++/92427 - * g++.dg/ext/flexary37.C: New test. - -2020-07-07 Patrick Palka - - PR c++/95303 - * g++.dg/concepts/diagnostic14.C: New test. - -2020-07-07 Aaron Sawdey - - * lib/target-supports.exp (check_power10_hw_available): - Return 0 for passing test. - -2020-07-07 Nathan Sidwell - - * c-c++-common/cpp/pragma-eof.c: New - -2020-07-07 Nathan Sidwell - - * c-c++-common/cpp/line-2.c: New. - * c-c++-common/cpp/line-2.h: New. - * c-c++-common/cpp/line-3.c: New. - * c-c++-common/cpp/line-4.c: New. - * c-c++-common/cpp/line-4.h: New. - -2020-07-07 Martin Sebor - - PR c++/96063 - * g++.dg/warn/Wmismatched-tags-7.C: New test. - * g++.dg/warn/Wmismatched-tags-8.C: New test. - -2020-07-07 Richard Biener - - * gcc.dg/vect/slp-47.c: New testcase. - * gcc.dg/vect/slp-48.c: Likewise. - -2020-07-06 Martin Sebor - - PR c++/95984 - * g++.dg/warn/Wnonnull6.C: New test. - -2020-07-06 Nathan Sidwell - - * g++.dg/eh/builtin10.C: Adjust expected errors. - * g++.dg/eh/builtin11.C: Likewise. - * g++.dg/eh/builtin5.C: Likewise. - * g++.dg/eh/builtin6.C: Likewise. - * g++.dg/eh/builtin7.C: Likewise. - * g++.dg/eh/builtin9.C: Likewise. - * g++.dg/parse/crash55.C: Likewise. - -2020-07-06 Harald Anlauf - - PR fortran/95980 - * gfortran.dg/pr95980.f90: New file. - -2020-07-06 Harald Anlauf - - PR fortran/95709 - * gfortran.dg/pr95709.f90: New file. - -2020-07-06 Jonathan Wakely - - * g++.old-deja/g++.bugs/900404_04.C: Add c++98_only selector to - dg-error for extra ';'. - * g++.old-deja/g++.law/missed-error2.C: Likewise. - -2020-07-06 Richard Biener - - PR tree-optimization/96075 - * gcc.dg/vect/slp-46.c: New testcase. - -2020-07-06 Roger Sayle - - * gcc.target/nvptx/vadd_add.c: New test. - * gcc.target/nvptx/vsub_add.c: New test. - -2020-07-06 Hans-Peter Nilsson - - * gcc.target/cris/peep2-movulsr.c: New test. - -2020-07-05 Hans-Peter Nilsson - - * gcc.target/cris/pr93372-39.c: New test. - -2020-07-05 Hans-Peter Nilsson - - * gcc.target/cris/pr93372-36.c, gcc.target/cris/pr93372-37.c, - gcc.target/cris/pr93372-38.c: New tests. - -2020-07-05 Thomas Koenig - - PR fortran/27318 - * gfortran.dg/error_recovery_1.f90: Adjust test case. - * gfortran.dg/use_15.f90: Likewise. - * gfortran.dg/interface_47.f90: New test. - -2020-07-04 Iain Sandoe - - * g++.dg/coroutines/pr9xxxx-mismatched-traits-and-promise-prev.C: Moved to... - * g++.dg/coroutines/pr94760-mismatched-traits-and-promise-prev.C: ...here. - -2020-07-03 Eric Botcazou - - * gnat.dg/opt87.adb: New test. - * gnat.dg/opt87_pkg.ads: New helper. - * gnat.dg/opt87_pkg.adb: Likewise. - -2020-07-03 Martin Jambor - - PR ipa/96040 - * gcc.dg/ipa/pr96040.c: New test. - -2020-07-03 Roger Sayle - - * gcc.target/nvptx/popc-1.c: New test. - * gcc.target/nvptx/popc-2.c: New test. - * gcc.target/nvptx/popc-3.c: New test. - * gcc.target/nvptx/mul-wide.c: New test. - * gcc.target/nvptx/umul-wide.c: New test. - -2020-07-03 Richard Biener - - * gcc.dg/vect/costmodel/x86_64/costmodel-vect-slp-2.c: New - testcase. - -2020-07-03 David Edelsohn - - * gcc.dg/fixits-pr84852-1.c: Enclose negative line number in braces. - * gcc.dg/fixits-pr84852-2.c: Same. - * gcc.dg/pr89410-1.c: Same. - * gcc.dg/pr89410-2.c: Same. - -2020-07-02 David Edelsohn - - * gfortran.dg/pr95690.f90: Solaris error appears on line 5. - -2020-07-02 David Edelsohn - - * gcc.dg/pr26570.c: dg-prune function not inlinable warning. - -2020-07-02 Harald Anlauf - - PR fortran/93423 - * gfortran.dg/pr93423.f90: New file. - -2020-07-02 Harald Anlauf - - PR fortran/93337 - * gfortran.dg/pr93337.f90: New file. - -2020-07-02 Jason Merrill - Jakub Jelinek - - * g++.dg/cpp2a/consteval-virtual1.C: New test. - * g++.dg/cpp2a/consteval-virtual2.C: New test. - * g++.dg/cpp2a/consteval-virtual3.C: New test. - * g++.dg/cpp2a/consteval-virtual4.C: New test. - * g++.dg/cpp2a/consteval-virtual5.C: New test. - -2020-07-02 Martin Jambor - - PR debug/95343 - * gcc.dg/guality/pr95343.c: New test. - -2020-07-02 Jakub Jelinek - - PR tree-optimization/95857 - * gcc.dg/pr95857.c: New test. - -2020-07-02 Richard Biener - - PR tree-optimization/96022 - * g++.dg/vect/pr96022.cc: New testcase. - -2020-07-02 Felix Yang - - PR tree-optimization/95961 - * gcc.target/aarch64/sve/pr95961.c: New test. - -2020-07-02 Jakub Jelinek - - * c-c++-common/gomp/loop-7.c: New test. - -2020-07-02 Steven G. Kargl - - PR fortran/95584 - * gfortran.dg/pr95584.f90: New test. - -2020-07-02 Kewen Lin - - * g++.dg/vect/slp-pr56812.cc: Ignore line number for basic block - vectorization messages. - -2020-07-01 Omar Tahir - - * gcc.target/aarch64/bti-4.c: New test. - -2020-07-01 Jeff Law - - PR tree-optimization/94882 - * gcc.dg/tree-ssa/pr94882.c: New test. - * gcc.dg/tree-ssa/pr94882-1.c: New test. - * gcc.dg/tree-ssa/pr94882-2.c: New test. - * gcc.dg/tree-ssa/pr94882-3.c: New test. - -2020-07-01 Jonathan Wakely - - PR testsuite/96014 - * g++.dg/analyzer/pr94028.C: Make operator new non-throwing so - that the compiler doesn't implicitly mark it as returning - non-null. - -2020-07-01 David Edelsohn - - * gfortran.dg/pr95690.f90: Adjust dg-error line number. - -2020-07-01 David Edelsohn - - * gcc.target/powerpc/direct-move-double1.c: Require lp64. - * gcc.target/powerpc/direct-move-float1.c: Same. - * gcc.target/powerpc/direct-move-float3.c: Same. - * gcc.target/powerpc/direct-move-vint1.c: Same. - * gcc.target/powerpc/vsx-vector-5.c: Same. - * gcc.target/powerpc/vsx-vector-6.p7.c: Same. - * gcc.target/powerpc/vsx-vector-6.p8.c: Same. - * gcc.target/powerpc/vsx-vector-6.p9.c: Same. - -2020-07-01 Andrea Corallo - - * gcc.target/aarch64/get_fpcr64_1.c: New test. - * gcc.target/aarch64/set_fpcr64_1.c: New test. - * gcc.target/aarch64/get_fpsr64_1.c: New test. - * gcc.target/aarch64/set_fpsr64_1.c: New test. - -2020-07-01 Steven G. Kargl - - PR fortran/95446 - * gfortran.dg/elemental_optional_args_6.f90: Remove check - for warnings that were erroneously output. - * gfortran.dg/pr95446.f90: New test. - -2020-07-01 Christophe Lyon - - PR target/94743 - * gcc.target/arm/handler-align.c: Add -mgeneral-regs-only. - -2020-07-01 Richard Biener - - PR tree-optimization/95839 - * gcc.dg/vect/bb-slp-pr95839-2.c: New testcase. - -2020-07-01 Martin Liska - - * g++.dg/gcov/loop.C: Use -H option instead of -j option. - -2020-07-01 Steven G. Kargl - - PR fortran/95829 - * gfortran.dg/pr95829.f90: New test. - -2020-07-01 Christophe Lyon - - PR target/94743 - * gcc.target/arm/pr94743-1-hard.c: Add missing quotes in expected - warning. - * gcc.target/arm/pr94743-1-softfp.c: Likewise. - -2020-07-01 Kito Cheng - - * gcc.target/riscv/attribute-13.c: New. - -2020-07-01 David Edelsohn - - * gcc.target/powerpc/direct-move-double1.c: Remove lp64 requirement. - * gcc.target/powerpc/direct-move-double2.c: Same. - * gcc.target/powerpc/direct-move-float1.c: Same. - * gcc.target/powerpc/direct-move-float2.c: Same. - * gcc.target/powerpc/direct-move-float3.c: Same. - * gcc.target/powerpc/direct-move-vint1.c: Same. - * gcc.target/powerpc/direct-move-vint2.c: Same. - * gcc.target/powerpc/direct-move-long1.c: Remove linux requirement.. - * gcc.target/powerpc/direct-move-long2.c: Same. - -2020-07-01 David Edelsohn - - * gcc.target/powerpc/20030218-1.c: Delete. - * gcc.target/powerpc/20030505.c: Delete. - * gcc.target/powerpc/20081204-1.c: Delete. - * gcc.target/powerpc/bcd-1.c: Remove dg-skip-if SPE. - * gcc.target/powerpc/bcd-2.c: Same. - * gcc.target/powerpc/bcd-3.c: Same. - * gcc.target/powerpc/direct-move-double1.c: Same. - * gcc.target/powerpc/direct-move-double2.c: Same. - * gcc.target/powerpc/direct-move-float1.c: Same. - * gcc.target/powerpc/direct-move-float2.c: Same. - * gcc.target/powerpc/direct-move-float3.c: Same. - * gcc.target/powerpc/direct-move-long1.c: Same. - * gcc.target/powerpc/direct-move-long2.c: Same. - * gcc.target/powerpc/direct-move-vint1.c: Same. - * gcc.target/powerpc/direct-move-vint2.c: Same. - * gcc.target/powerpc/extend-divide-1.c: Same. - * gcc.target/powerpc/extend-divide-2.c: Same. - * gcc.target/powerpc/pack01.c: Same. - * gcc.target/powerpc/pack02.c: Same. - * gcc.target/powerpc/pack03.c: Same. - * gcc.target/powerpc/pr52457.c: Same. - * gcc.target/powerpc/pr88845.c: Same. - * gcc.target/powerpc/quad-atomic.c: Same. - * gcc.target/powerpc/recip-6.c: Same. - * gcc.target/powerpc/recip-7.c: Same. - -2020-07-01 David Edelsohn - - * gcc.target/powerpc/p8vector-int128-1.c: Require int128 not lp64. - * gcc.target/powerpc/p8vector-int128-2.c: Same. - -2020-07-01 David Edelsohn - - * gcc.target/powerpc/pr90763.c: Adjust requirements. - * gcc.target/powerpc/vsx-vector-1.c: Same. - * gcc.target/powerpc/vsx-vector-2.c: Same. - * gcc.target/powerpc/vsx-vector-3.c: Same. - * gcc.target/powerpc/vsx-vector-4.c: Same. - * gcc.target/powerpc/vsx-vector-5.c: Same. - * gcc.target/powerpc/vsx-vector-6.p7.c: Same. - * gcc.target/powerpc/vsx-vector-6.p8.c: Same. - * gcc.target/powerpc/vsx-vector-6.p9.c: Same. - * gcc.target/powerpc/vsx-vector-abss.c: Same. - * gcc.target/powerpc/vsx-vectorize-1.c: Same. - * gcc.target/powerpc/vsx-vectorize-2.c: Same. - * gcc.target/powerpc/vsx-vectorize-3.c: Same. - * gcc.target/powerpc/vsx-vectorize-4.c: Same. - * gcc.target/powerpc/vsx-vectorize-5.c: Same. - * gcc.target/powerpc/vsx-vectorize-6.c: Same. - * gcc.target/powerpc/vsx-vectorize-7.c: Same. - * gcc.target/powerpc/vsx-vectorize-8.c: Same. - -2020-07-01 David Edelsohn - - * gcc.target/powerpc/ppc-spe.c: Delete. - * gcc.target/powerpc/ppc-spe64-1.c: Delete. - * gcc.target/powerpc/pr60102.c: Delete. - * gcc.target/powerpc/pr60158.c: Delete. - * gcc.target/powerpc/pr60735.c: Delete. - * gcc.target/powerpc/pr78458.c: Delete. - * gcc.target/powerpc/pr80343.c: Delete. - * gcc.target/powerpc/spe-evmerge.c: Delete. - * gcc.target/powerpc/spe-small-data-1.c: Delete. - * gcc.target/powerpc/spe-small-data-2.c: Delete. - * gcc.target/powerpc/spe-unwind-1.c: Delete. - * gcc.target/powerpc/spe-vector-memcpy.c: Delete. - * gcc.target/powerpc/spe-vector-memset.c: Delete. - * gcc.target/powerpc/spe1.c: Delete. - -2020-06-30 David Edelsohn - - * gcc.target/powerpc/builtins-2-p9-runnable.c: lp64 to int128. - * gcc.target/powerpc/builtins-6-p9-runnable.c: Same. - * gcc.target/powerpc/builtins-6-runnable.c: Same. - * gcc.target/powerpc/builtins-revb-runnable.c: Same. - -2020-06-30 Harald Anlauf - - PR fortran/88379 - * gfortran.dg/pr88379.f90: New file. - -2020-06-30 Richard Sandiford - - PR target/92789 - PR target/95726 - * g++.target/aarch64/pr95726.C: New test. - -2020-06-30 David Edelsohn - - * gcc.target/powerpc/builtins-1-p9-runnable.c: Fix target requirements. - * gcc.target/powerpc/builtins-1.c: Same. - * gcc.target/powerpc/builtins-2-p9-runnable.c: Same. - * gcc.target/powerpc/builtins-2.c: Same. - * gcc.target/powerpc/builtins-3-p9-runnable.c: Same. - * gcc.target/powerpc/builtins-3-p9.c: Same. - * gcc.target/powerpc/builtins-3-runnable-p8.c: Same. - * gcc.target/powerpc/builtins-3.c: Same. - * gcc.target/powerpc/builtins-4-p9-runnable.c: Same. - * gcc.target/powerpc/builtins-4.c: Same. - * gcc.target/powerpc/builtins-5-p9-runnable.c: Same. - * gcc.target/powerpc/builtins-5.c: Same. - * gcc.target/powerpc/builtins-6-p9-runnable.c: Same. - * gcc.target/powerpc/builtins-6-runnable.c: Same. - * gcc.target/powerpc/builtins-7-p9-runnable.c: Same. - * gcc.target/powerpc/builtins-7-runnable.c: Same. - * gcc.target/powerpc/builtins-8-p9-runnable.c: Same. - * gcc.target/powerpc/builtins-8-runnable.c: Same. - * gcc.target/powerpc/cpu-builtin-1.c: Same. - * gcc.target/powerpc/float128-fma1.c: Same. - * gcc.target/powerpc/float128-hw.c: Same. - * gcc.target/powerpc/float128-hw10.c: Same. - * gcc.target/powerpc/float128-hw11.c: Same. - * gcc.target/powerpc/float128-hw2.c: Same. - * gcc.target/powerpc/float128-hw3.c: Same. - * gcc.target/powerpc/float128-hw4.c: Same. - * gcc.target/powerpc/float128-hw5.c: Same. - * gcc.target/powerpc/float128-hw6.c: Same. - * gcc.target/powerpc/float128-hw7.c: Same. - * gcc.target/powerpc/float128-hw8.c: Same. - * gcc.target/powerpc/float128-hw9.c: Same. - * gcc.target/powerpc/float128-minmax.c: Same. - * gcc.target/powerpc/float128-odd.c: Same. - * gcc.target/powerpc/float128-sqrt1.c: Same. - -2020-06-30 David Edelsohn - - * gfortran.dg/analyzer/pr93993.f90: Expect leak tm warning. - -2020-06-30 Thomas Schwinge - - * lib/scanoffload.exp (scoff) : Skip HSA. - -2020-06-30 Christophe Lyon - - PR target/94743 - * gcc.misc-tests/arm-isr.c: Add -mgeneral-regs-only. - * gcc.target/arm/empty_fiq_handler.c: Add -mgeneral-regs-only. - * gcc.target/arm/interrupt-1.c: Add -mgeneral-regs-only. - * gcc.target/arm/interrupt-2.c: Add -mgeneral-regs-only. - * gcc.target/arm/pr70830.c: Add -mgeneral-regs-only. - * gcc.target/arm/pr94743-1-hard.c: New test. - * gcc.target/arm/pr94743-1-soft.c: New test. - * gcc.target/arm/pr94743-1-softfp.c: New test. - * gcc.target/arm/pr94743-2.c: New test. - * gcc.target/arm/pr94743-3.c: New test. - -2020-06-30 Yang Yang - - PR tree-optimization/95855 - * gcc.dg/tree-ssa/split-path-12.c: New testcase. - -2020-06-30 David Edelsohn - - * g++.dg/cpp0x/constexpr-is_literal.C: Limit test to -std=c++14. - -2020-06-30 Thomas Koenig - - PR fortran/95355 - * gfortran.dg/select_type_49.f90: New file. - -2020-06-30 Jakub Jelinek - - PR c++/95963 - * g++.dg/cpp1z/launder9.C: New test. - -2020-06-29 Harald Anlauf - - PR fortran/95978 - * gfortran.dg/pr95978.f90: New file. - -2020-06-29 Thomas Koenig - - PR fortran/95743 - * gfortran.dg/recursive_check_16.f90: New file. - -2020-06-29 David Edelsohn - - * gfortran.dg/char4-subscript.f90: Simplify regex. - Accept big endian or little endian output. - -2020-06-29 Marek Polacek - - PR c++/94553 - * g++.dg/cpp1y/pr68578.C: Adjust dg-error. - * g++.dg/cpp1y/var-templ66.C: New test. - * g++.dg/cpp2a/concepts-redecl1.C: New test. - -2020-06-29 Marek Polacek - - PR c++/95568 - * g++.dg/cpp2a/class-deduction-aggr5.C: New test. - * g++.dg/cpp2a/class-deduction-aggr6.C: New test. - -2020-06-29 Harald Anlauf - - PR fortran/71706 - * gfortran.dg/pr71706.f90: New file. - -2020-06-29 Martin Liska - - PR c++/86568 - * c-c++-common/builtin-arith-overflow-1.c (generic_3, typed_3_null): - Fix coding style. - -2020-06-29 Richard Biener - - PR tree-optimization/95916 - * gcc.dg/vect/pr95916.c: New testcase. - -2020-06-29 Jakub Jelinek - - PR c++/86568 - * c-c++-common/builtin-arith-overflow-1.c (generic_3, typed_3_null): - Adjust dg-warning. - -2020-06-29 Jakub Jelinek - - PR c++/86568 - * c-c++-common/builtin-arith-overflow-1.c (generic_3, typed_3_null): - Adjust dg-warning. - -2020-06-29 Kaipeng Zhou - - PR tree-optimization/95854 - * gcc.dg/pr95854.c: New test. - -2020-06-29 Frederik Harwath - - * lib/scandump.exp (glob-dump-file): New proc. - (scan-dump): Use glob-dump-file for file name expansion. - (scan-dump-times): Likewise. - (scan-dump-dem): Likewise. - (scan-dump-dem-not): Likewise. - -2020-06-28 Martin Sebor - - PR c++/86568 - * g++.dg/warn/Wnonnull5.C: New test. - * c-c++-common/pr28656.c: Adjust text of expected warning. - * c-c++-common/pr66208.c: Same. - * g++.dg/cpp0x/nullptr22.C: Same. - * g++.dg/ext/attr-nonnull.C: Same. - * g++.dg/ext/attrib49.C: Same. - * g++.dg/pr71973-2.C: Same. - * g++.dg/warn/Wnonnull3.C: Same. - * g++.dg/warn/Wnonnull4.C: Same. - * obj-c++.dg/attributes/method-nonnull-1.mm: Same. - * objc.dg/attributes/method-nonnull-1.m: Same. - -2020-06-28 Harald Anlauf - - PR fortran/95340 - * gfortran.dg/pr95340.f90: New file. - -2020-06-28 Iain Sandoe - - PR c++/95711 - * g++.dg/coroutines/pr95711.C: New test. - -2020-06-28 Harald Anlauf - - PR fortran/95880 - * gfortran.dg/pr95880.f90: New file. - -2020-06-28 Iain Sandoe - - PR c++/95519 - * g++.dg/coroutines/torture/pr95519-02-final_suspend.C: - Amend log messages. - * g++.dg/coroutines/torture/pr95519-03-return-value.C: - Likewise. - * g++.dg/coroutines/torture/pr95519-04-yield-value.C: - Likewise. - * g++.dg/coroutines/torture/pr95519-05-gro.C: Likewise. - -2020-06-28 David Edelsohn - - * gcc.target/powerpc/prefix-large-dd.c: Require DFP. - * gcc.target/powerpc/prefix-large-sd.c: Require DFP. - * gcc.target/powerpc/prefix-large-kf.c: Require float128. - * gcc.target/powerpc/prefix-pcrel-dd.c: Require DFP. - * gcc.target/powerpc/prefix-pcrel-sd.c: Require DFP. - * gcc.target/powerpc/prefix-pcrel-kf.c: Require float128. - -2020-06-27 Harald Anlauf - - PR fortran/95881 - * gfortran.dg/pr95881.f90: New file. - -2020-06-27 Jakub Jelinek - - PR middle-end/95903 - * c-c++-common/pr95903.c: New test. - -2020-06-27 Iain Sandoe - - PR c++/95736 - * g++.dg/coroutines/pr95736.C: New test. - -2020-06-27 Iain Sandoe - - * g++.dg/coroutines/coro-bad-grooaf-01-grooaf-expected.C: New test. - -2020-06-27 Michael Meissner - - * gcc.target/powerpc/prefix-add.c: New test. - * gcc.target/powerpc/prefix-si-constant.c: New test. - * gcc.target/powerpc/prefix-di-constant.c: New test. - * gcc.target/powerpc/prefix-ds-dq.c: New test. - * gcc.target/powerpc/prefix-no-update.c: New test. - * gcc.target/powerpc/prefix-large-dd.c: New test. - * gcc.target/powerpc/prefix-large-df.c: New test. - * gcc.target/powerpc/prefix-large-di.c: New test. - * gcc.target/powerpc/prefix-large-hi.c: New test. - * gcc.target/powerpc/prefix-large-kf.c: New test. - * gcc.target/powerpc/prefix-large-qi.c: New test. - * gcc.target/powerpc/prefix-large-sd.c: New test. - * gcc.target/powerpc/prefix-large-sf.c: New test. - * gcc.target/powerpc/prefix-large-si.c: New test. - * gcc.target/powerpc/prefix-large-udi.c: New test. - * gcc.target/powerpc/prefix-large-uhi.c: New test. - * gcc.target/powerpc/prefix-large-uqi.c: New test. - * gcc.target/powerpc/prefix-large-usi.c: New test. - * gcc.target/powerpc/prefix-large-v2df.c: New test. - * gcc.target/powerpc/prefix-large.h: Include file for new tests. - * gcc.target/powerpc/prefix-pcrel-dd.c: New test. - * gcc.target/powerpc/prefix-pcrel-df.c: New test. - * gcc.target/powerpc/prefix-pcrel-di.c: New test. - * gcc.target/powerpc/prefix-pcrel-hi.c: New test. - * gcc.target/powerpc/prefix-pcrel-kf.c: New test. - * gcc.target/powerpc/prefix-pcrel-qi.c: New test. - * gcc.target/powerpc/prefix-pcrel-sd.c: New test. - * gcc.target/powerpc/prefix-pcrel-sf.c: New test. - * gcc.target/powerpc/prefix-pcrel-si.c: New test. - * gcc.target/powerpc/prefix-pcrel-udi.c: New test. - * gcc.target/powerpc/prefix-pcrel-uhi.c: New test. - * gcc.target/powerpc/prefix-pcrel-uqi.c: New test. - * gcc.target/powerpc/prefix-pcrel-usi.c: New test. - * gcc.target/powerpc/prefix-pcrel-v2df.c: New test. - * gcc.target/powerpc/prefix-pcrel.h: Include file for new tests. - * gcc.target/powerpc/prefix-stack-protect.c: New test. - -2020-06-26 Yichao Yu - - * gcc.target/i386/pr95778-1.c: New test. - * gcc.target/i386/pr95778-2.c: New test. - -2020-06-26 Peter Bergner - - * gcc.target/powerpc/cpu-builtin-1.c: Add tests for power10, arch_3_1 - and mma. - -2020-06-26 Marek Polacek - - * c-c++-common/torture/vector-subscript-3.c: In C++17, define away - the keyword register. - * g++.dg/cpp1z/attributes-enum-1a.C: Only run pre-C++17. - * g++.dg/cpp1z/fold7a.C: Likewise. - * g++.dg/cpp1z/nontype3a.C: Likewise. - * g++.dg/cpp1z/utf8-2a.C: Likewise. - * g++.dg/parse/error11.C: Update expected diagnostics for C++17. - * g++.dg/torture/pr34850.C: Add -Wno-attribute-warning. - * g++.dg/torture/pr49394.C: In C++17, use noexcept(false). - * g++.dg/torture/pr82154.C: Use -std=c++14. - * lib/target-supports.exp: Set to C++17. - * obj-c++.dg/try-catch-9.mm: Use -Wno-register. - -2020-06-26 Kwok Cheung Yeung - - * gfortran.dg/gomp/combined-if.f90: Adjust expected number - of matches depending on whether nvptx offloading is supported. - * lib/target-supports.exp - (check_effective_target_offload_nvptx): New. - -2020-06-26 Eric Botcazou - - * gnat.dg/opt86_pkg.ads: New helper. - * gnat.dg/opt86a.adb: New test. - * gnat.dg/opt86b.adb: Likewise. - * gnat.dg/opt86c.adb: Likewise. - -2020-06-26 Iain Buclaw - - * gdc.dg/pr95250.d: Updated. - -2020-06-26 Iain Sandoe - - PR c++/95519 - * g++.dg/coroutines/torture/pr95519-00-return_void.C: New test. - * g++.dg/coroutines/torture/pr95519-01-initial-suspend.C: New test. - * g++.dg/coroutines/torture/pr95519-02-final_suspend.C: New test. - * g++.dg/coroutines/torture/pr95519-03-return-value.C: New test. - * g++.dg/coroutines/torture/pr95519-04-yield-value.C: New test. - * g++.dg/coroutines/torture/pr95519-05-gro.C: New test. - * g++.dg/coroutines/torture/pr95519-06-grooaf.C: New test. - * g++.dg/coroutines/torture/pr95519-07-unhandled-exception.C: New test. - -2020-06-26 Iain Sandoe - - * g++.dg/coroutines/coro1-allocators.h (BAD_GROOAF_STATIC): - New. - * g++.dg/coroutines/coro-bad-grooaf-00-static.C: New test. - -2020-06-26 Richard Biener - - PR tree-optimization/95897 - * gcc.dg/vect/pr95897.c: New testcase. - -2020-06-25 Marek Polacek - - PR c++/91104 - * g++.dg/cpp1y/lambda-generic-variadic21.C: New test. - -2020-06-25 Harald Anlauf - - PR fortran/95828 - * gfortran.dg/pr95828.f90: New file. - -2020-06-25 Harald Anlauf - - PR fortran/95826 - * gfortran.dg/pr95826.f90: New file. - -2020-06-25 Iain Buclaw - - PR d/95250 - * gdc.dg/pr95250.d: New test. - -2020-06-25 Iain Buclaw - - PR d/95173 - * gdc.dg/pr95173.d: New test. - -2020-06-25 Iain Buclaw - - * gdc.dg/init1.d: New test. - -2020-06-25 Iain Buclaw - - * gdc.dg/asm1.d: Don't use deprecated asm syntax. - * gdc.dg/compilable.d: Add public to selective import. - * gdc.dg/lto/ltotests_0.d: Explicitly catch Throwable. - * gdc.dg/runnable.d: Remove empty statement. - -2020-06-25 Tobias Burnus - - PR fortran/95837 - * gfortran.dg/char4-subscript.f90: New test. - -2020-06-25 Richard Biener - - PR tree-optimization/95839 - * gcc.dg/vect/bb-slp-pr95839.c: New testcase. - -2020-06-25 Tobias Burnus - Kwok Cheung Yeung - - PR fortran/95869 - * gfortran.dg/gomp/combined-if.f90 (test_target_parallel): Re-enable. - * gfortran.dg/gomp/pr95869.f90: New. - -2020-06-25 Kwok Cheung Yeung - - * gfortran.dg/gomp/combined-if.f90: New. - -2020-06-25 Richard Biener - - PR tree-optimization/95866 - * gcc.dg/vect/bb-slp-pr95866.c: New testcase. - -2020-06-24 Will Schmidt - - PR target/94954 - * gcc.target/powerpc/builtins-1-p9-runnable.c: Update. - -2020-06-24 Alexandre Oliva - - PR testsuite/95416 - PR testsuite/95577 - * gcc.misc-tests/outputs.exp (gsplit_dwarf): Move -g into it. - (outest): Introduce conditionals and string/variable/expr - expansion. Drop special-casing of $aout and .dwo. - (gspd): New conditional. Guard all .dwo files with it. - (ltop): New conditional. Guard files created by the LTO - plugin with it. Guard files created by fat LTO compilation - with its negation. Add a few -fno-use-linker-plugin tests - guarded by it. - -2020-06-24 Nicholas Krause - - PR c++/95672 - * g++.dg/template/pr95672.C: New test. - -2020-06-24 Iain Sandoe - - PR c++/95518 - PR c++/95813 - * g++.dg/coroutines/pr95518.C: New test. - * g++.dg/coroutines/pr95813.C: New test. - -2020-06-24 Iain Sandoe - - * g++.dg/coroutines/void-gro-non-class-coro.C: Moved to... - * g++.dg/coroutines/coro-bad-gro-01-void-gro-non-class-coro.C: ...here. - * g++.dg/coroutines/coro-bad-gro-00-class-gro-scalar-return.C: New test. - -2020-06-24 Jason Merrill - - PR c++/95719 - * g++.dg/tree-ssa/final4.C: New test. - -2020-06-24 Harald Anlauf - - PR fortran/95827 - * gfortran.dg/pr95827.f90: New file. - -2020-06-24 Richard Biener - - PR tree-optimization/95866 - * gcc.target/i386/pr95866-1.c: New testcase. - -2020-06-24 H.J. Lu - - PR target/95660 - * gcc.target/i386/builtin_target.c (check_detailed): Updated. - -2020-06-24 H.J. Lu - - PR target/95843 - * gcc.target/i386/builtin_target.c: Include , - ../../../common/config/i386/i386-cpuinfo.h and - ../../../common/config/i386/cpuinfo.h. - (check_amd_cpu_model): Removed. - (check_intel_cpu_model): Likewise, - (CHECK___builtin_cpu_is): New. - (gcc_assert): New. Defined as assert. - (gcc_unreachable): New. Defined as abort. - (inline): New. Defined as empty. - (ISA_NAMES_TABLE_START): Likewise. - (ISA_NAMES_TABLE_END): Likewise. - (ISA_NAMES_TABLE_ENTRY): New. - (check_features): Include - "../../../common/config/i386/i386-isas.h". - (check_detailed): Call cpu_indicator_init. Always call - check_features. Call get_amd_cpu instead of check_amd_cpu_model. - Call get_intel_cpu instead of check_intel_cpu_model. - -2020-06-24 Richard Biener - - PR tree-optimization/95856 - * gcc.dg/vect/pr95856.c: New testcase. - -2020-06-24 Jakub Jelinek - - PR middle-end/95810 - * gcc.dg/ubsan/pr95810.c: New test. - -2020-06-23 Jason Merrill - - * g++.dg/cpp2a/class-deduction-aggr3.C: New test. - * g++.dg/cpp2a/class-deduction-aggr4.C: New test. - -2020-06-23 Thomas Koenig - - * gfortran.fortran-torture/execute/forall_5.f90: Make forall - statement conforming. - -2020-06-23 Iain Sandoe - - PR c++/95477 - * g++.dg/coroutines/pr95477.C: New test. - * g++.dg/coroutines/void-gro-non-class-coro.C: New test. - -2020-06-23 Andre Vieira - - PR target/95646 - * gcc.target/arm/pr95646.c: New test. - -2020-06-23 Alexandre Oliva - - * lib/scanoffload.exp: New. - * lib/scanoffloadrtl.exp: Load it. Replace ".o" with "" - globally, and use scanoffload's scoff wrapper to fill it in. - * lib/scanoffloadtree.exp: Likewise. - -2020-06-23 Thomas Koenig - - PR fortran/95812 - * gfortran.dg/dependency_59.f90: New test. - -2020-06-23 Steven G. Kargl - - PR fortran/95586 - * gfortran.dg/pr95586_1.f90: New test. - * gfortran.dg/pr95586_2.f90: New test. - -2020-06-22 Segher Boessenkool - - * gcc.target/powerpc/cfuged-0.c: I protest. - * gcc.target/powerpc/cfuged-1.c: I protest. - * gcc.target/powerpc/clone3.c: I protest. - * gcc.target/powerpc/cntlzdm-0.c: I protest. - * gcc.target/powerpc/cntlzdm-1.c: I protest. - * gcc.target/powerpc/cnttzdm-0.c: I protest. - * gcc.target/powerpc/cnttzdm-1.c: I protest. - * gcc.target/powerpc/cpu-future.c: I protest. - * gcc.target/powerpc/dg-future-0.c: I protest. - * gcc.target/powerpc/dg-future-1.c: I protest. - * gcc.target/powerpc/localentry-1.c: I protest. - * gcc.target/powerpc/localentry-detect-1.c: I protest. - * gcc.target/powerpc/mma-builtin-1.c: I protest. - * gcc.target/powerpc/mma-builtin-2.c: I protest. - * gcc.target/powerpc/mma-builtin-3.c: I protest. - * gcc.target/powerpc/mma-builtin-4.c: I protest. - * gcc.target/powerpc/mma-builtin-5.c: I protest. - * gcc.target/powerpc/mma-builtin-6.c: I protest. - * gcc.target/powerpc/notoc-direct-1.c: I protest. - * gcc.target/powerpc/pcrel-sibcall-1.c: I protest. - * gcc.target/powerpc/pdep-0.c: I protest. - * gcc.target/powerpc/pdep-1.c: I protest. - * gcc.target/powerpc/pextd-0.c: I protest. - * gcc.target/powerpc/pextd-1.c: I protest. - * gcc.target/powerpc/pr93122.c: I protest. - * gcc.target/powerpc/pr94740.c: I protest. - * gcc.target/powerpc/setbceq.c: I protest. - * gcc.target/powerpc/setbcge.c: I protest. - * gcc.target/powerpc/setbcgt.c: I protest. - * gcc.target/powerpc/setbcle.c: I protest. - * gcc.target/powerpc/setbclt.c: I protest. - * gcc.target/powerpc/setbcne.c: I protest. - * gcc.target/powerpc/setnbceq.c: I protest. - * gcc.target/powerpc/setnbcge.c: I protest. - * gcc.target/powerpc/setnbcgt.c: I protest. - * gcc.target/powerpc/setnbcle.c: I protest. - * gcc.target/powerpc/setnbclt.c: I protest. - * gcc.target/powerpc/setnbcne.c: I protest. - * gcc.target/powerpc/vec-cfuged-0.c: I protest. - * gcc.target/powerpc/vec-cfuged-1.c: I protest. - * gcc.target/powerpc/vec-clrl-0.c: I protest. - * gcc.target/powerpc/vec-clrl-1.c: I protest. - * gcc.target/powerpc/vec-clrl-2.c: I protest. - * gcc.target/powerpc/vec-clrl-3.c: I protest. - * gcc.target/powerpc/vec-clrr-0.c: I protest. - * gcc.target/powerpc/vec-clrr-1.c: I protest. - * gcc.target/powerpc/vec-clrr-2.c: I protest. - * gcc.target/powerpc/vec-clrr-3.c: I protest. - * gcc.target/powerpc/vec-cntlzm-0.c: I protest. - * gcc.target/powerpc/vec-cntlzm-1.c: I protest. - * gcc.target/powerpc/vec-cnttzm-0.c: I protest. - * gcc.target/powerpc/vec-cnttzm-1.c: I protest. - * gcc.target/powerpc/vec-extracth-0.c: I protest. - * gcc.target/powerpc/vec-extracth-1.c: I protest. - * gcc.target/powerpc/vec-extracth-2.c: I protest. - * gcc.target/powerpc/vec-extracth-3.c: I protest. - * gcc.target/powerpc/vec-extracth-4.c: I protest. - * gcc.target/powerpc/vec-extracth-5.c: I protest. - * gcc.target/powerpc/vec-extracth-6.c: I protest. - * gcc.target/powerpc/vec-extracth-7.c: I protest. - * gcc.target/powerpc/vec-extracth-be-0.c: I protest. - * gcc.target/powerpc/vec-extracth-be-1.c: I protest. - * gcc.target/powerpc/vec-extracth-be-2.c: I protest. - * gcc.target/powerpc/vec-extracth-be-3.c: I protest. - * gcc.target/powerpc/vec-extractl-0.c: I protest. - * gcc.target/powerpc/vec-extractl-1.c: I protest. - * gcc.target/powerpc/vec-extractl-2.c: I protest. - * gcc.target/powerpc/vec-extractl-3.c: I protest. - * gcc.target/powerpc/vec-extractl-4.c: I protest. - * gcc.target/powerpc/vec-extractl-5.c: I protest. - * gcc.target/powerpc/vec-extractl-6.c: I protest. - * gcc.target/powerpc/vec-extractl-7.c: I protest. - * gcc.target/powerpc/vec-extractl-be-0.c: I protest. - * gcc.target/powerpc/vec-extractl-be-1.c: I protest. - * gcc.target/powerpc/vec-extractl-be-2.c: I protest. - * gcc.target/powerpc/vec-extractl-be-3.c: I protest. - * gcc.target/powerpc/vec-gnb-0.c: I protest. - * gcc.target/powerpc/vec-gnb-1.c: I protest. - * gcc.target/powerpc/vec-gnb-2.c: I protest. - * gcc.target/powerpc/vec-pdep-0.c: I protest. - * gcc.target/powerpc/vec-pdep-1.c: I protest. - * gcc.target/powerpc/vec-pext-0.c: I protest. - * gcc.target/powerpc/vec-pext-1.c: I protest. - * gcc.target/powerpc/vec-stril-0.c: I protest. - * gcc.target/powerpc/vec-stril-1.c: I protest. - * gcc.target/powerpc/vec-stril-10.c: I protest. - * gcc.target/powerpc/vec-stril-11.c: I protest. - * gcc.target/powerpc/vec-stril-12.c: I protest. - * gcc.target/powerpc/vec-stril-13.c: I protest. - * gcc.target/powerpc/vec-stril-14.c: I protest. - * gcc.target/powerpc/vec-stril-15.c: I protest. - * gcc.target/powerpc/vec-stril-16.c: I protest. - * gcc.target/powerpc/vec-stril-17.c: I protest. - * gcc.target/powerpc/vec-stril-18.c: I protest. - * gcc.target/powerpc/vec-stril-19.c: I protest. - * gcc.target/powerpc/vec-stril-2.c: I protest. - * gcc.target/powerpc/vec-stril-20.c: I protest. - * gcc.target/powerpc/vec-stril-21.c: I protest. - * gcc.target/powerpc/vec-stril-22.c: I protest. - * gcc.target/powerpc/vec-stril-23.c: I protest. - * gcc.target/powerpc/vec-stril-3.c: I protest. - * gcc.target/powerpc/vec-stril-4.c: I protest. - * gcc.target/powerpc/vec-stril-5.c: I protest. - * gcc.target/powerpc/vec-stril-6.c: I protest. - * gcc.target/powerpc/vec-stril-7.c: I protest. - * gcc.target/powerpc/vec-stril-8.c: I protest. - * gcc.target/powerpc/vec-stril-9.c: I protest. - * gcc.target/powerpc/vec-stril_p-0.c: I protest. - * gcc.target/powerpc/vec-stril_p-1.c: I protest. - * gcc.target/powerpc/vec-stril_p-10.c: I protest. - * gcc.target/powerpc/vec-stril_p-11.c: I protest. - * gcc.target/powerpc/vec-stril_p-2.c: I protest. - * gcc.target/powerpc/vec-stril_p-3.c: I protest. - * gcc.target/powerpc/vec-stril_p-4.c: I protest. - * gcc.target/powerpc/vec-stril_p-5.c: I protest. - * gcc.target/powerpc/vec-stril_p-6.c: I protest. - * gcc.target/powerpc/vec-stril_p-7.c: I protest. - * gcc.target/powerpc/vec-stril_p-8.c: I protest. - * gcc.target/powerpc/vec-stril_p-9.c: I protest. - * gcc.target/powerpc/vec-strir-0.c: I protest. - * gcc.target/powerpc/vec-strir-1.c: I protest. - * gcc.target/powerpc/vec-strir-10.c: I protest. - * gcc.target/powerpc/vec-strir-11.c: I protest. - * gcc.target/powerpc/vec-strir-12.c: I protest. - * gcc.target/powerpc/vec-strir-13.c: I protest. - * gcc.target/powerpc/vec-strir-14.c: I protest. - * gcc.target/powerpc/vec-strir-15.c: I protest. - * gcc.target/powerpc/vec-strir-16.c: I protest. - * gcc.target/powerpc/vec-strir-17.c: I protest. - * gcc.target/powerpc/vec-strir-18.c: I protest. - * gcc.target/powerpc/vec-strir-19.c: I protest. - * gcc.target/powerpc/vec-strir-2.c: I protest. - * gcc.target/powerpc/vec-strir-20.c: I protest. - * gcc.target/powerpc/vec-strir-21.c: I protest. - * gcc.target/powerpc/vec-strir-22.c: I protest. - * gcc.target/powerpc/vec-strir-23.c: I protest. - * gcc.target/powerpc/vec-strir-3.c: I protest. - * gcc.target/powerpc/vec-strir-4.c: I protest. - * gcc.target/powerpc/vec-strir-5.c: I protest. - * gcc.target/powerpc/vec-strir-6.c: I protest. - * gcc.target/powerpc/vec-strir-7.c: I protest. - * gcc.target/powerpc/vec-strir-8.c: I protest. - * gcc.target/powerpc/vec-strir-9.c: I protest. - * gcc.target/powerpc/vec-strir_p-0.c: I protest. - * gcc.target/powerpc/vec-strir_p-1.c: I protest. - * gcc.target/powerpc/vec-strir_p-10.c: I protest. - * gcc.target/powerpc/vec-strir_p-11.c: I protest. - * gcc.target/powerpc/vec-strir_p-2.c: I protest. - * gcc.target/powerpc/vec-strir_p-3.c: I protest. - * gcc.target/powerpc/vec-strir_p-4.c: I protest. - * gcc.target/powerpc/vec-strir_p-5.c: I protest. - * gcc.target/powerpc/vec-strir_p-6.c: I protest. - * gcc.target/powerpc/vec-strir_p-7.c: I protest. - * gcc.target/powerpc/vec-strir_p-8.c: I protest. - * gcc.target/powerpc/vec-strir_p-9.c: I protest. - * gcc.target/powerpc/vec-ternarylogic-0.c: I protest. - * gcc.target/powerpc/vec-ternarylogic-1.c: I protest. - * gcc.target/powerpc/vec-ternarylogic-10.c: I protest. - * gcc.target/powerpc/vec-ternarylogic-2.c: I protest. - * gcc.target/powerpc/vec-ternarylogic-3.c: I protest. - * gcc.target/powerpc/vec-ternarylogic-4.c: I protest. - * gcc.target/powerpc/vec-ternarylogic-5.c: I protest. - * gcc.target/powerpc/vec-ternarylogic-6.c: I protest. - * gcc.target/powerpc/vec-ternarylogic-7.c: I protest. - * gcc.target/powerpc/vec-ternarylogic-8.c: I protest. - * gcc.target/powerpc/vec-ternarylogic-9.c: I protest. - * gcc.target/powerpc/xxgenpc-runnable.c: I protest. - * lib/target-supports.exp: Stuff. - -2020-06-22 Srinath Parvathaneni - - * gcc.target/arm/mve/intrinsics/mve_scalar_shifts1.c: Modify. - * gcc.target/arm/mve/intrinsics/mve_scalar_shifts2.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_scalar_shifts3.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_scalar_shifts4.c: Likewise. - * lib/target-supports.exp (check_effective_target_arm_mve_hw): Define. - -2020-06-22 Steven G. Kargl - - PR fortran/95708 - * gfortran.dg/pr95708.f90: New test. - -2020-06-22 H.J. Lu - - PR target/95791 - * gcc.target/i386/pr95791.c: New test. - -2020-06-22 Steven G. Kargl - - PR fortran/95585 - * gfortran.dg/pr95585.f90: New test. - -2020-06-22 Richard Biener - - PR tree-optimization/95770 - * gcc.dg/pr95770.c: New testcase. - -2020-06-22 Kito Cheng - - * g++.target/riscv/frflags.C: New. - -2020-06-21 Peter Bergner - - * gcc.target/powerpc/mma-builtin-1.c: New file. - * gcc.target/powerpc/mma-builtin-2.c: New file. - * gcc.target/powerpc/mma-builtin-3.c: New file. - * gcc.target/powerpc/mma-builtin-4.c: New file. - * gcc.target/powerpc/mma-builtin-5.c: New file. - * gcc.target/powerpc/mma-builtin-6.c: New file. - -2020-06-20 Iain Sandoe - - PR c++/95505 - * g++.dg/coroutines/pr95505.C: New test. - -2020-06-20 Jason Merrill - - * g++.dg/cpp2a/concepts-return-req1.C: Expect error. - * g++.dg/cpp2a/concepts-p2113a.C: New test. - * g++.dg/cpp2a/concepts-p2113b.C: New test. - -2020-06-20 Harald Anlauf - - PR fortran/95707 - * gfortran.dg/pr95707.f90: New file. - -2020-06-20 Harald Anlauf - - PR fortran/95688 - * gfortran.dg/pr95688.f90: New file. - -2020-06-20 Harald Anlauf - - PR fortran/95687 - * gfortran.dg/pr95687.f90: New file. - -2020-06-20 Harald Anlauf - - PR fortran/95689 - * gfortran.dg/pr95689.f90: New file. - -2020-06-20 Harald Anlauf - - PR fortran/95587 - * gfortran.dg/pr95587.f90: New file. - -2020-06-20 Bin Cheng - - PR tree-optimization/95638 - * g++.dg/tree-ssa/pr95638.C: New test. - -2020-06-19 David Edelsohn - - * gcc.dg/tree-ssa/popcount4ll.c: Add target lp64. - * gcc.dg/tree-ssa/popcount5ll.c: Same. - -2020-06-19 Jason Merrill - - * g++.dg/cpp2a/spaceship-friend1.C: New test. - * g++.dg/cpp2a/spaceship-err4.C: Adjust diagnostic. - -2020-06-19 David Edelsohn - - * gcc.target/powerpc/vec-extracth-be-0.c: Apply -mbig - conditionally for powerpc64le*-*-*. - * gcc.target/powerpc/vec-extracth-be-1.c: Same. - * gcc.target/powerpc/vec-extracth-be-2.c: Same. - * gcc.target/powerpc/vec-extracth-be-3.c: Same. - * gcc.target/powerpc/vec-extractl-be-0.c: Same. - * gcc.target/powerpc/vec-extractl-be-1.c: Same. - * gcc.target/powerpc/vec-extractl-be-2.c: Same. - * gcc.target/powerpc/vec-extractl-be-3.c: Same. - -2020-06-19 Przemyslaw Wirkus - - PR tree-optimization/94880 - * gcc.dg/tree-ssa/pr94880.c: New Test. - -2020-06-19 Richard Biener - - PR tree-optimization/95761 - * gcc.dg/torture/pr95761.c: New testcase. - -2020-06-18 Jason Merrill - - * g++.dg/cpp2a/spaceship-ref1.C: New test. - * g++.dg/cpp2a/spaceship-synth-neg4.C: New test. - * g++.dg/cpp2a/spaceship-union1.C: New test. - -2020-06-18 Uroš Bizjak - - * gcc.target/i386/pr78904-1a.c: New test. - * gcc.target/i386/pr78904-1b.c: Ditto. - * gcc.target/i386/pr78904-2a.c: Ditto. - * gcc.target/i386/pr78904-2b.c: Ditto. - * gcc.target/i386/pr78904-3a.c: Ditto. - * gcc.target/i386/pr78904-3b.c: Ditto. - * gcc.target/i386/pr78904-4a.c: Ditto. - * gcc.target/i386/pr78904-4b.c: Ditto. - * gcc.target/i386/pr78904-5a.c: Ditto. - * gcc.target/i386/pr78904-5b.c: Ditto. - * gcc.target/i386/pr78904-6a.c: Ditto. - * gcc.target/i386/pr78904-6b.c: Ditto. - * gcc.target/i386/pr78967-1a.c: Ditto. - * gcc.target/i386/pr78967-1b.c: Ditto. - * gcc.target/i386/pr78967-2a.c: Ditto. - * gcc.target/i386/pr78967-2b.c: Ditto. - -2020-06-18 Martin Sebor - - PR middle-end/95667 - PR middle-end/92814 - * gcc.dg/Wstringop-overflow-25.c: Remove xfails. - * gcc.dg/Wstringop-overflow-39.c: New test. - -2020-06-18 Marek Polacek - - PR c++/95735 - * g++.dg/cpp2a/concepts-err2.C: New test. - -2020-06-18 Christophe Lyon - - * g++.target/aarch64/pr94052.C: Give z::ad public access. - -2020-06-18 Tobias Burnus - - * gfortran.dg/gomp/map-alloc-comp-1.f90: New test. - -2020-06-18 Marek Polacek - - PR c++/95728 - * g++.dg/template/cast6.C: New test. - -2020-06-18 Jakub Jelinek - - PR tree-optimization/95699 - * gcc.dg/tree-ssa/pr95699.c: New test. - -2020-06-18 Jakub Jelinek - - PR target/95713 - * gcc.dg/pr95713.c: New test. - -2020-06-17 Thomas Schwinge - - * c-c++-common/gomp/default-1.c: Update. - * c-c++-common/gomp/defaultmap-3.c: Likewise. - * c-c++-common/gomp/order-4.c: Likewise. - * g++.dg/gomp/parallel-2.C: Likewise. - * g++.dg/gomp/predetermined-1.C: Likewise. - * g++.dg/gomp/sharing-1.C: Likewise. - * gcc.dg/gomp/appendix-a/a.24.1.c: Likewise. - * gcc.dg/gomp/parallel-2.c: Likewise. - * gcc.dg/gomp/pr44085.c: Likewise. - * gcc.dg/gomp/sharing-1.c: Likewise. - * gcc.dg/gomp/vla-1.c: Likewise. - * gfortran.dg/gomp/appendix-a/a.24.1.f90: Likewise. - * gfortran.dg/gomp/crayptr3.f90: Likewise. - * gfortran.dg/gomp/pr33439.f90: Likewise. - * gfortran.dg/gomp/pr44036-1.f90: Likewise. - * gfortran.dg/gomp/pr44085.f90: Likewise. - * gfortran.dg/gomp/pr44536.f90: Likewise. - * gfortran.dg/gomp/pr94672.f90: Likewise. - * gfortran.dg/gomp/sharing-1.f90: Likewise. - * gfortran.dg/gomp/sharing-2.f90: Likewise. - * gfortran.dg/gomp/sharing-3.f90: Likewise. - -2020-06-17 Thomas Schwinge - - * c-c++-common/gomp/hsa-indirect-call-1.c: New file. - -2020-06-17 Jonathan Wakely - - PR c++/66159 - * g++.dg/warn/forward-inner.C: Check alias-declaration using - elaborated-type-specifier. - -2020-06-17 Bin Cheng - Kaipeng Zhou - Bin Cheng - Kaipeng Zhou - - PR tree-optimization/95199 - * gcc.target/aarch64/sve/pr95199.c: New test. - -2020-06-17 Jason Merrill - - * g++.dg/cpp2a/spaceship-synth9.C: New test. - -2020-06-17 Jason Merrill - - * g++.dg/cpp2a/concepts-ca107.C: New test. - -2020-06-17 Jason Merrill - - * g++.dg/cpp2a/consteval17.C: New test. - -2020-06-17 Jason Merrill - - * g++.dg/cpp0x/pr62101.C: Expect error. - * g++.dg/cpp0x/pr80259.C: Expect error. - * g++.dg/cpp2a/concepts-friend8.C: New test. - -2020-06-17 Jonathan Wakely - - * c-c++-common/pr95378.c: New test. - -2020-06-17 Andreas Krebbel - - * gcc.target/s390/20200617.c: New test. - -2020-06-17 Marek Polacek - - PR c++/95508 - * g++.dg/template/conv16.C: New test. - -2020-06-17 Patrick Palka - - PR testsuite/95716 - * g++.dg/ext/pr85503.C: Give ai::cv public access. - -2020-06-17 Richard Biener - - PR tree-optimization/95717 - * g++.dg/torture/pr95717.C: New testcase. - -2020-06-17 Martin Liska - - PR testsuite/95720 - * gcc.misc-tests/gcov-pr94029.c: Remove not needed remove-gcda. - * lib/gcov.exp: Delete properly .gcov files. - -2020-06-17 Martin Liska - - * g++.dg/vect/vec-cond-expr-eh.C: New test. - -2020-06-17 liuhongt - - * gcc.target/i386/avx2-shiftqihi-constant-1.c: New test. - * gcc.target/i386/avx2-shiftqihi-constant-2.c: Ditto. - * gcc.target/i386/avx512bw-shiftqihi-constant-1.c: Ditto. - * gcc.target/i386/avx512bw-shiftqihi-constant-2.c: Ditto. - * gcc.target/i386/sse2-shiftqihi-constant-1.c: Ditto. - * gcc.target/i386/sse2-shiftqihi-constant-2.c: Ditto. - -2020-06-16 Jonathan Wakely - - * g++.dg/torture/pr95493-1.C: New test. - -2020-06-16 Aldy Hernandez - - * g++.dg/tree-ssa/pr95649.C: New test. - * gcc.dg/tree-ssa/pr95649.c: New test. - -2020-06-16 Tobias Burnus - - * gfortran.dg/goacc/pure-elemental-procedures-2.f90: New test. - -2020-06-16 Tobias Burnus - - * gfortran.dg/gomp/pr79154-simd.f90: New test. - -2020-06-16 Marek Polacek - - PR c++/95369 - * g++.dg/cpp2a/desig11.C: Adjust dg-error. - * g++.dg/cpp2a/desig16.C: New test. - -2020-06-16 Marek Polacek - - PR c++/95560 - * g++.dg/warn/Wshadow-local-3.C: New test. - -2020-06-16 Jakub Jelinek - - * c-c++-common/asan/inline.c: Add -ffat-lto-objects to dg-options. - * c-c++-common/asan/inline-kernel.c: Likewise. - * c-c++-common/ubsan/inline.c: Likewise. - -2020-06-16 Srinath Parvathaneni - - * gcc.target/arm/mve/intrinsics/mve_vaddq_m.c: New test. - -2020-06-16 Srinath Parvathaneni - - * gcc.target/arm/mve/intrinsics/mve_scalar_shifts1.c: New test. - * gcc.target/arm/mve/intrinsics/mve_scalar_shifts2.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_scalar_shifts3.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_scalar_shifts4.c: Likewise. - -2020-06-16 Jakub Jelinek - - * c-c++-common/gomp/loop-6.c: New test. - * gcc.dg/gomp/loop-1.c: Don't expect diagnostics on valid - non-rectangular loops. - * gcc.dg/gomp/loop-2.c: New test. - * g++.dg/gomp/loop-1.C: Don't expect diagnostics on valid - non-rectangular loops. - * g++.dg/gomp/loop-2.C: Likewise. - * g++.dg/gomp/loop-5.C: New test. - * g++.dg/gomp/loop-6.C: New test. - -2020-06-16 Jakub Jelinek - - * c-c++-common/gomp/schedule-modifiers-2.c: New test. - -2020-06-16 Tobias Burnus - - PR middle-end/95622 - * lib/target-supports.exp (check_effective_target_offloading_enabled): - New. - * c-c++-common/goacc/kernels-alias-ipa-pta-2.c: Use it for xfail. - * c-c++-common/goacc/kernels-alias-ipa-pta-4.c: Likewise. - * c-c++-common/goacc/kernels-alias-ipa-pta.c: Likewise. - -2020-06-16 Tobias Burnus - - * gfortran.dg/gomp/pr79154-1.f90: Update dg-*; - add an impure elemental example. - * gfortran.dg/gomp/pr79154-2.f90: Likewise. - -2020-06-16 Patrick Palka - - PR c++/41437 - PR c++/47346 - * g++.dg/cpp2a/concepts-using2.C: Adjust. - * g++.dg/lto/20081219_1.C: Adjust. - * g++.dg/lto/20091002-1_0.C: Adjust. - * g++.dg/lto/pr65475c_0.C: Adjust. - * g++.dg/opt/dump1.C: Adjust. - * g++.dg/other/pr53574.C: Adjust. - * g++.dg/template/access30.C: New test. - * g++.dg/template/access31.C: New test. - * g++.dg/wrappers/wrapper-around-type-pack-expansion.C: Adjust. - -2020-06-16 Richard Biener - - PR middle-end/95690 - * gfortran.dg/pr95690.f90: New testcase. - -2020-06-16 Thomas Schwinge - - PR tree-optimization/94988 - * gcc.dg/graphite/pr80906.c: Un-XFAIL. - -2020-06-16 Thomas Schwinge - - * gcc.dg/lto/pr52634_0.c: Further adjust 'dg-lto-options'. - -2020-06-16 Kito Cheng - - PR target/95683 - * gcc.target/riscv/pr95683.c: New. - -2020-06-15 Eric Botcazou - - * gnat.dg/aggr30.ads, gnat.dg/aggr30.adb: New test. - -2020-06-15 Eric Botcazou - - * gnat.dg/opt85.ads, gnat.dg/opt85.adb: New test. - -2020-06-15 Max Filippov - - * gcc.target/xtensa/mabi-call0.c: New test. - * gcc.target/xtensa/mabi-windowed.c: New test. - -2020-06-15 Martin Jambor - - * lib/brig.exp (brig_target_compile): Strip hsail extension when - gnerating the name of the binary brig file. - -2020-06-15 Hongtao Liu - - * gcc.target/i386/avx512bw-pr95488-1.c: New test. - * gcc.target/i386/avx512bw-pr95488-2.c: Ditto. - * gcc.target/i386/avx512vl-pr95488-1.c: Ditto. - * gcc.target/i386/avx512vl-pr95488-2.c: Ditto. - -2020-06-14 Harald Anlauf - - PR fortran/95088 - * gfortran.dg/pr95088.f90: New file. - -2020-06-14 Thomas Koenig - - * gfortran.dg/random_seed_4.f90: New test. - -2020-06-14 Thomas Koenig - - PR fortran/94109 - * gfortran.dg/finalize_34.f90: Adjust free counts. - * gfortran.dg/finalize_36.f90: New test. - -2020-06-14 Iain Buclaw - - PR testsuite/95575 - * lib/gdc-utils.exp (gdc-do-test): Re-add $subdir link and inclusion - in filename. - -2020-06-13 Martin Sebor - - * gcc.dg/builtin-stringop-chk-5.c: Make assertions independent of - data model. - -2020-06-13 Thomas Koenig - - * gfortran.dg/finalize_36.f90: Remove accidentally - committed test case. - -2020-06-13 Thomas Koenig - - PR libfortran/95313 - * gfortran.dg/finalize_36.f90: New file. - -2020-06-12 Marco Elver - - * c-c++-common/tsan/func_entry_exit.c: New test. - * c-c++-common/tsan/func_entry_exit_disabled.c: New test. - -2020-06-12 Richard Biener - - * gcc.dg/vect/bb-slp-44.c: New testcase. - -2020-06-12 Felix Yang - - PR tree-optimization/95570 - * gcc.dg/vect/pr95570.c: New test. - -2020-06-12 Arnaud Charlet - - * gnat.dg/rep_clause8.adb: Update error location. - -2020-06-12 Alexandre Oliva - - * lib/prune.exp (prune_gcc_output): Match any executable name - in collect messages. - -2020-06-12 H.J. Lu - - PR target/93492 - * gcc.target/i386/pr93492-1.c: New test. - * gcc.target/i386/pr93492-2.c: Likewise. - * gcc.target/i386/pr93492-3.c: Likewise. - * gcc.target/i386/pr93492-4.c: Likewise. - * gcc.target/i386/pr93492-5.c: Likewise. - -2020-06-11 Patrick Palka - - PR c++/93467 - * g++.dg/cpp2a/concepts-friend6.C: New test. - * g++.dg/cpp2a/concepts-friend7.C: New test. - -2020-06-11 Harald Anlauf - Steven G. Kargl - - PR fortran/95611 - * gfortran.dg/pr95611.f90: New file. - -2020-06-11 Steven G. Kargl - Harald Anlauf - - PR fortran/95544 - * gfortran.dg/pr95544.f90: New file. - -2020-06-11 Tamar Christina - - * lib/target-supports.exp (check_effective_target_exceptions_enabled): - Mark as C++ test input. - -2020-06-11 Harald Anlauf - - PR fortran/95503 - * gfortran.dg/pr95503.f90: New test. - -2020-06-11 José Rui Faustino de Sousa - - PR fortran/95331 - * gfortran.dg/PR95331.f90: New test. - -2020-06-11 David Edelsohn - - * g++.dg/abi/pure-virtual1.C: XFAIL AIX. - -2020-06-11 David Edelsohn - - * gcc.dg/spellcheck-inttypes.c: Don't include inttypes.h on AIX. - -2020-06-11 José Rui Faustino de Sousa - - PR fortran/52351 - PR fortran/85868 - * gfortran.dg/coarray_lib_comm_1.f90: Adjust match test for - the newly generated descriptor. - * gfortran.dg/PR85868A.f90: New test. - * gfortran.dg/PR85868B.f90: New test. - -2020-06-11 José Rui Faustino de Sousa - - PR fortran/94022 - * gfortran.dg/PR94022.f90: New test. - -2020-06-11 Kito Cheng - - * gcc.target/riscv/pr95252.c: New. - -2020-06-10 Alexandre Oliva - - PR rtl-optimization/51447 - * gcc.c-torture/execute/pr51447.c (main): Preserve call-saved - register. - -2020-06-10 Iain Sandoe - - PR c++/95440 - * g++.dg/coroutines/pr95440.C: New test. - -2020-06-10 Martin Sebor - - PR middle-end/95353 - PR middle-end/92939 - * c-c++-common/Wstringop-truncation.c: Remove an xfail. - * gcc.dg/Warray-bounds-46.c: Remove a bogus warning. - * gcc.dg/Wrestrict-9.c: Disable -Wstringop-overflow. - * gcc.dg/Wstringop-overflow-12.c: Remove xfails. - * gcc.dg/Wstringop-overflow-28.c: Same. - * gcc.dg/builtin-stringop-chk-4.c: Same. - * gcc.dg/builtin-stringop-chk-5.c: Same. - * gcc.dg/builtin-stringop-chk-8.c: Same. - * gcc.dg/strlenopt-74.c: Avoid buffer overflow. - * gcc.dg/Wstringop-overflow-34.c: New test. - * gcc.dg/Wstringop-overflow-35.c: New test. - * gcc.dg/Wstringop-overflow-36.c: New test. - * gcc.dg/Wstringop-overflow-37.c: New test. - * gcc.dg/Wstringop-overflow-38.c: New test. - -2020-06-10 Richard Biener - - PR tree-optimization/95576 - * g++.dg/vect/pr95576.cc: New testcase. - -2020-06-10 Haijian Zhang - - PR target/95523 - * gcc.target/aarch64/sve/pr95523.c: New test. - -2020-06-10 Marek Polacek - - PR c++/95562 - * g++.dg/cpp0x/noexcept60.C: New test. - -2020-06-10 Aldy Hernandez - - * gcc.dg/tree-ssa/ssa-dse-30.c: Adjust test for folding of - memmove happening later. - -2020-06-10 Tamar Christina - - * gcc.target/aarch64/asimd-mull-elem.c: New test. - -2020-06-10 Qian Chao - - PR tree-optimization/95569 - * gcc.dg/tm/pr95569.c: New test. - -2020-06-09 Michael Meissner - - * gcc.target/powerpc/clone3.c: New test for using 'future' with - the target_clones attribute. - -2020-06-09 Martin Liska - - * c-c++-common/asan/inline-kernel.c: Add missing - -fno-sanitize-address option. - -2020-06-09 Jason Merrill - - PR c++/95552 - * g++.dg/ext/vla23.C: New test. - -2020-06-09 Marco Elver - - * c-c++-common/tsan/volatile.c: New test. - -2020-06-09 Michael Meissner - - * lib/target-supports.exp (check_effective_target_powerpc_pcrel): - New. - (check_effective_target_powerpc_prefixed_addr): New. - -2020-06-09 Martin Liska - - * c-c++-common/asan/inline.c: New test. - * c-c++-common/asan/inline-kernel.c: New test. - * c-c++-common/tsan/inline.c: New test. - * c-c++-common/ubsan/inline.c: New test. - -2020-06-09 Joe Ramsay - - * gcc.target/aarch64/sve/logical_unpacked_abs.c: New test. - * gcc.target/aarch64/sve/logical_unpacked_bic_1.c: New test. - * gcc.target/aarch64/sve/logical_unpacked_bic_2.c: New test. - * gcc.target/aarch64/sve/logical_unpacked_bic_3.c: New test. - * gcc.target/aarch64/sve/logical_unpacked_bic_4.c: New test. - * gcc.target/aarch64/sve/logical_unpacked_neg.c: New test. - * gcc.target/aarch64/sve/logical_unpacked_not.c: New test. - -2020-06-09 Jakub Jelinek - - PR c/95580 - * gcc.dg/pr95580.c: New test. - -2020-06-09 Jakub Jelinek - - PR tree-optimization/95527 - * gcc.dg/tree-ssa/pr95527.c: New test. - -2020-06-09 Jakub Jelinek - - * g++.dg/torture/pr95493.C: Add -Wno-psabi -w to dg-additional-options. - -2020-06-09 Max Filippov - - * g++.target/xtensa/pr95571.C: New test. - * g++.target/xtensa/xtensa.exp: New testsuite. - -2020-06-09 Segher Boessenkool - - * gcc.target/powerpc/fold-vec-perm-char.c: Allow both vperm/vpermr and - xxperm/xxpermr. - * gcc.target/powerpc/fold-vec-perm-double.c: Ditto. - * gcc.target/powerpc/fold-vec-perm-float.c: Ditto. - * gcc.target/powerpc/fold-vec-perm-int.c: Ditto. - * gcc.target/powerpc/fold-vec-perm-longlong.c: Ditto. - * gcc.target/powerpc/fold-vec-perm-pixel.c: Ditto. - * gcc.target/powerpc/fold-vec-perm-short.c: Ditto. - * gcc.target/powerpc/lvsl-lvsr.c: Ditto. - * gcc.target/powerpc/vec-mult-char-2.c: Ditto. - * gcc.target/powerpc/vsx-vector-6.p9.c: Also allow xxpermr. - -2020-06-09 Michael Meissner - - * gcc.target/powerpc/clone3.c: New test for using 'future' with - the target_clones attribute. - -2020-06-09 Michael Meissner - - * lib/target-supports.exp (check_effective_target_powerpc_pcrel): - New. - (check_effective_target_powerpc_prefixed_addr): New. - -2020-06-08 Harald Anlauf - - PR fortran/95195 - * gfortran.dg/namelist_97.f90: Adjust testcase. - -2020-06-08 Mark Eggleston - - PR fortran/92993 - * gfortran.dg/pr92993.f90: New test. - -2020-06-08 Jakub Jelinek - - PR target/95528 - * g++.dg/opt/pr95528.C: New test. - -2020-06-08 Jakub Jelinek - - PR lto/95548 - * g++.dg/torture/pr95548.C: Change from dg-do compile to dg-do link, - add return type for main, for __SIZEOF_INT128__ test with __uint128_t - enumerator constants and add a test with unsigned long long - enumerators for all targets. - -2020-06-07 Roger Sayle - - * gcc.target/i386/parity-3.c: New test. - * gcc.target/i386/parity-4.c: Likewise. - * gcc.target/i386/parity-5.c: Likewise. - * gcc.target/i386/parity-6.c: Likewise. - * gcc.target/i386/parity-7.c: Likewise. - * gcc.target/i386/parity-8.c: Likewise. - * gcc.target/i386/parity-9.c: Likewise. - -2020-06-07 Harald Anlauf - - PR fortran/95091 - * gfortran.dg/pr95091.f90: New file. - -2020-06-07 Thomas Koenig - - PR tree-optimization/50439 - * gfortran.dg/loop_interchange_2.f: New test. - -2020-06-06 Jan Hubicka - - * g++.dg/torture/pr95548.C: New test. - -2020-06-05 Martin Sebor - - * g++.dg/warn/Wnonnull5.C: Temporarily remove. - -2020-06-05 Marek Polacek - - PR c++/95369 - * g++.dg/cpp2a/nontype-class38.C: New test. - -2020-06-05 Mark Wielaard - - * gcc.dg/missing-header-fixit-3.c: Add - -Wno-implicit-function-declaration. - * gcc.dg/missing-header-fixit-4.c: Add new expected output. - * gcc.dg/missing-header-fixit-5.c: New testcase. - * gcc.dg/Wbuiltin-declaration-mismatch-ignore.c: Likewise. - -2020-06-05 Jason Merrill - - * g++.dg/cpp0x/constexpr-ptrsub2.C: New test. - -2020-06-05 Thomas Schwinge - Julian Brown - - * c-c++-common/goacc/struct-enter-exit-data-1.c: New file. - -2020-06-05 Martin Sebor - - * c-c++-common/goacc/uninit-use-device-clause.c: Adjust. - * c-c++-common/pr59223.c: Same. - * g++.dg/warn/Wnonnull5.C: Same. - * gcc.dg/pr59924.c: Same. - * gcc.dg/ubsan/pr81981.c: Same. - * gcc.dg/ubsan/pr89284.c: Same. - * gfortran.dg/goacc/uninit-use-device-clause.f95: Same. - -2020-06-05 Richard Biener - - PR tree-optimization/95539 - * gcc.dg/vect/pr95539.c: New testcase. - -2020-06-05 Felix Yang - - PR target/95254 - * gcc.target/aarch64/pr95254.c: New test. - * gcc.target/i386/pr67609.c: Check "movq\t%xmm0" instead of "movdqa". - -2020-06-05 Jakub Jelinek - - PR target/95535 - * gcc.target/i386/pr95535-1.c: New test. - * gcc.target/i386/pr95535-2.c: New test. - -2020-06-05 Richard Biener - - PR middle-end/95493 - * g++.dg/torture/pr95493.C: New testcase. - -2020-06-04 Martin Sebor - - PR middle-end/10138 - PR middle-end/95136 - * c-c++-common/Wsizeof-pointer-memaccess1.c: Prune out valid - Wuninitialized. - * c-c++-common/uninit-pr51010.c: Adjust expected warning format. - * c-c++-common/goacc/uninit-dim-clause.c: Same. - * c-c++-common/goacc/uninit-firstprivate-clause.c: Same. - * c-c++-common/goacc/uninit-if-clause.c: Same. - * c-c++-common/gomp/pr70550-1.c: Same. - * c-c++-common/gomp/pr70550-2.c: Adjust. - * g++.dg/20090107-1.C: Same. - * g++.dg/20090121-1.C: Same. - * g++.dg/ext/attr-access.C: Avoid -Wuninitialized. - * gcc.dg/tree-ssa/forwprop-6.c: Prune out -Wuninitialized. - * gcc.dg/Warray-bounds-52.c: Prune out valid -Wuninitialized. - * gcc.dg/Warray-bounds-53.c: Same. - * gcc.dg/Warray-bounds-54.c: Same. - * gcc.dg/Wstringop-overflow-33.c: New test. - * gcc.dg/attr-access-none.c: New test. - * gcc.dg/attr-access-read-only.c: Adjust. - * gcc.dg/attr-access-read-write.c: Same. - * gcc.dg/attr-access-write-only.c: Same. - * gcc.dg/pr71581.c: Adjust text of expected warning. - * gcc.dg/uninit-15.c: Same. - * gcc.dg/uninit-32.c: New test. - * gcc.dg/uninit-33.c: New test. - * gcc.dg/uninit-34.c: New test. - * gcc.dg/uninit-36.c: New test. - * gcc.dg/uninit-B-O0.c: Adjust text of expected warning. - * gcc.dg/uninit-I-O0.c: Same. - * gcc.dg/uninit-pr19430-O0.c: Same. - * gcc.dg/uninit-pr19430.c: Same. - * gcc.dg/uninit-pr95136.c: New test. - * gfortran.dg/assignment_4.f90: Expect -Wuninitialized. - * gfortran.dg/goacc/uninit-dim-clause.f95: Adjust text of expected - warning. - * gfortran.dg/goacc/uninit-firstprivate-clause.f95 - * gfortran.dg/goacc/uninit-if-clause.f95 - * gfortran.dg/pr66545_2.f90 - -2020-06-04 Jason Merrill - - PR c++/93310 - * g++.dg/cpp2a/constexpr-virtual16.C: New test. - * g++.dg/cpp2a/constexpr-virtual17.C: New test. - * g++.dg/cpp2a/constexpr-new12.C: Adjust diagnostic. - -2020-06-04 Jason Merrill - - PR c++/95158 - * g++.dg/template/virtual5.C: New test. - -2020-06-04 Steven G. Kargl - Harald Anlauf - - PR fortran/95500 - * gfortran.dg/pr95500.f90: New test. - -2020-06-04 Iain Sandoe - - PR c++/95346 - * g++.dg/coroutines/pr95346.C: New test. - -2020-06-04 Vladimir Makarov - - PR middle-end/95464 - * gcc.target/i386/pr95464.c: New. - -2020-06-04 Martin Jambor - - PR ipa/95113 - * gcc.dg/ipa/pr95113.c: New test. - -2020-06-04 Srinath Parvathaneni - - PR target/94735 - * gcc.target/arm/mve/intrinsics/mve_vstore_scatter_base.c: New test. - * gcc.target/arm/mve/intrinsics/mve_vstore_scatter_base_p.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_vstore_scatter_offset.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_vstore_scatter_offset_p.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_vstore_scatter_shifted_offset.c: - Likewise. - * gcc.target/arm/mve/intrinsics/mve_vstore_scatter_shifted_offset_p.c: - Likewise. - -2020-06-04 Srinath Parvathaneni - - * gcc.target/arm/mve/intrinsics/vbicq_f16.c: Modify. - * gcc.target/arm/mve/intrinsics/vbicq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_u8.c: Likewise. - -2020-06-04 Hongtao Liu - - * gcc.target/i386/avx512f-vcvtps2ph-pr95254.c: New test. - * gcc.target/i386/avx512vl-vcvtps2ph-pr95254.c: Ditto. - -2020-06-04 Arnaud Charlet - - * gnat.dg/openacc1.adb: Remove testcase. - -2020-06-04 Hao Liu - - PR tree-optimization/89430 - * gcc.dg/tree-ssa/pr89430-1.c: Remove xfail. - * gcc.dg/tree-ssa/pr89430-2.c: Remove xfail. - * gcc.dg/tree-ssa/pr89430-5.c: Remove xfail. - * gcc.dg/tree-ssa/pr89430-6.c: Remove xfail. - * gcc.dg/tree-ssa/pr89430-7-comp-ref.c: New test. - * gcc.dg/tree-ssa/pr89430-8-mem-ref-size.c: New test. - * gcc.dg/tree-ssa/ssa-pre-17.c: Add -fno-tree-cselim. - -2020-06-04 Andreas Schwab - - PR libfortran/59227 - * gfortran.dg/erf_3.F90: Remove XFAIL on ia64-*-linux*. - -2020-06-04 Hongtao.liu - - * gcc.target/i386/pr92658-avx512bw-trunc.c: Adjust testcase. - -2020-06-04 Jakub Jelinek - - PR c++/82304 - PR c++/95307 - * g++.dg/template/pr79650.C: Expect different diagnostics and expect - it on all lines that do pointer to integer casts. - * g++.dg/cpp1y/constexpr-shift1.C: Expect different diagnostics. - * g++.dg/cpp1y/constexpr-82304.C: New test. - * g++.dg/cpp0x/constexpr-95307.C: New test. - -2020-06-03 Mark Wielaard - - * g++.dg/spellcheck-inttypes.C: Add string-literal testcases. - -2020-06-03 Mark Wielaard - - * gcc.dg/spellcheck-inttypes.c: New test. - * g++.dg/spellcheck-inttypes.C: Likewise. - -2020-06-03 Mark Wielaard - - * c-c++-common/missing-close-func-paren.c: New test. - -2020-06-03 Vitor Guidi - - * gcc.dg/tanhbysinh.c: New testcase. - -2020-06-03 Patrick Palka - - * g++.dg/cpp2a/concepts-partial-spec8.C: New test. - -2020-06-03 Patrick Palka - - PR c++/92103 - * g++.dg/cpp2a/concepts-partial-spec7.C: New test. - -2020-06-03 Jan Hubicka - - * g++.dg/lto/pr84805_0.C: Update. - -2020-06-03 Iain Sandoe - - PR c++/95345 - * g++.dg/coroutines/pr95345.C: New test. - -2020-06-03 Jason Merrill - - PR c++/95232 - * g++.dg/ubsan/vla-2.C: New test. - -2020-06-03 José Rui Faustino de Sousa - - PR fortran/95214 - PR fortran/66833 - PR fortran/67938 - * gfortran.dg/PR95214.f90: New test. - -2020-06-03 Richard Biener - - PR tree-optimization/95487 - * g++.dg/vect/pr95487.cc: New testcase. - -2020-06-03 David Malcolm - - PR jit/95306 - * jit.dg/test-pr95306-builtin-types.c (create_code): Add - test of getting __atomic_load. - -2020-06-03 Richard Biener - - PR tree-optimization/95495 - * gcc.dg/vect/pr95495.c: New testcase. - -2020-06-03 Thomas Schwinge - Tobias Burnus - - PR middle-end/94874 - * c-c++-common/gomp/pr94874.c: New. - -2020-06-02 David Malcolm - - PR jit/95426 - * jit.dg/all-non-failing-tests.h: Add note about... - * jit.dg/test-builtin-unreachable.c: New test. - -2020-06-02 Jason Merrill - - PR c++/95193 - * g++.dg/cpp1z/lambda-this7.C: New test. - -2020-06-02 Iain Sandoe - - PR c++/95050 - * g++.dg/coroutines/pr95050.C: New test. - -2020-06-02 Alexandre Oliva - - * gcc.misc-tests/outputs.exp: Spell ldscript correctly. - * lib/gcc-defs.exp (gcc_adjust_linker_flags): Likewise. - -2020-06-02 Felix Yang - - PR target/95459 - * gcc.target/aarch64/mgeneral-regs_6.c: New test. - -2020-06-02 Andrew Stubbs - - * gcc.dg/intermod-1.c: Don't use -mlocal-symbol-id. - -2020-06-02 Stefan Schulze Frielinghaus - - * gcc.target/s390/vector/align-1.c: Change target architecture - to z13. - * gcc.target/s390/vector/align-2.c: Change target architecture - to z13. - -2020-06-02 Kito Cheng - - * lib/ubsan-dg.exp (orig_ubsan_options_saved): New - (orig_ubsan_options): Ditto. - (ubsan_init): Store UBSAN_OPTIONS and set UBSAN_OPTIONS. - (ubsan_finish): Restore UBSAN_OPTIONS. - -2020-06-02 Patrick Palka - - PR c++/92633 - PR c++/92838 - * g++.dg/cpp2a/concepts-lambda11.C: New test. - * g++.dg/cpp2a/concepts-lambda12.C: New test. - -2020-06-01 Jason Merrill - - PR c++/95466 - * g++.dg/ubsan/vptr-17.C: New test. - -2020-06-01 Iain Sandoe - - PR c++/95350 - * g++.dg/coroutines/torture/func-params-08.C: Adjust test to - reflect that all rvalue refs are dangling. - * g++.dg/coroutines/torture/func-params-09-awaitable-parms.C: - Likewise. - * g++.dg/coroutines/pr95350.C: New test. - -2020-06-01 Feng Xue - - PR ipa/93429 - * gcc.dg/ipa/ipcp-agg-8.c: Change dump string. - * gcc.dg/ipa/ipcp-agg-13.c: New test. - -2020-05-31 Iain Sandoe - - PR c++/95087 - * g++.dg/coroutines/co-return-syntax-08-bad-return.C: - Adjust the testcase to do the compile (rather than an - -fsyntax-only parse). - -2020-05-31 Thomas Koenig - - PR fortran/94361 - * gfortran.dg/finalize_28.f90: Adjusted free counts. - * gfortran.dg/finalize_33.f90: Likewise. - * gfortran.dg/finalize_34.f90: Likewise. - * gfortran.dg/finalize_35.f90: New test. - -2020-05-31 Jakub Jelinek - - PR middle-end/95052 - * gcc.dg/pr95052.c: New test. - -2020-05-31 Jim Wilson - - * gcc.target/riscv/zero-extend-5.c: New. - -2020-05-30 Harald Anlauf - - PR fortran/95373 - * gfortran.dg/pr95373_1.f90: Adjust error messages. - * gfortran.dg/pr95373_2.f90: Adjust error message. - -2020-05-30 Patrick Palka - - PR c++/95386 - * g++.dg/concepts/pr95386.C: New test. - -2020-05-29 Segher Boessenkool - - * gcc.target/powerpc/vsx-vector-6.p9.c: Allow xxperm as perm as well. - -2020-05-29 Patrick Palka - Jason Merrill - - PR c++/95181 - * g++.dg/concepts/pr95181.C: New test. - * g++.dg/concepts/pr95181-2.C: New test. - -2020-05-29 Jason Merrill - - PR c++/95371 - * g++.dg/cpp2a/concepts-ttp1.C: New test. - -2020-05-29 Jakub Jelinek - - PR libfortran/95390 - * gfortran.dg/findloc_8.f90: New test. - -2020-05-29 Marek Polacek - - PR c++/95344 - * c-c++-common/Wparentheses-2.c: New test. - -2020-05-29 Jason Merrill - - PR c++/95311 - * g++.dg/ubsan/vptr-16.C: New test. - -2020-05-29 Patrick Palka - - PR c++/92652 - PR c++/93698 - PR c++/94128 - * g++.dg/cpp2a/concepts-lambda8.C: New test. - * g++.dg/cpp2a/concepts-lambda9.C: New test. - * g++.dg/cpp2a/concepts-lambda10.C: New test. - -2020-05-29 Patrick Palka - - PR c++/95241 - * g++.dg/cpp0x/constexpr-array25.C: New test. - -2020-05-29 Richard Biener - - PR tree-optimization/95272 - * gcc.dg/vect/pr95272.c: New testcase. - -2020-05-29 Richard Biener - - PR tree-optimization/95403 - * gfortran.dg/vect/pr95403.f: New testcase. - -2020-05-29 Jakub Jelinek - - PR middle-end/95315 - * gcc.dg/gomp/pr95315-2.c: New test. - -2020-05-29 Jakub Jelinek - - PR middle-end/95052 - * gcc.target/i386/pr95052.c: New test. - -2020-05-29 Richard Biener - - PR tree-optimization/95393 - * gcc.dg/tree-ssa/phi-opt-21.c: New testcase. - * g++.dg/vect/slp-pr87105.cc: Adjust. - -2020-05-29 Joe Ramsay - - * gcc.target/aarch64/sve/load_const_offset_2.c: Force using packed - vectors. - * gcc.target/aarch64/sve/logical_unpacked_and_1.c: New test. - * gcc.target/aarch64/sve/logical_unpacked_and_2.c: New test. - * gcc.target/aarch64/sve/logical_unpacked_and_3.c: New test. - * gcc.target/aarch64/sve/logical_unpacked_and_4.c: New test. - * gcc.target/aarch64/sve/logical_unpacked_and_5.c: New test. - * gcc.target/aarch64/sve/logical_unpacked_and_6.c: New test. - * gcc.target/aarch64/sve/logical_unpacked_and_7.c: New test. - * gcc.target/aarch64/sve/logical_unpacked_eor_1.c: New test. - * gcc.target/aarch64/sve/logical_unpacked_eor_2.c: New test. - * gcc.target/aarch64/sve/logical_unpacked_eor_3.c: New test. - * gcc.target/aarch64/sve/logical_unpacked_eor_4.c: New test. - * gcc.target/aarch64/sve/logical_unpacked_eor_5.c: New test. - * gcc.target/aarch64/sve/logical_unpacked_eor_6.c: New test. - * gcc.target/aarch64/sve/logical_unpacked_eor_7.c: New test. - * gcc.target/aarch64/sve/logical_unpacked_orr_1.c: New test. - * gcc.target/aarch64/sve/logical_unpacked_orr_2.c: New test. - * gcc.target/aarch64/sve/logical_unpacked_orr_3.c: New test. - * gcc.target/aarch64/sve/logical_unpacked_orr_4.c: New test. - * gcc.target/aarch64/sve/logical_unpacked_orr_5.c: New test. - * gcc.target/aarch64/sve/logical_unpacked_orr_6.c: New test. - * gcc.target/aarch64/sve/logical_unpacked_orr_7.c: New test. - * gcc.target/aarch64/sve/scatter_store_6.c: Force using packed vectors. - * gcc.target/aarch64/sve/scatter_store_7.c: Force using packed vectors. - * gcc.target/aarch64/sve/strided_load_3.c: Force using packed vectors. - * gcc.target/aarch64/sve/strided_store_3.c: Force using packed vectors. - * gcc.target/aarch64/sve/unpack_signed_1.c: Force using packed vectors. - -2020-05-28 Jakub Jelinek - - PR c++/95328 - * g++.dg/cpp1z/decomp53.C: New test. - -2020-05-28 Harald Anlauf - - PR fortran/95373 - * gfortran.dg/pr95373_1.f90: New test. - * gfortran.dg/pr95373_2.f90: New test. - -2020-05-28 Jason Merrill - - * g++.dg/cpp1z/pr86648.C: Expect error. - * g++.dg/cpp1z/static2.C: Expect error. - * g++.dg/cpp0x/nsdmi16.C: New test. - -2020-05-28 Marek Polacek - - * g++.dg/cpp0x/initlist-array12.C: Fix the definition of - initializer_list for ilp32 target. - -2020-05-28 Marek Polacek - - * g++.dg/ext/tmplattr10.C: Only run in c++11. - -2020-05-28 H.J. Lu - - * gcc.dg/builtin-bswap-10.c: Check "! int128" instead of ilp32 - -2020-05-28 Steven G. Kargl - Mark Eggleston - - PR fortran/94397 - * gfortran.dg/pr94397.F90: New test. - -2020-05-28 Richard Sandiford - - * gcc.target/aarch64/shrink_wrap_1.c: New test. - -2020-05-28 Richard Sandiford - - PR testsuite/95361 - * gcc.target/aarch64/sve/pr95361.c: New test. - -2020-05-28 Richard Biener - - PR tree-optimization/95273 - PR tree-optimization/95356 - * gcc.target/i386/pr95356.c: New testcase. - -2020-05-28 Richard Biener - - PR testsuite/95363 - * gcc.dg/vect/bb-slp-pr95271.c: Fix on ilp32 targets. - -2020-05-28 Alexandre Oliva - - * lib/gcc-defs.exp: Avoid introducing empty arguments between - consecutive blanks in board linking options. - * gcc.misc-tests/outputs.exp: Likewise. Document - -gsplit-dwarf testing, skip LTO tests if -flto is not - supported, detect the default linker output name, cope with - the need for an explicit executable output. - -2020-05-27 Eric Botcazou - - * gcc.dg/builtin-bswap-10.c: New test. - * gcc.dg/builtin-bswap-11.c: Likewise. - * gcc.dg/builtin-bswap-12.c: Likewise. - * gcc.target/i386/builtin-bswap-5.c: Likewise. - -2020-05-27 Harald Anlauf - - PR fortran/95090 - * gfortran.dg/pr95090.f90: New test. - -2020-05-27 Uroš Bizjak - - PR target/95355 - * gcc.target/i386/pr95355.c: New test. - -2020-05-27 David Malcolm - - PR jit/95314 - * jit.dg/all-non-failing-tests.h: Add test-pr95314-rvalue-reuse.c. - * jit.dg/test-pr95314-rvalue-reuse.c: New test. - -2020-05-27 Jason Merrill - - PR c++/95319 - * g++.dg/cpp0x/initlist-array12.C: New test. - -2020-05-27 Tobias Burnus - - PR fortran/50392 - * gfortran.dg/pr50392.f: New test. - -2020-05-27 Uroš Bizjak - - * gcc.target/i386/vperm-v2sf.c: New test. - -2020-05-27 Jason Merrill - - * g++.dg/cpp2a/spaceship-synth2.C: Add - -Wzero-as-null-pointer-constant. - -2020-05-27 Jason Merrill - - PR c++/95222 - * g++.dg/ext/tmplattr10.C: New test. - -2020-05-27 Nathan Sidwell - - PR c++/95263 - * g++.dg/template/pr95263.C: New file. - -2020-05-27 Richard Biener - - PR tree-optimization/95295 - * gcc.dg/torture/pr95295-3.c: New testcase. - -2020-05-27 Richard Biener - - PR tree-optimization/95335 - * gcc.dg/vect/bb-slp-pr95335.c: New testcase. - -2020-05-27 Jakub Jelinek - - PR middle-end/95315 - * gcc.dg/gomp/pr95315.c: New test. - -2020-05-26 David Malcolm - - PR jit/95306 - * jit.dg/all-non-failing-tests.h: Add test-builtin-memcpy.c and - test-pr95306-builtin-types.c. - * jit.dg/test-builtin-memcpy.c: New test. - * jit.dg/test-error-gcc_jit_context_get_builtin_function-unimplemented-type.c: - New test. - * jit.dg/test-pr95306-builtin-types.c: New test. - -2020-05-26 Harald Anlauf - Steven G. Kargl - - PR libfortran/95104 - * gfortran.dg/pr95104.f90: New test. - -2020-05-26 Harald Anlauf - - PR fortran/95195 - * gfortran.dg/namelist_97.f90: New test. - -2020-05-26 Harald Anlauf - - PR fortran/95089 - * gfortran.dg/pr95089.f90: New test. - -2020-05-26 David Malcolm - - PR jit/95296 - * jit.dg/test-error-gcc_jit_context_new_global-void-type.c: New - test. - * jit.dg/test-error-gcc_jit_function_new_local-void-type.c: New - test. - * jit.dg/test-fuzzer.c (fuzzer_init): Allow for make_random_type - to return NULL. - (get_random_type): Allow for elements in f->types to be NULL. - -2020-05-26 Uroš Bizjak - - * gcc.target/i386/vperm-v2si.c: New test. - * gcc.target/i386/vperm-v4hi.c: Ditto. - -2020-05-26 Iain Sandoe - - * g++.dg/coroutines/torture/co-ret-17-void-ret-coro.C: Check for - promise destruction via a global variable. - -2020-05-26 Alexandre Oliva - - * gcc.misc-tests/outputs.exp: New. - * gcc.misc-tests/outputs-0.c: New. - * gcc.misc-tests/outputs-1.c: New. - * gcc.misc-tests/outputs-2.c: New. - * lib/gcc-defs.exp (gcc_adjusted_linker_flags): New. - (gcc_adjust_linker_flags): New. - (dg-additional-files-options): Call it. Pass -dumpbase "" - when there are additional sources. - * lib/profopt.exp (profopt-execute): Pass the executable - suffix with -dumpbase-ext. - * lib/scandump.exp (dump-base): Mention -dumpbase "" use. - * lib/scanltranstree.exp: Adjust dump suffix expectation. - * lib/scanwpaipa.exp: Likewise. - -2020-05-26 Hongtao Liu - Uroš Bizjak - - * gcc.target/i386/pr95211.c: New test. - -2020-05-25 Eric Botcazou - - * gnat.dg/opt84.adb: New test. - -2020-05-25 Uroš Bizjak - - * gcc.target/i386/sse2-mmx-18a.c (dg-options): Remove -mno-avx512vl. - * gcc.target/i386/sse2-mmx-19a.c (dg-options): Remove -mno-avx. - * gcc.target/i386/sse2-mmx-18b.c: Remove. - * gcc.target/i386/sse2-mmx-18c.c: Ditto. - * gcc.target/i386/sse2-mmx-19b.c: Ditto. - * gcc.target/i386/sse2-mmx-19c.c: Ditto. - * gcc.target/i386/sse2-mmx-19d.c: Ditto. - * gcc.target/i386/sse2-mmx-19e.c: Ditto. - -2020-05-25 Martin Jambor - - * brig.dg/test/gimple/packed.hsail: Fix scan dump patterns. - -2020-05-25 Richard Biener - - PR tree-optimization/95308 - * g++.dg/torture/pr95308.C: New testcase. - -2020-05-25 Richard Biener - - PR tree-optimization/95295 - * gcc.dg/torture/pr95295-1.c: New testcase. - * gcc.dg/torture/pr95295-2.c: Likewise. - * gcc.dg/torture/pr95283.c: Likewise. - -2020-05-25 Richard Biener - - PR tree-optimization/95271 - * gcc.dg/vect/bb-slp-pr95271.c: New testcase. - -2020-05-25 Richard Biener - - PR tree-optimization/95297 - * g++.dg/vect/pr95297.cc: New testcase. - * g++.dg/vect/pr95290.cc: Likewise. - -2020-05-25 Richard Biener - - PR tree-optimization/95284 - * g++.dg/torture/pr95284.C: New testcase. - -2020-05-25 Eric Botcazou - - * gnat.dg/renaming16.adb: New test. - * gnat.dg/renaming16_pkg.ads: New helper. - -2020-05-25 Eric Botcazou - - * gnat.dg/array40.adb: New test. - * gnat.dg/array40_pkg.ads: New helper. - -2020-05-25 Eric Botcazou - - * gnat.dg/array39.adb: New test. - * gnat.dg/array39_pkg.ads: New helper. - * gnat.dg/array39_pkg.adb: Likewise. - -2020-05-25 Hongtao Liu - - * gcc.target/i386/pr95125-avx.c: New test. - * gcc.target/i386/pr95125-avx512f.c: Ditto. - -2020-05-24 Harald Anlauf - - PR fortran/95106 - * gfortran.dg/equiv_11.f90: New test. - -2020-05-23 Patrick Palka - - PR c++/94038 - * g++.dg/warn/pr94038-3.C: New test. - -2020-05-22 Mark Wielaard - - * gcc.dg/spellcheck-stdint.c: New test. - * g++.dg/spellcheck-stdint.C: Likewise. - -2020-05-22 Mark Wielaard - - * gcc.dg/spellcheck-stdbool.c: New test. - -2020-05-22 Mark Wielaard - - * gcc.dg/analyzer/signal-exit.c: New testcase. - -2020-05-22 Uroš Bizjak - - PR target/95255 - * gcc.target/i386/pr95255.c: New test. - -2020-05-22 Hongtao.liu - - * gcc.target/i386/pr92658-avx512f.c: New test. - * gcc.target/i386/pr92658-avx512vl.c: Ditto. - * gcc.target/i386/pr92658-avx512bw-trunc.c: Ditto. - -2020-05-22 Richard Biener - - PR tree-optimization/95268 - * g++.dg/torture/pr95268.C: New testcase. - -2020-05-22 Richard Biener - - PR tree-optimization/95248 - * gcc.dg/torture/pr95248.c: New testcase. - -2020-05-21 Patrick Palka - - PR c++/94038 - * g++.dg/warn/pr94038-2.C: New test. - -2020-05-21 Martin Liska - - PR target/95229 - * g++.target/i386/pr95229.C: Fix - error: unnamed type with no linkage used - to declare variable ‘ e’ with linkage - with -std=gnu++98. - -2020-05-21 Nathan Sidwell - - * c-c++-common/cpp/cmd-1.c: Delete. - * c-c++-common/cpp/cmd-1.h: Delete. - -2020-05-21 Martin Liska - - * gcc.target/aarch64/target_attr_20.c: New test. - * gcc.target/aarch64/target_attr_21.c: New test. - -2020-05-20 Jozef Lawrynowicz - - * g++.dg/warn/Wconversion-null-2.C: Add explicit declarations for l() - and g() with int, long, long long and __int20 arguments. - * g++.dg/warn/Wconversion-null.C: Likewise. - -2020-05-20 Marek Polacek - - DR 2237 - * g++.dg/DRs/dr2237.C: New test. - * g++.dg/parse/constructor2.C: Add dg-error for C++20. - * g++.dg/parse/dtor12.C: Likewise. - * g++.dg/parse/dtor4.C: Likewise. - * g++.dg/template/dtor4.C: Adjust dg-error. - * g++.dg/template/error34.C: Likewise. - * g++.old-deja/g++.other/inline15.C: Only run for C++17 and lesses. - * g++.old-deja/g++.pt/ctor2.C: Add dg-error for C++20. - -2020-05-20 Marek Polacek - - DR 2289 - PR c++/94553 - * g++.dg/cpp1z/decomp52.C: New test. - -2020-05-20 Uroš Bizjak - - PR target/95229 - * g++.target/i386/pr95229.C: New test. - -2020-05-20 Mark Eggleston - - PR fortran/39695 - * gfortran.dg/pr39695_1.f90: New test. - * gfortran.dg/pr39695_2.f90: New test. - * gfortran.dg/pr39695_3.f90: New test. - * gfortran.dg/pr39695_4.f90: New test. - -2020-05-20 Patrick Palka - - PR c++/95223 - * g++.dg/template/typename23.C: New test. - -2020-05-20 Srinath Parvathaneni - - PR target/94959 - * gcc.target/arm/mve/intrinsics/mve_vector_float2.c: Modify. - * gcc.target/arm/mve/intrinsics/mve_vldr.c: New test. - * gcc.target/arm/mve/intrinsics/mve_vldr_z.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_vstr.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_vstr_p.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_f16.c: Modify. - * gcc.target/arm/mve/intrinsics/vld1q_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_z_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_z_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_z_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_z_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_z_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_z_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_z_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_z_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_z_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_z_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_wb_s64.c: Likewise. - * 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/vldrhq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_z_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_z_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_z_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_z_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_z_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_z_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_z_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_z_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_z_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_z_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_z_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vuninitializedq_float.c: Likewise. - * gcc.target/arm/mve/intrinsics/vuninitializedq_float1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vuninitializedq_int.c: Likewise. - * gcc.target/arm/mve/intrinsics/vuninitializedq_int1.c: Likewise. - -2020-05-20 Richard Biener - - PR tree-optimization/95219 - * tree-vect-loop.c (vectorizable_induction): Reduce - group_size before computing the number of required IVs. - -2020-05-20 Richard Biener - - PR middle-end/95231 - * g++.dg/other/pr95231.C: New testcase. - -2020-05-30 Richard Biener - - PR c/95141 - * gcc.dg/pr95141.c: New testcase. - -2020-05-19 Alex Coplan - - PR target/94591 - * gcc.c-torture/execute/pr94591.c: New test. - -2020-05-19 Nathan Sidwell - - * c-c++-common/raw-string-14.c: Adjust errors. - * c-c++-common/raw-string-16.c: Likewise. - * c-c++-common/raw-string-5.c: Likewise. - -2020-05-19 Richard Biener - - * gcc.target/i386/pr92645-4.c: Adjust expected pattern. - -2020-05-19 Jozef Lawrynowicz - - * c-c++-common/builtin-has-attribute-7.c: Require size24plus. - * c-c++-common/cpp/pr63831-1.c: Store result in _has_cpp_attribute in a - long. - * c-c++-common/pr81376.c: Skip scan-tree-dump for short_eq_int. Extend - test for short_eq_int. - * g++.dg/abi/scoped1.C: Skip dg-warning tests for short_eq_int. - * g++.dg/cpp0x/constexpr-70001-1.C: Require size24plus. - * g++.dg/cpp0x/constexpr-bitfield3.C: Require int32plus. - * g++.dg/cpp0x/enum13.C: Skip dg-warning for short_eq_int. - * g++.dg/cpp0x/initlist5.C: Add dg-error for short_eq_int. - * g++.dg/cpp0x/initlist7.C: Add dg-warning for !int32plus. - * g++.dg/cpp0x/nullptr04.C: Skip dg-error for ptr_eq_short. - * g++.dg/cpp0x/variadic-value1.C: Add typedef for int32_t. - * g++.dg/cpp1y/constexpr-arith-overflow.C: Fix test for - sizeof(int) == sizeof(short). - * g++.dg/cpp1y/digit-sep-neg.C: Add typedef for int32_t. - * g++.dg/cpp1y/pr57644.C: Add typedef for uint32_t. - * g++.dg/cpp1y/pr77321.C: Require size24plus. - * g++.dg/cpp1y/var-templ4.C: Add typedef for int32_t. - * g++.dg/cpp1z/direct-enum-init1.C: Skip dg-error for short_eq_int. - * g++.dg/delayedfold/fwrapv1.C: Skip for int16. - * g++.dg/expr/bitfield9.C: Add typedef for int32_t. - * g++.dg/ext/attribute-test-1.C: Add typedef for uint32_t. - * g++.dg/ext/bitfield1.C: Add typedef for int32_t. - * g++.dg/ext/flexary13.C: Add typedef for int32_t. - * g++.dg/ext/utf-cvt.C: Adjust dg-warning for int16. - * g++.dg/ext/vector28.C: Add typedef for int32_t. - * g++.dg/ext/vla15.C: Add typedef for int32_t. - * g++.dg/init/array11.C: Require size32plus. - * g++.dg/init/array15.C: Require size24plus. - * g++.dg/init/array4.C: Require size20plus. - * g++.dg/init/const7.C: Skip dg-message for ptr_eq_short. - * g++.dg/init/new38.C: Relax regex in dg-error. - * g++.dg/init/new44.C: Skip dg-error for msp430_small. - Adjust test for 16-bit size_t. - Add special case for msp430 -mlarge. - * g++.dg/init/value9.C: Add typedef for int32_t. - * g++.dg/ipa/pr77333.C: Add typedef for int32_t. - * g++.dg/lto/20080908-1_0.C: Add typedef for int32_t. - * g++.dg/opt/pr55717.C: Add typedef for uint32_t. - * g++.dg/opt/pr60597.C: Add typedef for int32_t. - * g++.dg/opt/pr81715.C: Require size20plus. - * g++.dg/opt/reload3.C: Add typedef for uint32_t. - * g++.dg/opt/temp2.C: Require size20plus. - * g++.dg/opt/thunk1.C: Likewise. - * g++.dg/other/error23.C: Dont assume __SIZEOF_INT__ == 4. - * g++.dg/other/pr31078.C: Adjust typedef for 32-bit int. - * g++.dg/parse/concat1.C: Skip dg-error for size20plus. - * g++.dg/parse/defarg5.C: Add typedef for int32_t and uint32_t. - * g++.dg/pr48484.C: Add typedef for int32_t. - * g++.dg/pr53037-2.C: Likewise. - * g++.dg/pr53037-3.C: Likewise. - * g++.dg/pr66655.C: Use int32_t. - * g++.dg/pr66655.h: Add typedef for int32_t. - * g++.dg/pr66655_1.cc: Use int32_t. - * g++.dg/pr67351.C: Define 32-bit uint. - * g++.dg/template/array30.C: Add typedef for int32_t. - * g++.dg/template/constant1.C: Extend test for 8-bit and 16-bit int. - * g++.dg/template/constant2.C: Likewise. - * g++.dg/template/friend18.C: Add typedef for int32_t. - * g++.dg/template/pr68978.C: Likewise. - * g++.dg/torture/pr37421.C: Require int_eq_float. - * g++.dg/torture/pr88861.C: Handle 16-bit int. - * g++.dg/tree-ssa/pr19807.C: Likewise. - * g++.dg/tree-ssa/pr27291.C: Fix typedef for uint32_t. - * g++.dg/tree-ssa/pr49516.C: Fix typedefs for int{16,32}_t and - uint{32,64}_t. - * g++.dg/warn/Wconversion-integer.C: Add typedefs for {u,}int32_t. - * g++.dg/warn/Wconversion-null-2.C: Adjust g() declaration. - * g++.dg/warn/Wconversion-null.C: Likewise. - * g++.dg/warn/Wconversion3.C: Skip dg-warning for short_eq_int. - * g++.dg/warn/Wduplicated-branches1.C: Add dg-warning for short_eq_int. - * g++.dg/warn/Wplacement-new-size-5.C: Add typedef for int32_t. - * g++.dg/warn/Wplacement-new-size.C: Likewise. - * g++.dg/warn/Wstrict-aliasing-5.C: Add typedef for uint32_t. - * g++.dg/warn/Wstrict-aliasing-bogus-signed-unsigned.C: Add typedef for - {u,}int32_t. - * g++.dg/warn/Wtype-limits-Wextra.C: Adjust dg-warning for - short_eq_int. - * g++.dg/warn/Wtype-limits.C: Likewise. - * g++.old-deja/g++.brendan/enum11.C: Add typedef for uint32_t. - * g++.old-deja/g++.bugs/900227_01.C: Skip dg-error for ptr_eq_short. - * g++.old-deja/g++.mike/ns15.C: Require size20plus. - * g++.old-deja/g++.other/exprstmt1.C: Add typedef for uint32_t. - * g++.old-deja/g++.other/inline12.C: Adjust udword typedef. - * g++.old-deja/g++.other/new6.C: Add typedef for int32_t. - * g++.old-deja/g++.pt/crash16.C: Skip for int16. - * g++.old-deja/g++.robertl/eb76.C: Likewise. - * g++.old-deja/g++.warn/flow1.C: Add typedef for int32_t. - * gcc.dg/Walloca-14.c: Adjust -Walloca-larger-than= parameter for - !ptr32plus. - * gcc.dg/Warray-bounds-32.c: Adjust dg-warning for size20plus. - * gcc.dg/Wbuiltin-declaration-mismatch-4.c: Adjust dg-warning for - short_eq_int. - Handle case where ptrdiff_t/size_t is __int20. - * gcc.dg/concat2.c: Skip dg-error for size20plus. - * gcc.dg/fold-convmaxconv-1.c: Add typedef for {u,}int32_t. - * gcc.dg/fold-convminconv-1.c: Likewise. - * gcc.dg/graphite/scop-4.c: Require size20plus. - * gcc.dg/loop-versioning-1.c: Adjust test for small size_t. - * gcc.dg/loop-versioning-2.c: Require size20plus. - * gcc.dg/lto/20081210-1_0.c: Adjust typedef for uintptr_t. - * gcc.dg/lto/pr85870_0.c: Add typedef for uint32_t. - * gcc.dg/lto/pr85870_1.c: Likewise. - * gcc.dg/pr36227.c: Adjust typedef for ptrcast. - * gcc.dg/pr42611.c: First check for size_t equality with void * - before trying other types. - * gcc.dg/pr59963-2.c: Skip dg-warning for int16 instead of - xfail. - * gcc.dg/pr68317.c: Add typedef for int32_t. - * gcc.dg/pr78973.c: Adjust dg-warning for int16. - * gcc.dg/pr85859.c: Cast using __INTPTR_TYPE__ instead of long. - * gcc.dg/pr86179.c: Add typedef for {u,}int32_t. - * gcc.dg/torture/20181024-1.c: Require size32plus. - * gcc.dg/torture/pr71598-2.c: Skip for short_eq_int. - * gcc.dg/torture/pr86034.c: Add typedef for int32_t. - * gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: Adjust dg-warning - for int16 and msp430 -mlarge. - * gcc.dg/tree-ssa/integer-addr.c: Use __INTPTR_MAX__ for a large - constant that is a valid address. - * gcc.dg/tree-ssa/loop-interchange-10.c: Add typedef for - int32_t. - * gcc.dg/tree-ssa/pr84436-3.c: Adjust dg-final for int16. - * gcc.dg/tree-ssa/pr84648.c: Add typedef for uint32_t. - * gcc.dg/tree-ssa/scev-8.c: Cast to char if sizeof(int) == - sizeof(short). - * gcc.dg/tree-ssa/ssa-dom-thread-8.c: Adjust test for msp430 -mlarge. - * lib/target-supports.exp (check_effective_target_size24plus): New. - (check_effective_target_short_eq_int): New. - (check_effective_target_ptr_eq_short): New. - (check_effective_target_msp430_small): New. - (check_effective_target_msp430_large): New. - -2020-05-19 Jose E. Marchesi - - * gcc.target/bpf/xbpf-callee-saved-regs-1.c: New test. - * gcc.target/bpf/xbpf-callee-saved-regs-2.c: Likewise. - -2020-05-19 Uroš Bizjak - - PR target/92658 - * gcc.target/i386/pr92658-sse4.c: New test. - * gcc.target/i386/pr92658-avx2.c: New test. - * gcc.target/i386/pr92658-avx512bw.c: New test. - -2020-05-19 Kito Cheng - - * gcc.target/riscv/arch-6.c: New. - * gcc.target/riscv/attribute-11.c: New. - * gcc.target/riscv/attribute-12.c: New. - -2020-05-19 Kito Cheng - - * gcc.target/riscv/arch-3.c: Adjust option. - * gcc.target/riscv/arch-5.c: New. - * gcc.target/riscv/attribute-9.c: Adjust option and test - condition. - -2020-05-19 Patrick Palka - - PR c++/66439 - * g++.dg/cpp2a/concepts-ts4.C: Expect a "type/value mismatch" - diagnostic. - * g++.dg/cpp2a/concepts-ts6.C: Likewise. - * g++.dg/template/error56.C: Likewise. - * g++.dg/template/error59.C: New test. - -2020-05-18 Marek Polacek - - PR c++/94955 - * g++.dg/cpp0x/constexpr-shift2.C: New test. - -2020-05-18 Marek Polacek - - PR c++/94937 - * g++.dg/cpp1z/constexpr-if34.C: New test. - * g++.dg/cpp2a/is-constant-evaluated10.C: New test. - -2020-05-18 Martin Sebor - - PR c++/94923 - * g++.dg/Wclass-memaccess.C: Add tests for std::byte. - -2020-05-18 Martin Sebor - - PR middle-end/92815 - * gcc.dg/builtin-object-size-20.c: Adjust to avoid failures in - ILP32 mode. - -2020-05-18 Marek Polacek - - PR c++/90915 - * g++.dg/ext/builtin-has-attribute.C: New test. - -2020-05-18 Martin Sebor - - PR middle-end/92815 - * gcc.dg/Warray-bounds-56.c: Remove xfails. - * gcc.dg/builtin-object-size-20.c: New test. - * gcc.dg/builtin-object-size-21.c: New test. - -2020-05-18 Martin Sebor - - PR middle-end/94940 - * gcc.dg/Warray-bounds-61.c: New test. - -2020-05-18 Marek Polacek - - DR 1512 - PR c++/87699 - * g++.dg/cpp0x/constexpr-array-ptr10.C: Change dg-warning to dg-error - and adjust the expected messages in dg-error. - * g++.dg/expr/composite-ptr-type.C: New test. - * g++.dg/expr/ptr-comp1.C: New test. - * g++.dg/expr/ptr-comp2.C: New test. - * g++.dg/expr/ptr-comp3.C: New test. - * g++.dg/overload/builtin4.C: New test. - * g++.dg/warn/Wextra-3.C: Change dg-warning to dg-error. - -2020-05-18 Marek Polacek - - * g++.dg/overload/builtin5.C: New test. - -2020-05-18 Doug Rupp - - * gcc.target/powerpc/pr71763.c: Require powerpc_vsx_ok. - -2020-05-18 Harald Anlauf - - PR fortran/95053 - * gfortran.dg/dec_structure_23.f90: Adjust to new error messages. - * gfortran.dg/pr93499.f90: Adjust to new error messages. - * gfortran.dg/pr95053_2.f90: New test. - * gfortran.dg/pr95053_3.f90: New test. - -2020-05-18 Marek Polacek - - PR c++/95143 - * g++.dg/cpp0x/sfinae66.C: New test. - -2020-05-18 Uroš Bizjak - - PR target/95169 - * gcc.target/i386/pr95169.c: New test. - -2020-05-18 Alex Coplan - - * gcc.c-torture/compile/packed-aligned-1.c: New test. - * gcc.c-torture/execute/packed-aligned.c: New test. - -2020-05-18 Richard Biener - - PR middle-end/95171 - * gcc.dg/pr95171.c: New testcase. - -2020-05-18 Richard Biener - - PR tree-optimization/95172 - * gcc.dg/torture/pr95172.c: New testcase. - -2020-05-17 H.J. Lu - - PR target/95021 - * c-c++-common/dfp/func-vararg-mixed-2.c: Removed. - * gcc.target/i386/pr95021-1.c: New test. - * gcc.target/i386/pr95021-2.c: Likewise. - * gcc.target/i386/pr95021-3.c: Likewise. - * gcc.target/i386/pr95021-4.c: Likewise. - * gcc.target/i386/pr95021-5.c: Likewise. - -2020-05-17 H.J. Lu - - * gcc.target/i386/strncmp-1.c: New test. - -2020-05-16 Iain Sandoe - - * g++.dg/coroutines/co-return-syntax-10-movable.C: New test. - -2020-05-16 Patrick Palka - - PR c++/57943 - * g++.dg/cpp0x/decltype76.C: New test. - -2020-05-15 Jason Merrill - - * g++.dg/coroutines/coro.h: Always #include . - * g++.dg/coroutines/coroutines.exp (DEFAULT_COROFLAGS): Use - -std=c++20. - -2020-05-15 Segher Boessenkool - - * gcc.target/powerpc/vec-gnb-0.c: Use int128 effective target. - * gcc.target/powerpc/vec-gnb-1.c: Ditto. - * gcc.target/powerpc/vec-gnb-2.c: Ditto. - * gcc.target/powerpc/vec-ternarylogic-8.c: Ditto. - * gcc.target/powerpc/vec-ternarylogic-9.c: Ditto. - * gcc.target/powerpc/vec-ternarylogic-10.c: Ditto. - -2020-05-15 Segher Boessenkool - - * gcc.target/powerpc/cnttzdm-0.c: Use lp64. - -2020-05-15 Segher Boessenkool - - * gcc.target/powerpc/cntlzdm-0.c: Use lp64 instead of powerpc64. - * gcc.target/powerpc/cntlzdm-1.c: Ditto. - * gcc.target/powerpc/cnttzdm-1.c: Ditto. - * gcc.target/powerpc/pdep-0.c: Ditto. - * gcc.target/powerpc/pdep-1.c: Ditto. - * gcc.target/powerpc/pextd-0.c: Ditto. - * gcc.target/powerpc/pextd-1.c: Ditto. - -2020-05-15 Segher Boessenkool - - * gcc.target/powerpc/pdep-0.c: Change -mcpu= to -mdejagnu-cpu=. - * gcc.target/powerpc/pdep-1.c: Ditto. - * gcc.target/powerpc/pextd-0.c: Ditto. - * gcc.target/powerpc/pextd-1.c: Ditto. - * gcc.target/powerpc/pr90763.c: Ditto. - * gcc.target/powerpc/pr91275.c: Ditto. - * gcc.target/powerpc/pr92796.c: Ditto. - * gcc.target/powerpc/pr93658.c: Ditto. - * gcc.target/powerpc/pr93800.c: Ditto. - * gcc.target/powerpc/setbceq.c: Ditto. - * gcc.target/powerpc/setbcge.c: Ditto. - * gcc.target/powerpc/setbcgt.c: Ditto. - * gcc.target/powerpc/setbcle.c: Ditto. - * gcc.target/powerpc/setbclt.c: Ditto. - * gcc.target/powerpc/setbcne.c: Ditto. - * gcc.target/powerpc/setnbceq.c: Ditto. - * gcc.target/powerpc/setnbcge.c: Ditto. - * gcc.target/powerpc/setnbcgt.c: Ditto. - * gcc.target/powerpc/setnbcle.c: Ditto. - * gcc.target/powerpc/setnbclt.c: Ditto. - * gcc.target/powerpc/setnbcne.c: Ditto. - * gcc.target/powerpc/xxgenpc-runnable.c: Ditto. - -2020-05-15 Patrick Palka - - PR c++/90996 - * g++.dg/cpp1y/pr90996.C: Turn into execution test to verify that each - PLACEHOLDER_EXPR gets correctly resolved. - -2020-05-15 Tobias Burnus - - PR fortran/94690 - * gfortran.dg/gomp/openmp-simd-4.f90: New test. - -2020-05-15 Richard Biener - - PR tree-optimization/95133 - * gcc.dg/pr95133.c: New testcase. - -2020-05-15 Tobias Burnus - - PR middle-end/94635 - * gfortran.dg/gomp/target-exit-data.f90: New. - -2020-05-15 Uroš Bizjak - - PR target/95046 - * gcc.target/i386/pr95046-8.c: New test. - -2020-05-15 Richard Biener - - PR tree-optimization/33315 - * gcc.dg/tree-ssa/ssa-sink-13.c: New testcase. - * gcc.dg/tree-ssa/ssa-sink-14.c: Likewise. - * gcc.dg/tree-ssa/split-path-7.c: Disable sinking. - -2020-05-14 Xiong Hu Luo - - PR rtl-optimization/37451, part of PR target/61837 - * gcc.target/powerpc/doloop-2.c: New test. - -2020-05-14 H.J. Lu - - PR jit/94778 - * jit.dg/jit.exp: Skip jit tests for targets that don't support - -lgccjit. - * lib/target-supports.exp (check_effective_target_lgccjit): New. - -2020-05-14 Andrew Stubbs - - * testsuite/gcc.target/gcn/gcn.exp: New file. - * testsuite/gcc.target/gcn/vcc-clobber.c: New file. - -2020-05-14 Uroš Bizjak - - PR target/95046 - * gcc.target/i386/pr95046-7.c: New test. - -2020-05-14 Patrick Palka - - PR c++/78446 - * g++.dg/template/sfinae31.C: New test. - -2020-05-14 Uroš Bizjak - - PR target/95046 - * gcc.target/i386/pr95046-6.c: New test. - -2020-05-14 Richard Sandiford - - PR target/95105 - * gcc.target/aarch64/sve/acle/general/attributes_8.c: New test. - * g++.target/aarch64/sve/acle/general-c++/attributes_1.C: Likewise. - -2020-05-14 Richard Biener - - PR testsuite/94703 - * gcc.dg/tree-ssa/pr94703.c: Skip for strict-align targets. - -2020-05-14 Richard Biener - - PR middle-end/95118 - * gcc.dg/pr95118.c: New testcase. - -2020-05-14 Jakub Jelinek - - * c-c++-common/gomp/declare-variant-14.c: New test. - - PR middle-end/95108 - * gcc.dg/gomp/pr95108.c: New test. - -2020-05-14 Uroš Bizjak - - PR target/95046 - * gcc.target/i386/pr95046-5.c: New test. - -2020-05-14 Andreas Krebbel - - * gcc.target/s390/stack-clash-2.c: New test. - -2020-05-14 Andreas Krebbel - - * gcc.target/s390/stack-clash-1.c: New test. - -2020-05-14 Andreas Krebbel - - * gcc.target/s390/stack-clash-3.c: New test. - -2020-05-13 Kelvin Nilsen - - * gcc.target/powerpc/vec-extracth-0.c: New. - * gcc.target/powerpc/vec-extracth-1.c: New. - * gcc.target/powerpc/vec-extracth-2.c: New. - * gcc.target/powerpc/vec-extracth-3.c: New. - * gcc.target/powerpc/vec-extracth-4.c: New. - * gcc.target/powerpc/vec-extracth-5.c: New. - * gcc.target/powerpc/vec-extracth-6.c: New. - * gcc.target/powerpc/vec-extracth-7.c: New. - * gcc.target/powerpc/vec-extracth-be-0.c: New. - * gcc.target/powerpc/vec-extracth-be-1.c: New. - * gcc.target/powerpc/vec-extracth-be-2.c: New. - * gcc.target/powerpc/vec-extracth-be-3.c: New. - * gcc.target/powerpc/vec-extractl-0.c: New. - * gcc.target/powerpc/vec-extractl-1.c: New. - * gcc.target/powerpc/vec-extractl-2.c: New. - * gcc.target/powerpc/vec-extractl-3.c: New. - * gcc.target/powerpc/vec-extractl-4.c: New. - * gcc.target/powerpc/vec-extractl-5.c: New. - * gcc.target/powerpc/vec-extractl-6.c: New. - * gcc.target/powerpc/vec-extractl-7.c: New. - * gcc.target/powerpc/vec-extractl-be-0.c: New. - * gcc.target/powerpc/vec-extractl-be-1.c: New. - * gcc.target/powerpc/vec-extractl-be-2.c: New. - * gcc.target/powerpc/vec-extractl-be-3.c: New. - -2020-05-13 Patrick Palka - - PR c++/79706 - * g++.dg/template/sfinae30.C: New test. - -2020-05-13 Patrick Palka - - PR c++/95020 - * g++.dg/cpp2a/concepts-lambda7.C: New test. - -2020-05-13 Marek Polacek - - PR c++/95066 - * g++.dg/cpp2a/explicit16.C: New test. - -2020-05-13 Jason Merrill - - * lib/target-supports.exp (check_effective_target_c++20_only) - (check_effective_target_c++20): New. - -2020-05-13 Jakub Jelinek - - PR testsuite/95110 - * gcc.dg/tree-ssa/pr94969.c: Swap scan-tree-dump-not arguments. - -2020-05-13 Marek Polacek - - * g++.dg/parse/attr4.C: Use c++11 in a target selector. - -2020-05-13 Mark Eggleston - - PR fortran/93497 - * gfortran.dg/pr88025.f90: Change in wording of error. - * gfortran.dg/pr93497.f90: New test. - * gfortran.dg/pr93714_1.f90: Change in wording of errors. - * gfortran.dg/pr93714_2.f90: Change in wording of errors. - -2020-05-13 Patrick Palka - - PR c++/70642 - * g++.dg/cpp0x/alias-decl-70.C: New test. - -2020-05-13 Jakub Jelinek - - PR debug/95080 - * g++.dg/opt/pr95080.C: New test. - - PR tree-optimization/95060 - * gcc.target/i386/avx512f-pr95060.c: New test. - * gcc.target/i386/fma_double_1.c: Adjust expected insn counts. - * gcc.target/i386/fma_double_2.c: Likewise. - * gcc.target/i386/fma_double_3.c: Likewise. - * gcc.target/i386/fma_double_4.c: Likewise. - * gcc.target/i386/fma_double_5.c: Likewise. - * gcc.target/i386/fma_double_6.c: Likewise. - * gcc.target/i386/fma_float_1.c: Likewise. - * gcc.target/i386/fma_float_2.c: Likewise. - * gcc.target/i386/fma_float_3.c: Likewise. - * gcc.target/i386/fma_float_4.c: Likewise. - * gcc.target/i386/fma_float_5.c: Likewise. - * gcc.target/i386/fma_float_6.c: Likewise. - * gcc.target/i386/l_fma_double_1.c: Likewise. - * gcc.target/i386/l_fma_double_2.c: Likewise. - * gcc.target/i386/l_fma_double_3.c: Likewise. - * gcc.target/i386/l_fma_double_4.c: Likewise. - * gcc.target/i386/l_fma_double_5.c: Likewise. - * gcc.target/i386/l_fma_double_6.c: Likewise. - * gcc.target/i386/l_fma_float_1.c: Likewise. - * gcc.target/i386/l_fma_float_2.c: Likewise. - * gcc.target/i386/l_fma_float_3.c: Likewise. - * gcc.target/i386/l_fma_float_4.c: Likewise. - * gcc.target/i386/l_fma_float_5.c: Likewise. - * gcc.target/i386/l_fma_float_6.c: Likewise. - -2020-05-13 Martin Liska - - PR sanitizer/95051 - * gcc.dg/asan/pr95051.c: Simplify options as -fsanitize=address - and -O2 were enough to trigger the original ICE. - -2020-05-13 Christophe Lyon - - PR preprocessor/95013 - * gcc.dg/unclosed-init.c: Add missing comment in dg-error. - -2020-05-13 Bin Cheng - - PR tree-optimization/94969 - * gcc.dg/tree-ssa/pr94969.c: New test. - -2020-05-12 Craig Blackmore - - * gcc.target/riscv/shorten-memrefs-1.c: New test. - * gcc.target/riscv/shorten-memrefs-2.c: New test. - * gcc.target/riscv/shorten-memrefs-3.c: New test. - * gcc.target/riscv/shorten-memrefs-4.c: New test. - * gcc.target/riscv/shorten-memrefs-5.c: New test. - * gcc.target/riscv/shorten-memrefs-6.c: New test. - * gcc.target/riscv/shorten-memrefs-7.c: New test. - -2020-05-12 Nathan Sidwell - - PR preprocessor/95013 - * c-c++-common/goacc/pr79428-1.c: Adjust EOF diagnostic location. - * c-c++-common/gomp/pr79428-2.c: Likewise. - * g++.dg/cpp0x/decltype63.C: Likewise. - * g++.dg/cpp0x/gen-attrs-64.C: Likewise. - * g++.dg/cpp0x/pr68726.C: Likewise. - * g++.dg/cpp0x/pr78341.C: Likewise. - * g++.dg/cpp1y/pr65202.C: Likewise. - * g++.dg/cpp1y/pr65340.C: Likewise. - * g++.dg/cpp1y/pr68578.C: Likewise. - * g++.dg/cpp1z/class-deduction44.C: Likewise. - * g++.dg/diagnostic/unclosed-extern-c.C: Likewise. - * g++.dg/diagnostic/unclosed-function.C: Likewise. - * g++.dg/diagnostic/unclosed-namespace.C: Likewise. - * g++.dg/diagnostic/unclosed-struct.C: Likewise. - * g++.dg/ext/pr84598.C: Likewise. - * g++.dg/other/switch4.C: Likewise. - * g++.dg/parse/attr4.C: Likewise. - * g++.dg/parse/cond4.C: Likewise. - * g++.dg/parse/crash10.C: Likewise. - * g++.dg/parse/crash18.C: Likewise. - * g++.dg/parse/crash27.C: Likewise. - * g++.dg/parse/crash34.C: Likewise. - * g++.dg/parse/crash35.C: Likewise. - * g++.dg/parse/crash52.C: Likewise. - * g++.dg/parse/crash59.C: Likewise. - * g++.dg/parse/crash61.C: Likewise. - * g++.dg/parse/crash67.C: Likewise. - * g++.dg/parse/error14.C: Likewise. - * g++.dg/parse/error56.C: Likewise. - * g++.dg/parse/invalid1.C: Likewise. - * g++.dg/parse/parameter-declaration-1.C: Likewise. - * g++.dg/parse/parser-pr28152-2.C: Likewise. - * g++.dg/parse/parser-pr28152.C: Likewise. - * g++.dg/parse/pr68722.C: Likewise. - * g++.dg/pr46852.C: Likewise. - * g++.dg/pr46868.C: Likewise. - * g++.dg/template/crash115.C: Likewise. - * g++.dg/template/crash43.C: Likewise. - * g++.dg/template/crash90.C: Likewise. - * g++.dg/template/error-recovery1.C: Likewise. - * g++.dg/template/error57.C: Likewise. - * g++.old-deja/g++.other/crash31.C: Likewise. - * gcc.dg/empty-source-2.c: Likewise. - * gcc.dg/empty-source-3.c: Likewise. - * gcc.dg/noncompile/pr30552-3.c: Likewise. - * gcc.dg/noncompile/pr35447-1.c: Likewise. - * gcc.dg/pr20245-1.c: Likewise. - * gcc.dg/pr28419.c: Likewise. - * gcc.dg/rtl/truncated-rtl-file.c: Likewise. - * gcc.dg/unclosed-init.c: Likewise. - * obj-c++.dg/property/property-neg-6.mm: Likewise. - * obj-c++.dg/syntax-error-10.mm: Likewise. - * obj-c++.dg/syntax-error-8.mm: Likewise. - * obj-c++.dg/syntax-error-9.mm: Likewise. - -2020-05-12 Marek Polacek - - PR c++/95074 - * g++.dg/lookup/koenig15.C: New test. - -2020-05-12 Jakub Jelinek - - PR sanitizer/95051 - * gcc.dg/asan/pr95051.c: Add -fno-sanitize=all to dg-options. - -2020-05-12 Uroš Bizjak - - PR target/95046 - * gcc.target/i386/pr95046-4.c: New test. - -2020-05-12 Patrick Palka - - PR c++/78752 - * g++.dg/cpp2a/concepts-pr78752-2.C: New test. - -2020-05-12 Uroš Bizjak - - PR target/95046 - * gcc.target/i386/pr95046-3.c: New test. - -2020-05-12 Uroš Bizjak - - PR target/95046 - * gcc.target/i386/pr95046-2.c: New test. - -2020-05-12 Jozef Lawrynowicz - - * gcc.c-torture/execute/noinit-attribute.c: Skip for msp430 - in the large memory model. - -2020-05-12 Jozef Lawrynowicz - - * gcc.target/msp430/region-attribute-misuse.c: Allow a .bss section to - be created. - -2020-05-12 Martin Liska - - PR sanitizer/95033 - PR sanitizer/95051 - * g++.dg/asan/function-argument-4.C: New test. - * gcc.dg/asan/pr95033.c: New test. - * gcc.dg/asan/pr95051.c: New test. - -2020-05-12 Jakub Jelinek - - PR c++/95063 - * g++.dg/gomp/pr95063.C: New test. - -2020-05-12 Richard Sandiford - - PR tree-optimization/94980 - * gcc.target/i386/pr94980.c: New test. - -2020-05-11 Kelvin Nilsen - - * gcc.target/powerpc/vec-clzm-0.c: Rename to... - * gcc.target/powerpc/vec-cntlzm-0.c: ...this. - * gcc.target/powerpc/vec-clzm-1.c: Rename to... - * gcc.target/powerpc/vec-cntlzm-1.c: ...this. - * gcc.target/powerpc/vec-ctzm-0.c: Rename to... - * gcc.target/powerpc/vec-cnttzm-0.c: ...this. - * gcc.target/powerpc/vec-ctzm-1.c: Rename to... - * gcc.target/powerpc/vec-cnttzm-1.c: ...this. - * gcc.target/powerpc/vec-gnb-8.c: Rename to... - * gcc.target/powerpc/vec-gnb-0.c: ...this, deleting the old file. - * gcc.target/powerpc/vec-gnb-9.c: Rename to... - * gcc.target/powerpc/vec-gnb-1.c: ...this, deleting the old file. - * gcc.target/powerpc/vec-gnb-10.c: Rename to... - * gcc.target/powerpc/vec-gnb-2.c: ...this, deleting the old file. - * gcc.target/powerpc/vec-gnb-3.c: Delete. - * gcc.target/powerpc/vec-gnb-4.c: Delete. - * gcc.target/powerpc/vec-gnb-5.c: Delete. - * gcc.target/powerpc/vec-gnb-6.c: Delete. - * gcc.target/powerpc/vec-gnb-7.c: Delete. - -2020-05-11 Carl Love - - * gcc.target/powerpc/xxgenpc-runnable.c: New. - -2020-05-11 Kelvin Nilsen - - * gcc.target/powerpc/vec-stril-0.c: New. - * gcc.target/powerpc/vec-stril-1.c: New. - * gcc.target/powerpc/vec-stril-10.c: New. - * gcc.target/powerpc/vec-stril-11.c: New. - * gcc.target/powerpc/vec-stril-12.c: New. - * gcc.target/powerpc/vec-stril-13.c: New. - * gcc.target/powerpc/vec-stril-14.c: New. - * gcc.target/powerpc/vec-stril-15.c: New. - * gcc.target/powerpc/vec-stril-16.c: New. - * gcc.target/powerpc/vec-stril-17.c: New. - * gcc.target/powerpc/vec-stril-18.c: New. - * gcc.target/powerpc/vec-stril-19.c: New. - * gcc.target/powerpc/vec-stril-2.c: New. - * gcc.target/powerpc/vec-stril-20.c: New. - * gcc.target/powerpc/vec-stril-21.c: New. - * gcc.target/powerpc/vec-stril-22.c: New. - * gcc.target/powerpc/vec-stril-23.c: New. - * gcc.target/powerpc/vec-stril-3.c: New. - * gcc.target/powerpc/vec-stril-4.c: New. - * gcc.target/powerpc/vec-stril-5.c: New. - * gcc.target/powerpc/vec-stril-6.c: New. - * gcc.target/powerpc/vec-stril-7.c: New. - * gcc.target/powerpc/vec-stril-8.c: New. - * gcc.target/powerpc/vec-stril-9.c: New. - * gcc.target/powerpc/vec-stril_p-0.c: New. - * gcc.target/powerpc/vec-stril_p-1.c: New. - * gcc.target/powerpc/vec-stril_p-10.c: New. - * gcc.target/powerpc/vec-stril_p-11.c: New. - * gcc.target/powerpc/vec-stril_p-2.c: New. - * gcc.target/powerpc/vec-stril_p-3.c: New. - * gcc.target/powerpc/vec-stril_p-4.c: New. - * gcc.target/powerpc/vec-stril_p-5.c: New. - * gcc.target/powerpc/vec-stril_p-6.c: New. - * gcc.target/powerpc/vec-stril_p-7.c: New. - * gcc.target/powerpc/vec-stril_p-8.c: New. - * gcc.target/powerpc/vec-stril_p-9.c: New. - * gcc.target/powerpc/vec-strir-0.c: New. - * gcc.target/powerpc/vec-strir-1.c: New. - * gcc.target/powerpc/vec-strir-10.c: New. - * gcc.target/powerpc/vec-strir-11.c: New. - * gcc.target/powerpc/vec-strir-12.c: New. - * gcc.target/powerpc/vec-strir-13.c: New. - * gcc.target/powerpc/vec-strir-14.c: New. - * gcc.target/powerpc/vec-strir-15.c: New. - * gcc.target/powerpc/vec-strir-16.c: New. - * gcc.target/powerpc/vec-strir-17.c: New. - * gcc.target/powerpc/vec-strir-18.c: New. - * gcc.target/powerpc/vec-strir-19.c: New. - * gcc.target/powerpc/vec-strir-2.c: New. - * gcc.target/powerpc/vec-strir-20.c: New. - * gcc.target/powerpc/vec-strir-21.c: New. - * gcc.target/powerpc/vec-strir-22.c: New. - * gcc.target/powerpc/vec-strir-23.c: New. - * gcc.target/powerpc/vec-strir-3.c: New. - * gcc.target/powerpc/vec-strir-4.c: New. - * gcc.target/powerpc/vec-strir-5.c: New. - * gcc.target/powerpc/vec-strir-6.c: New. - * gcc.target/powerpc/vec-strir-7.c: New. - * gcc.target/powerpc/vec-strir-8.c: New. - * gcc.target/powerpc/vec-strir-9.c: New. - * gcc.target/powerpc/vec-strir_p-0.c: New. - * gcc.target/powerpc/vec-strir_p-1.c: New. - * gcc.target/powerpc/vec-strir_p-10.c: New. - * gcc.target/powerpc/vec-strir_p-11.c: New. - * gcc.target/powerpc/vec-strir_p-2.c: New. - * gcc.target/powerpc/vec-strir_p-3.c: New. - * gcc.target/powerpc/vec-strir_p-4.c: New. - * gcc.target/powerpc/vec-strir_p-5.c: New. - * gcc.target/powerpc/vec-strir_p-6.c: New. - * gcc.target/powerpc/vec-strir_p-7.c: New. - * gcc.target/powerpc/vec-strir_p-8.c: New. - * gcc.target/powerpc/vec-strir_p-9.c: New. - -2020-05-11 Kelvin Nilsen - - * gcc.target/powerpc/vec-ternarylogic-0.c: New. - * gcc.target/powerpc/vec-ternarylogic-1.c: New. - * gcc.target/powerpc/vec-ternarylogic-10.c: New. - * gcc.target/powerpc/vec-ternarylogic-2.c: New. - * gcc.target/powerpc/vec-ternarylogic-3.c: New. - * gcc.target/powerpc/vec-ternarylogic-4.c: New. - * gcc.target/powerpc/vec-ternarylogic-5.c: New. - * gcc.target/powerpc/vec-ternarylogic-6.c: New. - * gcc.target/powerpc/vec-ternarylogic-7.c: New. - * gcc.target/powerpc/vec-ternarylogic-8.c: New. - * gcc.target/powerpc/vec-ternarylogic-9.c: New. - -2020-05-11 Kelvin Nilsen - - * gcc.target/powerpc/pdep-0.c: New. - * gcc.target/powerpc/pdep-1.c: New. - * gcc.target/powerpc/pextd-0.c: New. - * gcc.target/powerpc/pextd-1.c: New. - -2020-05-11 Kelvin Nilsen - - * gcc.target/powerpc/vec-clrl-0.c: New. - * gcc.target/powerpc/vec-clrl-1.c: New. - * gcc.target/powerpc/vec-clrr-0.c: New. - * gcc.target/powerpc/vec-clrr-1.c: New. - -2020-05-11 Kelvin Nilsen - - * gcc.target/powerpc/cntlzdm-0.c: New test. - * gcc.target/powerpc/cntlzdm-1.c: New test. - * gcc.target/powerpc/cnttzdm-0.c: New test. - * gcc.target/powerpc/cnttzdm-1.c: New test. - -2020-05-11 Harald Anlauf - - PR fortran/95053 - * gfortran.dg/pr95053.f: New test. - -2020-05-11 Uroš Bizjak - - PR target/95046 - * gcc.target/i386/pr95046-1.c (test_sqrt): Add. - -2020-05-11 Kelvin Nilsen - - * gcc.target/powerpc/vec-cfuged-0.c: New test. - * gcc.target/powerpc/vec-cfuged-1.c: New test. - -2020-05-11 Kelvin Nilsen - - * gcc.target.powerpc/cfuged-0.c: New test. - * gcc.target.powerpc/cfuged-1.c: New test. - -2020-05-11 Richard Biener - - PR tree-optimization/95049 - * gcc.dg/torture/pr95049.c: New testcase. - -2020-05-11 Kelvin Nilsen - Bill Schmidt - - * gcc.target/powerpc/vec-gnb-0.c: New test. - * gcc.target/powerpc/vec-gnb-1.c: New test. - * gcc.target/powerpc/vec-gnb-10.c: New test. - * gcc.target/powerpc/vec-gnb-2.c: New test. - * gcc.target/powerpc/vec-gnb-3.c: New test. - * gcc.target/powerpc/vec-gnb-4.c: New test. - * gcc.target/powerpc/vec-gnb-5.c: New test. - * gcc.target/powerpc/vec-gnb-6.c: New test. - * gcc.target/powerpc/vec-gnb-7.c: New test. - * gcc.target/powerpc/vec-gnb-8.c: New test. - * gcc.target/powerpc/vec-gnb-9.c: New test. - -2020-05-11 Kelvin Nilsen - - * gcc.target/powerpc/vec-pdep-0.c: New. - * gcc.target/powerpc/vec-pdep-1.c: New. - * gcc.target/powerpc/vec-pext-0.c: New. - * gcc.target/powerpc/vec-pext-1.c: New. - -2020-05-11 Richard Biener - - PR tree-optimization/94988 - PR tree-optimization/95025 - * gcc.dg/torture/pr94988.c: New testcase. - * gcc.dg/torture/pr95025.c: Likewise. - * gcc.dg/torture/pr95045.c: Likewise. - * g++.dg/asan/pr95025.C: New testcase. - -2020-05-11 Jakub Jelinek - Tobias Burnus - - PR fortran/94672 - * gfortran.dg/gomp/pr94672.f90: New. - * gfortran.dg/missing_optional_dummy_6a.f90: Update scan-tree. - -2020-05-11 Felix Yang - - PR target/94991 - * gcc.target/aarch64/mgeneral-regs_5.c: New test. - -2020-05-11 Alex Coplan - - * gcc.target/aarch64/csinv-neg.c: New test. - -2020-05-11 Kelvin Nilsen - - * gcc.target/powerpc/vec-clzm-0.c: New test. - * gcc.target/powerpc/vec-clzm-1.c: New test. - * gcc.target/powerpc/vec-ctzm-0.c: New test. - * gcc.target/powerpc/vec-ctzm-1.c: New test. - -2020-05-11 Kelvin Nilsen - - * gcc.target/powerpc/dg-future-0.c: New. - * gcc.target/powerpc/dg-future-1.c: New. - * lib/target-supports.exp (check_powerpc_future_hw_available): - Replace -mfuture with -mcpu=future. - (check_effective_target_powerpc_future_ok): Likewise. - (is-effective-target): Add powerpc_future_hw. - -2020-05-11 Kito Cheng - - * gcc/testsuite/g++.dg/ipa/pr94856.C: Require fgnu-tm. - -2020-05-11 Uroš Bizjak - - PR target/95046 - * gcc.target/i386/pr95046-1.c: New test. - -2020-05-11 Mark Eggleston - - PR fortran/59107 - * gfortran.dg/pr59107.f90: New test. - -2020-05-11 Xiong Hu Luo - - PR tree-optimization/83403 - * gcc.dg/tree-ssa/pr83403-1.c: New test. - * gcc.dg/tree-ssa/pr83403-2.c: New test. - * gcc.dg/tree-ssa/pr83403.h: New header. - -2020-05-10 Harald Anlauf - - PR fortran/93499 - * gfortran.dg/pr93499.f90: New test. - -2020-05-09 Jakub Jelinek - - PR testsuite/95008 - * gcc.dg/two-types-6.c: Remove dg-warning directive that never - triggered. - * gcc.dg/analyzer/pr93382.c: Properly escape ()s in the diagnostic - message. - -2020-05-09 Hans-Peter Nilsson - - * gcc.target/cris/: Adjust for removing crisv32-* and cris-linux-*. - * gcc.dg/20020919-1.c, gcc.dg/pr31866.c, gcc.dg/pr46647.c, - gcc.dg/sibcall-10.c, gcc.dg/sibcall-3.c, gcc.dg/sibcall-4.c, - gcc.dg/sibcall-9.c, gcc.dg/torture/cris-asm-mof-1.c, - gcc.dg/torture/cris-volatile-1.c, gcc.dg/torture/pr38948.c, - gcc.dg/tree-ssa/20040204-1.c, gcc.dg/tree-ssa/loop-1.c, - gcc.dg/weak/typeof-2.c, lib/target-supports.exp: Remove remaining - traces of crisv32-*. - -2020-05-08 Vladimir Makarov - - * gcc.target/i386/pr92807-1.c: Improve the regex. - -2020-05-08 Iain Sandoe - - PR c++/95003 - * g++.dg/coroutines/torture/pr95003.C: New test. - -2020-05-08 Nathan Sidwell - - * gcc.dg/cpp/counter-[23].c: Move to c-c+_-common/cpp. - * gcc.dg/cpp/dir-only-*: Likewise. - * c-c++-common/cpp/dir-only-[78].c: New. - -2020-05-08 Richard Biener - - * gcc.dg/vect/bb-slp-pr68892.c: Adjust for not supported - SLP permutations becoming builds from scalars. - * gcc.dg/vect/bb-slp-pr78205.c: Likewise. - * gcc.dg/vect/bb-slp-34.c: Likewise. - -2020-05-08 Nathan Sidwell - - * c-c++-common/raw-string-6.c: Adjust EOF error location. - * g++.dg/cpp0x/decltype63.C: Likewise. - * g++.dg/cpp0x/gen-attrs-64.C: Likewise. - * g++.dg/cpp0x/pr68726.C: Likewise. - * g++.dg/cpp0x/pr78341.C: Likewise. - * g++.dg/cpp1y/pr65202.C: Likewise. - * g++.dg/cpp1z/class-deduction44.C: Likewise. - * g++.dg/diagnostic/unclosed-extern-c.C: Likewise. - * g++.dg/diagnostic/unclosed-function.C: Likewise. - * g++.dg/diagnostic/unclosed-namespace.C: Likewise. - * g++.dg/diagnostic/unclosed-struct.C: Likewise. - * g++.dg/ext/pr84598.C: Likewise. - * g++.dg/other/switch4.C: Likewise. - * g++.dg/parse/crash10.C: Likewise. - * g++.dg/parse/crash18.C: Likewise. - * g++.dg/parse/crash35.C: Likewise. - * g++.dg/parse/crash59.C: Likewise. - * g++.dg/parse/crash61.C: Likewise. - * g++.dg/parse/crash67.C: Likewise. - * g++.dg/parse/ctor3.C: Likewise. - * g++.dg/parse/error14.C: Likewise. - * g++.dg/parse/error5.C: Likewise. - * g++.dg/parse/error56.C: Likewise. - * g++.dg/parse/invalid1.C: Likewise. - * g++.dg/parse/parameter-declaration-1.C: Likewise. - * g++.dg/parse/parser-pr28152-2.C: Likewise. - * g++.dg/parse/parser-pr28152.C: Likewise. - * g++.dg/parse/pr68722.C: Likewise. - * g++.dg/pr46852.C: Likewise. - * g++.dg/pr46868.C: Likewise. - * g++.dg/template/crash115.C: Likewise. - * g++.dg/template/crash43.C: Likewise. - * g++.dg/template/error-recovery1.C: Likewise. - * g++.dg/template/error57.C: Likewise. - * g++.old-deja/g++.other/crash31.C: Likewise. - -2020-05-08 Eric Botcazou - - * gnat.dg/addr15.adb: New test. - -2020-05-08 Richard Biener - - * gnat.dg/opt83.adb: New testcase. - -2020-05-08 Jakub Jelinek - - PR tree-optimization/94786 - * gcc.dg/tree-ssa/pr94786.c: New test. - - PR target/94857 - * gcc.target/i386/pr94857.c: New test. - - PR tree-optimization/94783 - * gcc.dg/tree-ssa/pr94783.c: New test. - - PR tree-optimization/94956 - * gcc.target/i386/pr94956.c: New test. - - PR tree-optimization/94913 - * gcc.dg/tree-ssa/pr94913.c: New test. - -2020-05-07 Segher Boessenkool - - * gcc.target/powerpc/setnbc.h: New. - * gcc.target/powerpc/setnbceq.c: New. - * gcc.target/powerpc/setnbcge.c: New. - * gcc.target/powerpc/setnbcgt.c: New. - * gcc.target/powerpc/setnbcle.c: New. - * gcc.target/powerpc/setnbclt.c: New. - * gcc.target/powerpc/setnbcne.c: New. - -2020-05-07 Segher Boessenkool - - * gcc.target/powerpc/setbc.h: New. - * gcc.target/powerpc/setbceq.c: New. - * gcc.target/powerpc/setbcge.c: New. - * gcc.target/powerpc/setbcgt.c: New. - * gcc.target/powerpc/setbcle.c: New. - * gcc.target/powerpc/setbclt.c: New. - * gcc.target/powerpc/setbcne.c: New. - -2020-05-07 Iain Sandoe - - PR c++/94817 - PR c++/94829 - * g++.dg/coroutines/coro-missing-final-suspend.C: New test. - * g++.dg/coroutines/coro-missing-initial-suspend.C: New test. - * g++.dg/coroutines/coro-missing-promise-yield.C: Check for - continuation of compilation. - * g++.dg/coroutines/coro-missing-promise.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-3.C: Likewise - * g++.dg/coroutines/pr94817.C: New test. - * g++.dg/coroutines/pr94829.C: New test. - -2020-05-07 Marek Polacek - - PR c++/94590 - Detect long double -> double narrowing. - * g++.dg/cpp0x/Wnarrowing18.C: New test. - -2020-05-07 Marek Polacek - - PR c++/94255 - * g++.dg/template/spec41.C: New test. - -2020-05-07 Marek Polacek - - P1957R2 - * g++.dg/cpp0x/initlist92.C: Don't expect an error in C++20 only. - -2020-05-07 Manfred Schwarb - - * gcc.dg/20050121-1.c: Fix broken dg directives. - * gcc.dg/analzyer/pr93382.c: Likewise. - * gcc.dg/autopar/pr68460.c: Likewise. - * gcc.dg/c90-fordecl-1.c: Likewise. - * gcc.dg/cpp/trad/funlike-5.c: Likewise. - * gcc.dg/debug/dwarf2/dwarf-dfp.c: Likewise. - * gcc.dg/debug/dwarf2/dwarf-float.c: Likewise. - * gcc.dg/lto/pr52634_0.c: Likewise. - * gcc.dg/pr32069.c: Likewise. - * gcc.dg/pr35445.c: Likewise. - * gcc.dg/pr40172-3.c: Likewise. - * gcc.dg/pr87347.c: Likewise. - * gcc.dg/pr88660.c: Likewise. - * gcc.dg/pr89689.c: Likewise. - * gcc.dg/sinatan-2.c: Likewise. - * gcc.dg/sinhatanh-1.c: Likewise. - * gcc.dg/sinhovercosh-1.c: Likewise. - * gcc.dg/tls/opt-9.c: Likewise. - * gcc.dg/torture/builtins-1.c: Likewise. - * gcc.dg/torture/pr51106-1.c: Likewise. - * gcc.dg/torture/pr51106-2.c: Likewise. - * gcc.dg/torture/pr80281.c: Likewise. - * gcc.dg/torture/pr92252.c: Likewise. - * gcc.dg/tree-ssa/pr79448-2.c: Likewise. - * gcc.dg/tree-ssa/pr79448.c: Likewise. - * gcc.dg/tree-ssa/pr92163.c: Likewise. - * gcc.dg/tree-ssa/reassoc-28.c: Likewise. - * gcc.dg/tree-ssa/upcast-1.c: Likewise. - * gcc.dg/two-types-6.c: Likewise. - * gcc.dg/ubsan/c-shift-1.c: Likewise. - * gcc.dg/var-expand3.c: Likewise. - * gcc.dg/vect/costmodel/x86_64/costmodel-pr30843.c: Likewise. - * gcc.dg/vect/pr71264.c: Likewise. - -2020-05-07 Marek Polacek - - * g++.dg/other/operator1.C: Adjust expected message. - * g++.dg/overload/operator2.C: Likewise. - * g++.dg/template/error30.C: Likewise. - * g++.old-deja/g++.jason/operator.C: Likewise. - -2020-05-07 Richard Biener - - PR middle-end/94703 - * gcc.dg/tree-ssa/pr94703.c: New testcase. - -2020-05-07 Jakub Jelinek - - PR c++/94946 - * g++.dg/ext/attr-parm-1.C: Enable the test also for lp64 x86, use - sysv_abi and ms_abi attributes in that case instead of fastcall and - no attribute. - - PR c/94968 - * gcc.dg/pr94968.c: New test. - -2020-05-07 Richard Biener - - PR tree-optimization/57359 - * gcc.dg/torture/pr57359-1.c: New testcase. - * gcc.dg/torture/pr57359-1.c: Likewise. - * gcc.dg/tree-ssa/ssa-lim-14.c: Likewise. - * gcc.dg/graphite/pr80906.c: XFAIL. - -2020-05-07 Eric Botcazou - - * gnat.dg/debug16.adb: New test. - -2020-05-06 Marek Polacek - - PR c++/94938 - * g++.dg/warn/Wdiv-by-zero-3.C: New test. - * g++.dg/warn/Wtype-limits4.C: New test. - * g++.dg/warn/template-2.C: New test. - * g++.old-deja/g++.pt/crash10.C: Add dg-warning. - -2020-05-06 Iain Buclaw - - PR d/94970 - * gdc.dg/pr94970.d: New test. - -2020-05-06 Jakub Jelinek - - PR c++/94951 - * g++.dg/warn/Wstrict-aliasing-bogus-tmpl.C: New test. - - PR c++/94907 - * g++.dg/cpp2a/spaceship-synth8.C: New test. - -2020-05-06 qing zhao - - PR c/94230 - * gcc.dg/plugin/location-overflow-test-1.c (fn_1): New message to - provide hint to use the new -flarge-source-files option. - -2020-05-06 Uroš Bizjak - - PR target/94913 - * gcc.target/i386/pr94913-1.c: New test. - * gcc.target/i386/pr94913-2.c: Ditto. - -2020-05-06 Richard Biener - - PR tree-optimization/94963 - * gcc.dg/pr94963.c: New testcase. - -2020-05-06 Hongtao Liu - - * g++.dg/other/i386-2.c: Add -mtsxldtrk. - * g++.dg/other/i386-3.c: Likewise. - * gcc.target/i386/sse-12.c: Likewise. - * gcc.target/i386/sse-13.c: Likewise. - * gcc.target/i386/sse-14.c: Likewise. - * gcc.target/i386/sse-22.c: Likewsie. - * gcc.target/i386/sse-23.c: Likewise. - * gcc.target/i386/tsxldtrk-1.c: New test. - * gcc.target/i386/funcspec-56.inc: Add target attribute tests - for tsxldtrk. - -2020-05-06 Hongtao Liu - - * gcc.target/i386/funcspec-56.inc: Add enqcmd, avx512bf16, - avx512vp2intersect. - -2020-05-06 Jakub Jelinek - - PR tree-optimization/94921 - * match.pd (~(~X - Y) -> X + Y, ~(~X + Y) -> X - Y): New - simplifications. - - PR rtl-optimization/94873 - * gcc.dg/pr94873.c: New test. - -2020-05-06 Hongtao.liu - Wei Xiao - - * gcc/testsuite/gcc.target/i386/serialize-1.c: New test. - * gcc/testsuite/g++.dg/other/i386-2.C: Add -mserialize. - * gcc/testsuite/g++.dg/other/i386-3.C: Ditto. - * gcc/testsuite/gcc.target/i386/funcspec-56.inc: Ditto. - * gcc/testsuite/gcc.target/i386/sse-12.c: Ditto. - * gcc/testsuite/gcc.target/i386/sse-13.c: Ditto. - * gcc/testsuite/gcc.target/i386/sse-14.c: Ditto. - * gcc/testsuite/gcc.target/i386/sse-22.c: Ditto. - * gcc/testsuite/gcc.target/i386/sse-23.c: Ditto. - -2020-05-05 H.J. Lu - - PR testsuite/84324 - * objc/execute/exceptions/matcher-1.m (my_exception_matcher): - Change return type to int. - -2020-05-05 Harald Anlauf - - PR fortran/93366 - * gfortran.dg/pr93366.f90: New test. - -2020-05-05 Michael Meissner - - * gcc.dg/nextafter-2.c: Delete changes meant for a private branch. - * gcc.target/powerpc/pr70117.c: Likewise. - -2020-05-05 Dimitar Dimitrov - - * gcc.target/pru/clobber-sp.c: New test. - -2020-05-05 Dimitar Dimitrov - - * gcc.target/pru/lra-framepointer-fragmentation-1.c: Update test to - take into account additional available registers. - * gcc.target/pru/lra-framepointer-fragmentation-2.c: Ditto. - -2020-05-05 Marek Polacek - - PR c++/94799 - * g++.dg/lookup/this1.C: Adjust dg-error. - * g++.dg/template/lookup12.C: New test. - * g++.dg/template/lookup13.C: New test. - * g++.dg/template/lookup14.C: New test. - * g++.dg/template/lookup15.C: New test. - -2020-05-05 Martin Liska - - * gcc.dg/spellcheck-options-22.c: New test. - -2020-05-05 Martin Liska - - * g++.dg/concepts/diagnostic1.C: Merge dg-options and - dg-additional-options if len <= 120 chars. - * g++.dg/cpp1y/new1.C: Likewise. - * g++.dg/cpp1y/new2.C: Likewise. - * g++.dg/debug/dwarf2/pr61433.C: Likewise. - * g++.dg/init/new18.C: Likewise. - * g++.dg/ipa/devirt-19.C: Likewise. - * g++.dg/ipa/devirt-52.C: Likewise. - * g++.dg/ipa/pr44372.C: Likewise. - * g++.dg/ipa/pr58371.C: Likewise. - * g++.dg/ipa/pr63587-2.C: Likewise. - * g++.dg/ipa/pr78211.C: Likewise. - * g++.dg/opt/dump1.C: Likewise. - * g++.dg/opt/pr44919.C: Likewise. - * g++.dg/opt/pr47615.C: Likewise. - * g++.dg/opt/pr82159-2.C: Likewise. - * g++.dg/other/pr52048.C: Likewise. - * g++.dg/pr57662.C: Likewise. - * g++.dg/pr59510.C: Likewise. - * g++.dg/pr67989.C: Likewise. - * g++.dg/pr81194.C: Likewise. - * g++.dg/template/canon-type-8.C: Likewise. - * g++.dg/template/crash107.C: Likewise. - * g++.dg/template/show-template-tree-3.C: Likewise. - * g++.dg/tm/cgraph_edge.C: Likewise. - * g++.dg/torture/20141013.C: Likewise. - * g++.dg/torture/pr34641.C: Likewise. - * g++.dg/torture/pr34850.C: Likewise. - * g++.dg/torture/pr36745.C: Likewise. - * g++.dg/torture/pr40991.C: Likewise. - * g++.dg/torture/pr48271.C: Likewise. - * g++.dg/torture/pr53602.C: Likewise. - * g++.dg/torture/pr53752.C: Likewise. - * g++.dg/torture/pr54838.C: Likewise. - * g++.dg/torture/pr58252.C: Likewise. - * g++.dg/tree-ssa/pr22444.C: Likewise. - * g++.dg/tree-ssa/pr24351-3.C: Likewise. - * g++.dg/tree-ssa/pr27283.C: Likewise. - * g++.dg/tree-ssa/pr27291.C: Likewise. - * g++.dg/tree-ssa/pr27548.C: Likewise. - * g++.dg/tree-ssa/pr42337.C: Likewise. - * g++.dg/ubsan/pr65583.C: Likewise. - * g++.old-deja/g++.robertl/eb27.C: Likewise. - * gcc.dg/tree-ssa/dse-points-to.c: Likewise. - * gcc.target/arm/simd/vmmla_1.c: Likewise. - * gcc.target/i386/vect-pr67800.c: Likewise. - * gcc.target/mips/cfgcleanup-jalr2.c: Likewise. - * gcc.target/mips/cfgcleanup-jalr3.c: Likewise. - -2020-05-05 Richard Biener - - PR testsuite/92177 - * gcc.dg/vect/bb-slp-22.c: Adjust. - -2020-05-05 Richard Biener - - PR ipa/94947 - * gcc.dg/torture/pr94947-1.c: New testcase. - * gcc.dg/torture/pr94947-2.c: Likewise. - -2020-05-05 Eric Botcazou - - * gnat.dg/aggr29.adb: New test. - -2020-05-05 Richard Biener - - PR tree-optimization/94949 - * gcc.dg/torture/pr94949.c: New testcase. - -2020-05-05 Alex Coplan - - * gcc.target/aarch64/mvn_zero_ext.c: New test. - -2020-05-05 Jakub Jelinek - - PR tree-optimization/94800 - * gcc.dg/tree-ssa/pr94800.c: New test. - * gcc.dg/tree-ssa/popcount5.c: New test. - * gcc.dg/tree-ssa/popcount5l.c: New test. - * gcc.dg/tree-ssa/popcount5ll.c: New test. - - PR target/94942 - * gcc.target/i386/pr94942.c: New test. - - PR tree-optimization/94914 - * gcc.target/i386/pr94914.c: New test. - -2020-05-04 Patrick Palka - - PR c++/94038 - * g++.dg/warn/pr94038.C: New test. - -2020-05-04 Richard Sandiford - - PR middle-end/94941 - * gcc.target/aarch64/sve/acle/general/unoptimized_1.c: New test. - -2020-05-04 Uroš Bizjak - - PR target/94795 - * gcc.target/i386/pr94795-1.c: New test. - * gcc.target/i386/pr94795-2.c: Ditto. - -2020-05-04 Richard Biener - - PR tree-optimization/39612 - * gcc.dg/tree-ssa/pr39612.c: New testcase. - -2020-05-04 Uroš Bizjak - - PR target/94650 - * gcc.targeti/i386/pr94650.c: New test. - -2020-05-04 Jakub Jelinek - - PR tree-optimization/94718 - * gcc.dg/tree-ssa/pr94718-4.c: New test. - * gcc.dg/tree-ssa/pr94718-5.c: New test. - - PR tree-optimization/94718 - * gcc.dg/tree-ssa/pr94718-3.c: New test. - - PR tree-optimization/94718 - * gcc.dg/tree-ssa/pr94718-1.c: New test. - * gcc.dg/tree-ssa/pr94718-2.c: New test. - -2020-05-03 Eric Botcazou - - * gnat.dg/limited1_inner.adb (Finalize): Use 'Unrestricted_Access. - -2020-05-02 H.J. Lu - - PR fortran/94788 - * lib/gfortran.exp (gfortran_target_compile): Get asan library - from TEST_ALWAYS_FLAGS. - -2020-05-02 Thomas Koenig - - PR fortran/94788 - * gfortran.dg/asan: New directory. - * gfortran.dg/asan/asan.exp: New file. - * gfortran.dg/asan/pointer_assign_16.f90: New test case. - -2020-05-01 H.J. Lu - - PR target/93492 - * c-c++-common/patchable_function_entry-error-1.c: New test. - * c-c++-common/patchable_function_entry-error-2.c: Likewise. - * c-c++-common/patchable_function_entry-error-3.c: Likewise. - -2020-05-01 Patrick Palka - - PR c++/90880 - * g++.dg/template/sfinae29.C: New test. - -2020-05-01 Marek Polacek - - PR c++/94885 - * g++.dg/cpp2a/paren-init26.C: New test. - -2020-05-01 Andreas Tobler - - * gcc.dg/asan/pr87930.c: Enable on x86_64 FreeBSD. - * c-c++-common/asan/asan-interface-1.c: Likewise. - * c-c++-common/asan/clone-test-1.c: Likewise. - * c-c++-common/asan/no-asan-stack.c: Likewise. - * c-c++-common/asan/pr59063-1.c: Likewise. - * c-c++-common/asan/pr59063-2.c: Likewise. - * g++.dg/asan/asan_test.C: Likewise. - * g++.dg/asan/asan_test_utils.h: Likewise. - * g++.dg/asan/interception-failure-test-1.C: Likewise. - * g++.dg/asan/interception-malloc-test-1.C: Likewise. - -2020-04-30 Peter Bergner - - PR rtl-optimization/94740 - * gcc.target/powerpc/pr94740.c: New test. - -2020-04-30 Jakub Jelinek - - PR c/94842 - * gcc.dg/pr94842.c: New test. - -2020-04-30 Martin Jambor - - PR ipa/94856 - * g++.dg/ipa/pr94856.C: New test. - -2020-04-30 Iain Sandoe - - PR c++/94886 - * g++.dg/coroutines/pr94886-folly-3.C: New test. - -2020-04-30 Iain Sandoe - - PR c++/94883 - * g++.dg/coroutines/pr94883-folly-2.C: New test. - -2020-04-30 Iain Sandoe - - PR c++/94879 - * g++.dg/coroutines/pr94xxx-folly-1.C: New test. - -2020-04-30 Marek Polacek - - PR c++/94775 - * g++.dg/warn/Warray-bounds-10.C: New test. - -2020-04-30 Szabolcs Nagy - - PR target/94748 - * gcc.target/aarch64/pr94748.c: New test. - -2020-04-30 Andreas Krebbel - - * gcc.target/s390/zvector/vec_load_len_r.c: New test. - * gcc.target/s390/zvector/vec_store_len_r.c: New test. - -2020-04-29 Jakub Jelinek - - PR target/94704 - * g++.target/s390/s390.exp: New file. - * g++.target/s390/pr94704-1.C: New test. - * g++.target/s390/pr94704-2.C: New test. - * g++.target/s390/pr94704-3.C: New test. - * g++.target/s390/pr94704-4.C: New test. - -2020-04-29 Patrick Palka - - PR c++/94830 - * g++.dg/concepts/diagnostics12.C: Clarify the dg-message now - that the corresponding diagnostic is deterministic. - * g++.dg/concepts/diagnostics13.C: New test. - -2020-04-29 H.J. Lu - - PR target/93654 - * gcc.target/i386/pr93654.c: New test. - -2020-04-29 Richard Sandiford - - * lib/target-supports.exp: Add v8a_hard to the list of arm_arch_* - targets. - * g++.target/arm/no_unique_address_1.C: New test. - * g++.target/arm/no_unique_address_2.C: Likewise. - -2020-04-29 Richard Biener - Li Zekun - - PR lto/94822 - * gcc.dg/lto/pr94822_0.c: New testcase. - * gcc.dg/lto/pr94822_1.c: Alternate file. - * gcc.dg/lto/pr94822.h: Likewise. - -2020-04-29 Richard Sandiford - - * g++.target/aarch64/no_unique_address_1.C: New test. - * g++.target/aarch64/no_unique_address_2.C: Likewise. - -2020-04-29 Richard Sandiford - - * g++.target/arm/mve.exp: Restore the original dg-do-what-default - before finishing. - -2020-04-29 Jakub Jelinek - - PR target/94707 - * g++.target/powerpc/pr94707-1.C: New test. - * g++.target/powerpc/pr94707-2.C: New test. - * g++.target/powerpc/pr94707-3.C: New test. - * g++.target/powerpc/pr94707-4.C: New test. - * g++.target/powerpc/pr94707-5.C: New test. - * g++.target/powerpc/pr94707-4.C: New test. - -2020-04-29 Patrick Palka - - PR c++/94819 - * g++.dg/cpp2a/concepts-inherit-ctor10.C: New test. - * g++.dg/cpp2a/concepts-inherit-ctor11.C: New test. - - PR c++/94808 - * g++.dg/concepts/diagnostic12.C: New test. - * g++.dg/concepts/diagnostic5.C: Adjust dg-message. - -2020-04-28 Alexandre Oliva - - PR target/94812 - * gcc.target/powerpc/test_mffsl.c: Call mffsl only once. - Reinterpret the doubles as long longs for compares. Mask out - mffs bits that are not expected from mffsl. - -2020-04-28 David Malcolm - - PR analyzer/94816 - * g++.dg/analyzer/pr94816.C: New test. - -2020-04-28 David Malcolm - - PR analyzer/94447 - PR analyzer/94639 - PR analyzer/94732 - PR analyzer/94754 - * gcc.dg/analyzer/data-model-1.c: Mark "use of uninitialized - value" warnings as xfail for now. - * gcc.dg/analyzer/data-model-5b.c: Remove uninitialized warning. - * gcc.dg/analyzer/pr94099.c: Mark "uninitialized" warning as xfail - for now. - * gcc.dg/analyzer/pr94447.c: New test. - * gcc.dg/analyzer/pr94639.c: New test. - * gcc.dg/analyzer/pr94732.c: New test. - * gcc.dg/analyzer/pr94754.c: New test. - * gcc.dg/analyzer/zlib-6.c: Mark "uninitialized" warning as xfail - for now. - -2020-04-28 Jakub Jelinek - - PR tree-optimization/94809 - * gcc.c-torture/execute/pr94809.c: New test. - -2020-04-28 Iain Sandoe - - PR c++/94760 - * g++.dg/coroutines/pr94760-mismatched-traits-and-promise-prev.C: - New test. - -2020-04-28 Iain Sandoe - - PR c++/94759 - * g++.dg/coroutines/coro-bad-alloc-00-bad-op-new.C: Adjust for - updated error messages. - * g++.dg/coroutines/coro-bad-alloc-01-bad-op-del.C: Likewise. - * g++.dg/coroutines/coro-bad-alloc-02-no-op-new-nt.C: Likewise. - * g++.dg/coroutines/coro-missing-promise.C: Likewise. - * g++.dg/coroutines/pr93458-5-bad-coro-type.C: Liekwise. - * g++.dg/coroutines/torture/co-ret-17-void-ret-coro.C: New test. - -2020-04-27 Iain Sandoe - - PR c++/94701 - * g++.dg/coroutines/torture/local-var-06-structured-binding.C: - New test. - -2020-04-27 Thomas Koenig - - PR fortran/93956 - PR fortran/94788 - * gfortran.dg/pointer_assign_13.f90: Remove. - -2020-04-27 Jakub Jelinek - - PR target/94780 - * gcc.dg/pr94780.c: New test. - -2020-04-27 Patrick Palka - - PR c++/94772 - * g++.dg/cpp1y/constexpr-tracking-const23.C: New test. - * g++.dg/cpp1y/constexpr-tracking-const24.C: New test. - * g++.dg/cpp1y/constexpr-tracking-const25.C: New test. - -2020-04-27 Szabolcs Nagy - - PR target/94697 - * gcc.target/aarch64/pr94697.c: Require lp64. - -2020-04-27 Jakub Jelinek - - PR c/94755 - * c-c++-common/pr94755.c: New test. - -2020-04-27 Felix Yang - - PR tree-optimization/94784 - * gcc.dg/pr94784.c: New test. - -2020-04-27 Szabolcs Nagy - - PR target/94515 - * g++.target/aarch64/pr94515-1.C: New test. - * g++.target/aarch64/pr94515-2.C: New test. - -2020-04-26 Marek Polacek - - PR c++/90320 - * g++.dg/cpp0x/explicit13.C: New test. - * g++.dg/cpp0x/explicit14.C: New test. - -2020-04-27 Iain Buclaw - - PR d/89418 - * lib/gdc-utils.exp (gdc-convert-test): Add dg-skip-if for compilable - tests that depend on the phobos standard library. - -2020-04-27 Iain Buclaw - - PR d/94777 - * gdc.dg/pr94777a.d: New test. - * gdc.dg/pr94777b.d: New test. - -2020-04-26 Iain Sandoe - - PR c++/94752 - * g++.dg/coroutines/pr94752.C: New test. - -2020-04-26 Thomas Koenig - - PR fortran/94737 - * gfortran.dg/binding_label_tests_34.f90: New test case. - -2020-04-25 David Edelsohn - - * g++.dg/debug/dwarf2/pr61433.C: Unfail AIX. - * g++.dg/opt/pr48549.C: Same. - * g++.dg/opt/pr60002.C: Same. - * g++.dg/opt/pr80436.C: Same. - * g++.dg/opt/pr83084.C: Same. - * g++.dg/other/pr42685.C: Same. - * gcc.dg/pr41241.c: Same. - * gcc.dg/pr42629.c: Same. - * gcc.dg/pr42630.c: Same. - * gcc.dg/pr42719.c: Same. - * gcc.dg/pr42728.c: Same. - * gcc.dg/pr42889.c: Same. - * gcc.dg/pr42916.c: Same. - * gcc.dg/pr43084.c: Same. - * gcc.dg/pr43670.c: Same. - * gcc.dg/pr44023.c: Same. - * gcc.dg/pr44971.c: Same. - * gcc.dg/pr45449.c: Same. - * gcc.dg/pr46771.c: Same. - * gcc.dg/pr47684.c: Same. - * gcc.dg/pr47881.c: Same. - * gcc.dg/pr48768.c: Same. - * gcc.dg/pr50017.c: Same. - * gcc.dg/pr56023.c: Same. - * gcc.dg/pr64935-1.c: Same. - * gcc.dg/pr64935-2.c: Same. - * gcc.dg/pr65521.c: Same. - * gcc.dg/pr65779.c: Same. - * gcc.dg/pr65980.c: Same. - * gcc.dg/pr66688.c: Same. - * gcc.dg/pr70405.c: Same. - * gcc.dg/vect/pr49352.c: Same. - -2020-04-25 David Edelsohn - - * gcc.dg/ipa/ipa-sra-19.c: Add -Wno-psabi option on AIX. - -2020-04-25 David Edelsohn - - * gcc.dg/spellcheck-options-21.c: Require LTO. - -2020-04-25 David Edelsohn - - * gcc.dg/debug/dwarf2/pr82718-1.c: Skip on AIX. - * gcc.dg/debug/dwarf2/pr82718-2.c: Skip on AIX. - -2020-04-25 Thomas Koenig - - PR fortran/94578 - * gfortran.dg/pointer_assign_14.f90: New test. - * gfortran.dg/pointer_assign_15.f90: New test. - -2020-04-25 Iain Sandoe - - * g++.dg/coroutines/torture/co-ret-16-simple-control-flow.C: - Enable test. - -2020-04-25 Patrick Palka - - * g++.dg/concepts/diagnostic11.C: New test. - -2020-04-25 Jakub Jelinek - - PR c++/94742 - * g++.dg/warn/Wreturn-type-12.C: New test. - - PR tree-optimization/94734 - PR tree-optimization/89430 - * gcc.dg/tree-ssa/pr89430-1.c: Add xfail. - * gcc.dg/tree-ssa/pr89430-2.c: Add xfail. - * gcc.dg/tree-ssa/pr89430-5.c: Add xfail. - * gcc.dg/tree-ssa/pr89430-6.c: Add xfail. - * gcc.c-torture/execute/pr94734.c: New test. - -2020-04-24 Jakub Jelinek - - PR c++/94383 - * g++.dg/compat/struct-layout-1.exp: Use the -std=c++14 vs. -std=c++17 - ABI compatibility testing even with ALT_CXX_UNDER_TEST, as long as - that compiler accepts -std=c++14 and -std=c++17 options. - -2020-04-24 Andrew Stubbs - - * lib/target-supports.exp (available_vector_sizes): Add amdgcn. - (check_effective_target_vect_cmdline_needed): Disable for amdgcn. - (check_effective_target_vect_pack_trunc): Add amdgcn. - -2020-04-24 Iain Sandoe - - PR c++/94288 - * g++.dg/coroutines/pr94288.C: New test. - -2020-04-24 Alexandre Oliva - - * lib/target-supports.exp (check_effective_target_fileio): New. - * gcc.c-torture/execute/fprintf-2.c: Require it. - * gcc.c-torture/execute/printf-2.c: Likewise. - * gcc.c-torture/execute/user-printf.c: Likewise. - -2020-04-24 Haijian Zhang - - PR rtl-optimization/94708 - * gfortran.dg/pr94708.f90: New test. - -2020-04-23 David Edelsohn - - * gcc.dg/torture/pr90020.c: Skip on AIX. - -2020-04-23 David Edelsohn - - * g++.dg/cpp0x/lambda/pr94426-1.C: Require LTO. - -2020-04-23 Martin Sebor - - PR driver/90983 - * gcc.dg/Wframe-larger-than-3.c: New test. - * gcc.dg/Wlarger-than4.c: New test. - * gcc.dg/Wstack-usage.c: New test. - -2020-04-23 Patrick Palka - - * g++.dg/cpp0x/dependent3.C: New test. - - PR c++/94645 - * g++.dg/cpp2a/concepts-lambda6.C: New test. - -2019-04-23 Eric Botcazou - - * g++.dg/opt/store-merging-4.C: New test. - -2020-04-23 Iain Sandoe - - PR c++/94288 - * g++.dg/coroutines/torture/co-await-18-if-cond.C: New test. - * g++.dg/coroutines/torture/co-await-19-while-cond.C: New test. - * g++.dg/coroutines/torture/co-await-20-do-while-cond.C: New test. - * g++.dg/coroutines/torture/co-await-21-switch-value.C: New test. - * g++.dg/coroutines/torture/co-await-22-truth-and-of-if.C: New test. - * g++.dg/coroutines/torture/co-ret-16-simple-control-flow.C: New test. - -2020-04-23 Marek Polacek - - PR c++/94733 - * g++.dg/tm/attrib-5.C: New test. - -2020-04-23 Jakub Jelinek - - PR middle-end/94724 - * gcc.c-torture/execute/pr94724.c: New test. - -2020-04-23 Thomas Koenig - - PR fortran/93956 - * gfortran.dg/pointer_assign_13.f90: New test. - -2020-04-23 Iain Sandoe - - * g++.dg/coroutines/coro-bad-alloc-00-bad-op-new.C: Adjust for - changed inline namespace. - * g++.dg/coroutines/coro-bad-alloc-01-bad-op-del.C: Likewise. - * g++.dg/coroutines/coro-bad-alloc-02-no-op-new-nt.C: Likewise - * g++.dg/coroutines/coro.h: Likewise - -2020-04-23 Szabolcs Nagy - - PR target/94697 - * gcc.target/aarch64/pr94697.c: New test. - -2020-04-23 Felix Yang - - PR target/94678 - * gcc.target/aarch64/pragma_cpp_predefs_2.c: Fix typos, pop_pragma -> - pop_options. Add tests for general-regs-only. - * gcc.target/aarch64/pragma_cpp_predefs_3.c: Add tests for - general-regs-only. - -2020-04-23 Andrew Stubbs - Thomas Schwinge - - PR middle-end/93488 - - * c-c++-common/goacc/pr93488.c: New file. - -2020-04-23 Richard Sandiford - - PR tree-optimization/94727 - * gcc.dg/vect/pr94727.c: New test. - -2020-04-23 Szabolcs Nagy - - PR target/94514 - * g++.target/aarch64/pr94514.C: Require lp64. - * gcc.target/aarch64/pr94514.c: Likewise. - -2020-04-23 Jakub Jelinek - - PR target/94707 - * g++.dg/tree-ssa/pr27830.C: Use -Wpsabi -w for -std=c++17 and higher. - - PR c/94705 - * gcc.dg/pr94705.c: New test. - -2020-04-22 Patrick Palka - - PR c++/94719 - PR c++/94549 - * g++.dg/cpp2a/concepts-inherit-ctor9.C: New test. - -2020-04-22 Marek Polacek - - PR c++/93807 - * g++.dg/cpp2a/fn-template20.C: New test. - -2020-04-22 Duan bo - - PR testsuite/94712 - * gcc.target/aarch64/pr63304_1.c: Require lp64 target. - * gcc.target/aarch64/pr70120-2.c: Likewise. - * gcc.target/aarch64/pr94530.c: Likewise. - * gcc.target/aarch64/reload-valid-spoff.c: Likewise. - -2020-04-22 Felix Yang - - PR target/94678 - * gcc.target/aarch64/sve/acle/general/nosve_6.c: New test. - -2020-04-22 José Rui Faustino de Sousa - - PR fortran/90350 - * gfortran.dg/PR90350.f90: New test. - -2020-04-22 Paolo Carlini - - PR c++/90448 - * g++.dg/cpp1y/lambda-generic-variadic20.C: New. - -2020-04-22 Martin Sebor - - PR middle-end/94647 - * c-c++-common/Warray-bounds-2.c: Replace a large value harcoded - in an expected warning with a pattern. - -2020-04-22 Christophe Lyon - - * lib/target-supports.exp (check_effective_target_arm_dsp) - (check_effective_target_arm_crc_ok_nocache) - (check_effective_target_arm_coproc1_ok_nocache) - (check_effective_target_arm_coproc2_ok_nocache) - (check_effective_target_arm_coproc3_ok_nocache) - (check_effective_target_arm_coproc4_ok_nocache): Include - arm_acle.h. - -2020-04-22 Christophe Lyon - - gcc/testsuite/ - * lib/target-supports.exp (arm_v8m_main_cde, arm_v8m_main_cde_fp) - (arm_v8_1m_main_cde_mve, arm_v8_1m_main_cde_mve_fp): Include - arm_cde.h and arm_mve.h as ineeded. - -2020-04-22 Christophe Lyon - - * lib/target-supports.exp - (check_effective_target_arm_v8_1m_mve_ok_nocache): Include - arm_mve.h. - -2020-04-22 Christophe Lyon - - * gcc.target/arm/mve/intrinsics/mve_vector_float.c: Use - arm_v8_1m_mve_fp. - * gcc.target/arm/mve/intrinsics/mve_vector_float1.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_vector_float2.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_vector_int.c: Use - arm_v8_1m_mve. - * gcc.target/arm/mve/intrinsics/mve_vector_int1.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_vector_int2.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. - -2020-04-22 Christophe Lyon - - * gcc.target/arm/mve/intrinsics/mve_move_gpr_to_gpr.c: Remove - useless options. - -2020-04-22 Christophe Lyon - - * gcc.target/arm/mve/intrinsics/mve_fp_fpu1.c: Use arm_hard_ok - effective target and arm_v8_1m_mve_fp options. - * gcc.target/arm/mve/intrinsics/mve_fp_fpu2.c: Use arm_softfp_ok - effective target and arm_v8_1m_mve_fp options. - * gcc.target/arm/mve/intrinsics/mve_fpu1.c: Use arm_hard_ok - effective target and arm_v8_1m_mve options. - * gcc.target/arm/mve/intrinsics/mve_fpu2.c: Use arm_softfp_ok - effective target and arm_v8_1m_mve options. - -2020-04-22 Christophe Lyon - - * lib/target-supports.exp (arm_softfp_ok): New effective target. - (arm_hard_ok): Likewise. - -2020-04-22 Tobias Burnus - - PR fortran/94709 - * gfortran.dg/gomp/warn_truncated.f: New. - * gfortran.dg/gomp/warn_truncated.f90: New. - -2020-04-22 Richard Sandiford - - PR tree-optimization/94700 - * gcc.target/aarch64/sve/acle/general/pr94700.c: New test. - -2020-04-22 Iain Sandoe - - * g++.dg/coroutines/torture/local-var-0.C: Rename to... - * g++.dg/coroutines/torture/local-var-00-const.C: ...this. - * g++.dg/coroutines/torture/local-var-1.C: Rename to... - * g++.dg/coroutines/torture/local-var-01-single.C: ...this. - * g++.dg/coroutines/torture/local-var-2.C: Rename to... - * g++.dg/coroutines/torture/local-var-02-conditional.C: ...this. - * g++.dg/coroutines/torture/local-var-3.C: Rename to... - * g++.dg/coroutines/torture/local-var-03-with-awaits.C: ...this. - * g++.dg/coroutines/torture/local-var-4.C: Rename to... - * g++.dg/coroutines/torture/local-var-04-hiding-nested-scopes.C: this. - * g++.dg/coroutines/torture/local-var-5-awaitable.C: Rename to... - * g++.dg/coroutines/torture/local-var-05-awaitable.C: ...this. - -2020-04-22 Iain Sandoe - - PR c++/94682 - * g++.dg/coroutines/promise-parm-preview-this.C: New test. - -2020-04-22 Christophe Lyon - - * lib/gcc-dg.exp (schedule-cleanups): Accept --save-temps. - -2020-04-22 Martin Sebor - - PR c++/94510 - * g++.dg/init/array58.C: New test. - * g++.dg/init/array59.C: New test. - * g++.dg/cpp2a/nontype-class34.C: New test. - * g++.dg/cpp2a/nontype-class35.C: New test. - -2020-04-22 Patrick Palka - - PR c++/67825 - * g++.dg/concepts/diagnostic10.C: New test. - * g++.dg/cpp2a/concepts-pr67178.C: Adjust dg-message. - -2020-04-21 Patrick Palka - - PR c++/94549 - * g++.dg/concepts/inherit-ctor3.C: Adjust expected diagnostics. - * g++.dg/cpp2a/concepts-inherit-ctor4.C: Likewise. - * g++.dg/cpp2a/concepts-inherit-ctor8.C: New test. - -2020-04-21 Jonathan Wakely - - PR c++/94149 - * g++.dg/cpp2a/paren-init24.C: Fix FIXMEs. - -2020-04-21 Martin Sebor - - PR middle-end/94647 - * c-c++-common/Warray-bounds-2.c: Adjust a test case and add a new one. - * c-c++-common/Warray-bounds-3.c: Add tests for missing warnings. - * c-c++-common/Wrestrict.c: Invert bounds in printed ranges. - * gcc.dg/Warray-bounds-59.c: New test. - * gcc.dg/Wrestrict-10.c: Add a missing warning. - * gcc.dg/Wrestrict-5.c: Adjust text of expected warning. - * gcc.dg/Wrestrict-6.c: Expect to see a range of overlap offsets. - -2020-04-21 Szabolcs Nagy - - PR target/94514 - * g++.target/aarch64/pr94514.C: New test. - * gcc.target/aarch64/pr94514.c: New test. - -2020-04-21 Richard Sandiford - - PR tree-optimization/94683 - * gcc.target/aarch64/sve/acle/general/pr94683.c: New test. - -2020-04-21 Jakub Jelinek - - PR c++/94383 - * g++.dg/compat/struct-layout-1.exp: If !$use_alt, add -c to generator - args. - * g++.dg/compat/struct-layout-1_generate.c (dg_options): Add another - %s to the start of dg-options arg. - (cxx14_vs_cxx17, do_cxx14_vs_cxx17): New variables. - (switchfiles): If cxx14_vs_cxx17, prepend -std=c++14 -DCXX14_VS_CXX17 - or -std=c++17 -DCXX17_VS_CXX14 - randomly - to dg-options. - (output): Don't append further fields once one with flexible array - member is added. - (generate_random_tests): Don't use toplevel unions if cxx14_vs_cxx17. - (main): If -c, emit second set of tests for -std=c++14 vs. -std=c++17 - testing. - * g++.dg/compat/struct-layout-1_x1.h (empty_base): New type. - (EMPTY_BASE): Define. - (TX): Use EMPTY_BASE. - * g++.dg/compat/struct-layout-1_y1.h (empty_base): New type. - (EMPTY_BASE): Define. - (TX): Use EMPTY_BASE. - - PR c/94641 - * c-c++-common/ubsan/pr94641.c: New test. - -2020-04-21 Patrick Palka - - PR c++/94597 - * g++.dg/cpp2a/concepts-conv2.C: New test. - -2020-04-21 Duan bo - - PR target/94577 - * gcc.target/aarch64/pr94577.c: New test. - -2020-04-21 Jakub Jelinek - - PR c/94686 - * gcc.c-torture/compile/pr94686.c: New test. - -2020-04-21 Iain Sandoe - - PR c++/94661 - * g++.dg/coroutines/ramp-return-a.C: New test. - * g++.dg/coroutines/ramp-return-b.C: New test. - * g++.dg/coroutines/ramp-return-c.C: New test. - -2020-04-17 Marek Polacek - - PR c++/94592 - * g++.dg/cpp2a/nontype-class34.C: New test. - * g++.dg/cpp2a/nontype-class35.C: New test. - -2020-04-20 Patrick Palka - - PR c++/94628 - * g++.dg/cpp0x/variadic179.C: New test. - * g++.dg/cpp0x/variadic180.C: New test. - -2020-04-20 Marek Polacek - - PR c++/94505 - bogus -Wparentheses warning with fold-expression. - * g++.dg/cpp1z/fold11.C: New test. - -2020-04-20 Andreas Krebbel - - * g++.dg/pr94666.C: New test. - -2020-04-20 Andreas Krebbel - - PR target/94613 - * gcc.target/s390/zvector/pr94613.c: New test. - * gcc.target/s390/zvector/vec_sel-1.c: New test. - -2020-04-20 Richard Sandiford - - * gcc.target/aarch64/sve/cost_model_8.c: New test. - * gcc.target/aarch64/sve/cost_model_9.c: Likewise. - * gcc.target/aarch64/sve/pr89007-1.c: Add -msve-vector-bits=512. - * gcc.target/aarch64/sve/pr89007-2.c: Likewise. - -2020-04-20 Richard Sandiford - - PR target/94668 - * gcc.target/aarch64/sve/pr94668.c: New test. - -2020-04-20 Jan Hubicka - - PR ipa/94582 - PR ipa/94582 - * g++.dg/torture/pr94582.C: New test. - -2020-04-20 Harald Anlauf - - PR fortran/93364 - * gfortran.dg/pr93364.f90: New test. - -2020-04-20 Steve Kargl - Thomas Koenig - - PR fortran/91800 - * gfortran.dg/hollerith_9.f90: New test. - -2020-04-19 David Edelsohn - - * g++.dg/debug/dwarf2/pr85550.C: Skip AIX. - * g++.dg/debug/pr94272.C: Skip AIX. - * g++.dg/debug/pr94281.C: Skip AIX. - * g++.dg/debug/pr94323.C: Skip AIX. - -2020-04-19 Iain Sandoe - - * g++.dg/coroutines/torture/co-await-17-capture-comp-ref.C: Require - C++17. - * g++.dg/coroutines/torture/co-ret-15-default-return_void.C: Likewise. - -2020-04-19 Thomas Koenig - - PR fortran/94347 - * gfortran.dg/char_pointer_init_12.f90: New test. - -2020-04-19 Thomas Koenig - - PR fortran/57129 - * gfortran.dg/subroutine_as_type.f90: New test. - -2020-04-19 Thomas Koenig - - PR fortran/93500 - * gfortran.dg/arith_divide_3.f90: New test. - -2020-04-19 Jakub Jelinek - - PR objc/94637 - * objc.dg/pr94637.m: New test. - -2020-04-18 Iain Buclaw - - * lib/gdc-utils.exp (gdc-convert-test): Add dg-skip-if for tests that - depending on the phobos standard library. - -2020-04-18 Jeff Law - - PR debug/94439 - * gcc.dg/torture/pr94439.c: New test. - -2020-04-18 Iain Buclaw - - * gdc.dg/link.d: Use d_runtime_has_std_library effective target. - * gdc.dg/runnable.d: Move phobos tests to... - * gdc.dg/runnable2.d: ...here. New test. - * lib/target-supports.exp - (check_effective_target_d_runtime_has_std_library): New. - -2020-04-18 Patrick Palka - - PR c++/94632 - * g++.dg/template/canon-type-14.C: New test. - - PR c++/92187 - * g++.dg/concepts/abbrev5.C: New test. - * g++.dg/concepts/abbrev6.C: New test. - -2020-04-17 Jeff Law - - PR rtl-optimization/90275 - * gcc.c-torture/compile/pr90275-2.c: New test. - -2020-04-17 Patrick Palka - - PR c++/94483 - * g++.dg/cpp2a/lambda-pack-init5.C: New test. - - PR c++/88754 - * g++.dg/parse/ambig10.C: New test. - -2020-04-17 Thomas Koenig - - PR fortran/94090 - * gfortran.dg/interface_46.f90: New test. - -2020-04-17 Richard Sandiford - - * gcc.target/aarch64/sve/cost_model_2.c: New test. - * gcc.target/aarch64/sve/cost_model_3.c: Likewise. - * gcc.target/aarch64/sve/cost_model_4.c: Likewise. - * gcc.target/aarch64/sve/cost_model_5.c: Likewise. - * gcc.target/aarch64/sve/cost_model_6.c: Likewise. - * gcc.target/aarch64/sve/cost_model_7.c: Likewise. - -2020-04-17 Jakub Jelinek - Jeff Law - - PR target/94567 - * gcc.c-torture/execute/pr94567.c: New test. - -2020-04-17 Nathan Sidwell - - PR c++/94608 - * g++.dg/lto/pr83720_0.C: Add fn def to avoid warning on arm ABI. - -2020-04-17 Jakub Jelinek - - PR rtl-optimization/94618 - * g++.dg/opt/pr94618.C: New test. - - PR tree-optimization/94621 - * gcc.c-torture/compile/pr94621.c: New test. - - PR c++/94314 - * g++.dg/pr94314-4.C: Require c++14 rather than c++11. - -2020-04-16 Peter Bergner - - PR rtl-optimization/93974 - * g++.dg/pr93974.C: New test. - -2020-04-16 Iain Sandoe - - * g++.dg/cpp0x/lambda/pr94426-2.C: Adjust scan-asms to test - for the change on more platforms. - -2020-04-16 Martin Jambor - - PR ipa/93621 - * g++.dg/ipa/pr93621.C: New test. - -2020-04-16 Richard Sandiford - - PR target/94606 - * gcc.dg/vect/pr94606.c: New test. - -2020-04-16 Martin Liska - Jakub Jelinek - - PR c++/94314 - * g++.dg/pr94314.C: Do not use dg-additional-options - and remove not needed stdio.h include. - * g++.dg/pr94314-2.C: Likewise. - * g++.dg/pr94314-3.C: Likewise. - * g++.dg/pr94314-4.C: New test. - -2020-04-16 Patrick Palka - - PR c++/94475 - * g++.dg/conversion/err-recover2.C: New test. - * g++.dg/diagnostic/pr84138.C: Remove now-bogus warning. - * g++.dg/warn/Wsign-compare-8.C: Remove now-bogus warning. - -2020-04-16 Richard Sandiford - - PR rtl-optimization/94605 - * gcc.target/aarch64/sve/pr94605.c: New test. - -2020-04-16 Richard Biener - - * gcc.dg/graphite/interchange-1.c: Remove scan for tiled. - * gcc.dg/graphite/interchange-10.c: Likewise. - * gcc.dg/graphite/interchange-11.c: Likewise. - * gcc.dg/graphite/interchange-3.c: Likewise. - * gcc.dg/graphite/interchange-4.c: Likewise. - * gcc.dg/graphite/interchange-7.c: Likewise. - * gcc.dg/graphite/interchange-9.c: Likewise. - * gcc.dg/graphite/uns-interchange-9.c: Likewise. - * gfortran.dg/graphite/interchange-3.f90: Likewise. - -2020-04-16 Martin Jambor - - PR tree-optimization/94598 - * gcc.dg/tree-ssa/pr94598.c: New test. - -2020-04-16 Jakub Jelinek - - PR ipa/92372 - * gcc.c-torture/pr92372.c: Move ... - * gcc.c-torture/compile/pr92372.c: ... here. - - PR c++/94571 - * g++.dg/cpp1z/decomp51.C: New test. - -2020-04-15 Uroš Bizjak - - PR target/94603 - * gcc.target/i386/pr94603.c: New test. - -2020-04-15 Andre Vieira - Srinath Parvathaneni - - * gcc.target/arm/mve/intrinsics/mve_vec_duplicate.c: New test. - -2020-04-15 Jakub Jelinek - - PR c/94593 - * c-c++-common/gomp/requires-1.c: Fix a typo, requries -> requires. - Move directives to file scope. - (i): Remove. - * c-c++-common/gomp/requires-2.c: Move directives to file scope. - (i, foo): Remove. - * c-c++-common/gomp/requires-4.c: Move directives to file scope. - * gcc.dg/gomp/requires-1.c: New test. - * g++.dg/gomp/requires-1.C: New test. - * g++.dg/gomp/requires-2.C: New test. - -2020-04-15 Richard Biener - - PR middle-end/94539 - * gcc.dg/alias-14.c: Make dg-do run. - -2020-04-13 Max Filippov - - PR target/94584 - * gcc.target/xtensa/pr94584.c: New test. - -2020-04-14 Iain Sandoe - - PR c++/94359 - * g++.dg/coroutines/torture/symmetric-transfer-00-basic.C: - Expect a run fail for targets without arbitrary indirect - tail-calls. - -2020-04-14 Patrick Palka - - PR c++/93207 - * g++.dg/concepts/variadic5.C: New test. - - PR c++/85278 - * g++.dg/concepts/diagnostic9.C: New test. - - PR c++/94034 - * g++.dg/cpp0x/constexpr-empty15.C: New test. - * g++.dg/cpp1y/constexpr-nsdmi6a.C: New test. - * g++.dg/cpp1y/constexpr-nsdmi6b.C: New test. - * g++.dg/cpp1y/constexpr-nsdmi7a.C: New test. - * g++.dg/cpp1y/constexpr-nsdmi7b.C: New test. - -2020-04-14 Jakub Jelinek - - PR tree-optimization/94573 - * gcc.dg/store_merging_30.c: New test. - -2020-04-14 Yang Yang - - PR tree-optimization/94574 - * gcc.dg/pr94574.c: New test. - -2020-04-14 H.J. Lu - - PR target/94561 - * gcc.target/i386/pr94561.c: New test. - -2020-04-14 Tobias Burnus - - * gfortran.dg/use_rename_10.f90: New. - * gfortran.dg/use_rename_11.f90: New. - -2020-04-13 Marek Polacek - - PR c++/94588 - * g++.dg/diagnostic/redeclaration-1.C: Add dg-message. - -2020-04-13 Martin Sebor - - PR c/92326 - * c-c++-common/Warray-bounds-8.c: New test. - * gcc.dg/Warray-bounds-46.c: Adjust expected format of flexible array - memebrs in diagnostics. - * gcc.dg/Warray-bounds-49.c: Same. - -2020-04-13 Patrick Palka - - PR c++/94521 - * g++.dg/cpp2a/lambda-uneval12.C: New test. - - PR c++/94470 - * g++.dg/cpp1y/constexpr-nsdmi8.C: New test. - * g++.dg/cpp1y/constexpr-nsdmi9.C: New test. - * g++.dg/init/array57.C: New test. - -2020-04-13 Iain Sandoe - - * g++.dg/coroutines/coro-pre-proc.C: Update coroutines builtin - define, per n4861. - * g++.dg/coroutines/coro.h: Likewise. - -2020-04-13 Iain Sandoe - - * gcc.dg/darwin-version-1.c: Use -mmacosx-version-min= 10.8 - for system versions 10.14 and 10.15. - -2020-04-13 Thomas Koenig - - PR fortran/87644 - * gfortran.dg/variable_parameter.f90: New test. - -2020-04-13 Linus Koenig - - PR fortran/94192 - * gfortran.dg/bound_resolve_after_error_1.f90: New test. - -2020-04-13 Nathan Sidwell - - PR c++/94426 - * g++.dg/cpp0x/lambda/pr94426-[12].C: New. - * g++.dg/abi/lambda-vis.C: Drop a warning. - * g++.dg/cpp0x/lambda/lambda-mangle.C: Lambda visibility on - variable changes. - * g++.dg/opt/dump1.C: Drop warnings of no import. - -2020-04-13 Jozef Lawrynowicz - - * gcc.target/msp430/operand-modifiers.c: New test. - -2020-04-12 Thomas Koenig - - PR fortran/94091 - * gfortran.dg/char_length_22.f90: New test. - -2020-04-12 Iain Sandoe - - * gcc.target/i386/indirect-thunk-1.c: Adjust for fno-common - change, removing indirections for vars in .data. - * gcc.target/i386/indirect-thunk-2.c: Likewise. - * gcc.target/i386/indirect-thunk-3.c: Likewise. - * gcc.target/i386/indirect-thunk-4.c: Likewise. - * gcc.target/i386/indirect-thunk-attr-1.c: Likewise. - * gcc.target/i386/indirect-thunk-attr-2.c: Likewise. - * gcc.target/i386/indirect-thunk-attr-3.c: Likewise. - * gcc.target/i386/indirect-thunk-attr-4.c: Likewise. - * gcc.target/i386/indirect-thunk-attr-5.c: Likewise. - * gcc.target/i386/indirect-thunk-attr-6.c: Likewise. - * gcc.target/i386/indirect-thunk-extern-1.c: Likewise. - * gcc.target/i386/indirect-thunk-extern-2.c: Likewise. - * gcc.target/i386/indirect-thunk-extern-3.c: Likewise. - * gcc.target/i386/indirect-thunk-extern-4.c: Likewise. - * gcc.target/i386/indirect-thunk-inline-1.c: Likewise. - * gcc.target/i386/indirect-thunk-inline-2.c: Likewise. - * gcc.target/i386/indirect-thunk-inline-3.c: Likewise. - * gcc.target/i386/indirect-thunk-inline-4.c: Likewise. - -2020-04-11 Marek Polacek - - PR c++/86327 - * g++.dg/cpp1y/constexpr-return5.C: New test. - -2020-04-11 Uroš Bizjak - - PR target/94494 - * gcc.target/i386/pr94494.c: New test. - -2020-04-11 Jakub Jelinek - - PR tree-optimization/94482 - * gcc.dg/torture/pr94482.c: Add -Wno-psabi -w. Don't add -msse - and sse_runtime effective target on x86, instead only add -msse2 - if target is sse2_runtime. - -2020-04-10 Iain Sandoe - - PR c++/94528 - * g++.dg/coroutines/pr94528.C: New test. - -2020-04-10 Marek Polacek - - PR c++/94149 - * g++.dg/cpp2a/paren-init24.C: New test. - * g++.dg/cpp2a/paren-init25.C: New test. - * g++.dg/ext/is_constructible5.C: New test. - -2020-04-10 Fritz Reese - - * gfortran.dg/asynchronous_5.f03: Fix typo in testcase and add - IMPLICIT NONE. - -2020-04-10 Fritz Reese - - * gfortran.dg/asynchronous_5.f03: Add -fdump-tree-original and fix - patterns for scan-tree-dump. - -2020-04-10 Thomas Schwinge - - PR middle-end/89433 - PR middle-end/93465 - * c-c++-common/goacc-gomp/pr93465-1.c: New file. - -2020-04-10 Iain Buclaw - - * lib/gdc.exp (gdc_link_flags): Remove libdruntime library paths. - -2020-04-10 Bin Cheng - - * g++.dg/coroutines/co-await-syntax-10.C: New test. - * g++.dg/coroutines/co-await-syntax-11.C: New test. - -2020-04-09 Fritz Reese - - PR fortran/87923 - * gfortran.dg/f2003_io_8.f03: Fix expected error messages. - * gfortran.dg/io_constraints_8.f90: Likewise. - * gfortran.dg/iomsg_2.f90: Likewise. - * gfortran.dg/pr66725.f90: Likewise. - * gfortran.dg/pr88205.f90: Likewise. - * gfortran.dg/write_check4.f90: Likewise. - * gfortran.dg/asynchronous_5.f03: New test. - * gfortran.dg/io_constraints_15.f90: Likewise. - * gfortran.dg/io_constraints_16.f90: Likewise. - * gfortran.dg/io_constraints_17.f90: Likewise. - * gfortran.dg/io_constraints_18.f90: Likewise. - * gfortran.dg/io_tags_1.f90: Likewise. - * gfortran.dg/io_tags_10.f90: Likewise. - * gfortran.dg/io_tags_2.f90: Likewise. - * gfortran.dg/io_tags_3.f90: Likewise. - * gfortran.dg/io_tags_4.f90: Likewise. - * gfortran.dg/io_tags_5.f90: Likewise. - * gfortran.dg/io_tags_6.f90: Likewise. - * gfortran.dg/io_tags_7.f90: Likewise. - * gfortran.dg/io_tags_8.f90: Likewise. - * gfortran.dg/io_tags_9.f90: Likewise. - * gfortran.dg/write_check5.f90: Likewise. - -2020-04-09 Richard Sandiford - - * gcc.target/aarch64/sve/acle/general/attributes_1.c: New test. - * gcc.target/aarch64/sve/acle/general/attributes_2.c: Likewise. - * gcc.target/aarch64/sve/acle/general/attributes_3.c: Likewise. - * gcc.target/aarch64/sve/acle/general/attributes_4.c: Likewise. - * gcc.target/aarch64/sve/acle/general/attributes_5.c: Likewise. - * gcc.target/aarch64/sve/acle/general/attributes_6.c: Likewise. - * gcc.target/aarch64/sve/acle/general/attributes_7.c: Likewise. - * gcc.target/aarch64/sve/pcs/struct.h: New file. - * gcc.target/aarch64/sve/pcs/struct_1_128.c: New test. - * gcc.target/aarch64/sve/pcs/struct_1_256.c: Likewise. - * gcc.target/aarch64/sve/pcs/struct_1_512.c: Likewise. - * gcc.target/aarch64/sve/pcs/struct_1_1024.c: Likewise. - * gcc.target/aarch64/sve/pcs/struct_1_2048.c: Likewise. - * gcc.target/aarch64/sve/pcs/struct_2_128.c: Likewise. - * gcc.target/aarch64/sve/pcs/struct_2_256.c: Likewise. - * gcc.target/aarch64/sve/pcs/struct_2_512.c: Likewise. - * gcc.target/aarch64/sve/pcs/struct_2_1024.c: Likewise. - * gcc.target/aarch64/sve/pcs/struct_2_2048.c: Likewise. - * gcc.target/aarch64/sve/pcs/struct_3_128.c: Likewise. - * gcc.target/aarch64/sve/pcs/struct_3_256.c: Likewise. - * gcc.target/aarch64/sve/pcs/struct_3_512.c: Likewise. - * lib/target-supports.exp (check_effective_target_aarch64_sve128_hw) - (check_effective_target_aarch64_sve512_hw) - (check_effective_target_aarch64_sve1024_hw) - (check_effective_target_aarch64_sve2048_hw): New procedures. - -2020-04-09 Matthew Malcomson - - * g++.target/arm/cde_mve.C: New test. - -2020-04-09 Christophe Lyon - - * gcc.target/arm/cmse/cmse-15.c: Use check-function-bodies. - -2020-04-09 Christophe Lyon - - * lib/scanasm.exp (check-function-bodies): Use non-greedy regexp - when extracting the target selector. - -2020-04-09 Martin Jambor - - PR tree-optimization/94482 - * gcc.dg/torture/pr94482.c: New test. - * gcc.dg/tree-ssa/pr94482-2.c: Likewise. - -2020-04-09 Marek Polacek - - PR c++/93790 - * g++.dg/cpp2a/paren-init23.C: New test. - * g++.dg/init/aggr14.C: New test. - -2020-04-09 Jan Hubicka - - PR tree-optimization/91322 - * g++.dg/lto/alias-4_0.C: Fix typo. - * g++.dg/lto/alias-4_0.C: Avoid conflict with va_list on ARM and add - a template testing that - -2020-04-09 Richard Sandiford - - * lib/scanasm.exp (check-function-bodies): Treat the third - parameter as a list of option regexps and require each regexp - to match. Check for cases in which a target/xfail selector - was mistakenly passed to the options argument. - * gcc.target/aarch64/sve/pcs/args_1.c: Add an empty options list - to the invocation of check-function-bodies. - * gcc.target/aarch64/sve/pcs/args_2.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_3.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_4.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_1.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_1_1024.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_1_128.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_1_2048.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_1_256.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_1_512.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_2.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_3.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_4.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_4_1024.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_4_128.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_4_2048.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_4_256.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_4_512.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_5.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_5_1024.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_5_128.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_5_2048.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_5_256.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_5_512.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_6.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_6_1024.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_6_128.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_6_2048.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_6_256.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_6_512.c: Likewise. - * gcc.target/aarch64/sve/pcs/saves_2_be_nowrap.c: Likewise. - * gcc.target/aarch64/sve/pcs/saves_2_be_wrap.c: Likewise. - * gcc.target/aarch64/sve/pcs/saves_2_le_nowrap.c: Likewise. - * gcc.target/aarch64/sve/pcs/saves_2_le_wrap.c: Likewise. - * gcc.target/aarch64/sve/pcs/saves_3.c: Likewise. - * gcc.target/aarch64/sve/pcs/saves_4_be.c: Likewise. - * gcc.target/aarch64/sve/pcs/saves_4_le.c: Likewise. - * gcc.target/aarch64/sve/pcs/stack_clash_2_128.c: Likewise. - * gcc.target/aarch64/sve/pcs/varargs_1.c: Likewise. - * gcc.target/aarch64/sve/pcs/varargs_2_f16.c: Likewise. - * gcc.target/aarch64/sve/pcs/varargs_2_f32.c: Likewise. - * gcc.target/aarch64/sve/pcs/varargs_2_f64.c: Likewise. - * gcc.target/aarch64/sve/pcs/varargs_2_s16.c: Likewise. - * gcc.target/aarch64/sve/pcs/varargs_2_s32.c: Likewise. - * gcc.target/aarch64/sve/pcs/varargs_2_s64.c: Likewise. - * gcc.target/aarch64/sve/pcs/varargs_2_s8.c: Likewise. - * gcc.target/aarch64/sve/pcs/varargs_2_u16.c: Likewise. - * gcc.target/aarch64/sve/pcs/varargs_2_u32.c: Likewise. - * gcc.target/aarch64/sve/pcs/varargs_2_u64.c: Likewise. - * gcc.target/aarch64/sve/pcs/varargs_2_u8.c: Likewise. - -2020-04-09 Richard Biener - - PR testsuite/93369 - * g++.dg/lto/pr64076_0.C: Add -shared -fPIC. - * g++.dg/lto/pr64076_1.C: Add -fPIC. - -2020-04-09 Andrea Corallo - - * gcc.target/aarch64/pr94530.c: New test. - -2020-04-09 Bin Cheng - - PR tree-optimization/93674 - * g++.dg/pr93674.C: New test. - -2020-04-08 Sandra Loosemore - - * g++.dg/tree-ssa/pr93940.C: Require pthread target. - -2020-04-09 Kewen Lin - - PR testsuite/94079 - * gfortran.dg/vect/pr83232.f90: Expect 2 rather than 3 times SLP on - non-vect_hw_misalign targets. - -2020-04-08 Jakub Jelinek - - PR middle-end/94526 - * gcc.dg/pr94526.c: New test. - - PR tree-optimization/94524 - * gcc.c-torture/execute/pr94524-1.c: New test. - * gcc.c-torture/execute/pr94524-2.c: New test. - - PR c++/94314 - * g++.dg/pr94314.C (A::operator new, B::operator new, C::operator new): - Use __SIZE_TYPE__ instead of unsigned long. - * g++.dg/pr94314-3.C (base::operator new, B::operator new): Likewise. - - PR middle-end/94120 - PR testsuite/94533 - * g++.dg/declare-pr94120.C: Move test to ... - * g++.dg/goacc/declare-pr94120.C: ... here. Add dg-error directives. - -2020-04-08 Marek Polacek - - PR c++/94507 - ICE-on-invalid with lambda template. - * g++.dg/cpp2a/lambda-generic7.C: New test. - -2020-04-08 Alexandre Oliva - - * gcc.target/arm/fp16-aapcs-3.c: Explicitly use the - -mfp16-format=alternative option. - -2020-04-08 H.J. Lu - - PR target/94417 - * gcc.target/i386/pr94417-1.c: New test. - * gcc.target/i386/pr94417-2.c: Likewise. - * gcc.target/i386/pr94417-3.c: Likewise. - -2020-04-08 Jakub Jelinek - - PR target/94438 - * gcc.target/i386/avx512bw-pr94438.c: New test. - * gcc.target/i386/avx512vlbw-pr94438.c: New test. - -2020-04-08 Tobias Burnus - - PR fortran/93871 - * gfortran.dg/dec_math_5.f90: Move to ... - * gfortran.dg/ieee/dec_math_1.f90: ... here; change - dg-options to dg-additional-options. - -2020-04-08 Alexandre Oliva - - * gcc.dg/tls/pr78796.c: Require tls_runtime. - -2020-04-08 Martin Liska - - PR c++/94314 - * g++.dg/pr94314-2.C: New test. - * g++.dg/pr94314-3.C: New test. - * g++.dg/pr94314.C: New test. - -2020-04-08 Dennis Zhang - - * gcc.target/arm/acle/cde_v_1.c: New test. - * gcc.target/arm/acle/cde_v_1_err.c: New test. - * gcc.target/arm/acle/cde_v_1_mve.c: New test. - -2020-04-08 Patrick Palka - - Core issues 1001 and 1322 - PR c++/92010 - * g++.dg/cpp2a/lambda-uneval11.c: New test. - * g++.dg/template/array33.C: New test. - * g++.dg/template/array34.C: New test. - * g++.dg/template/defarg22.C: New test. - -2020-04-08 Dennis Zhang - - * gcc.target/arm/pragma_cde.c: New test. - * lib/target-supports.exp (arm_v8m_main_cde_ok): New target support - option. - (arm_v8m_main_cde_fp, arm_v8_1m_main_cde_mve): Likewise. - -2020-04-08 Jakub Jelinek - - PR c++/94325 - * g++.dg/ubsan/vptr-15.C: New test. - -2020-04-08 Marek Polacek - - PR c++/94478 - ICE with defaulted comparison operator - * g++.dg/cpp2a/spaceship-err4.C: New test. - -2020-04-08 Alexandre Oliva - - * gcc.target/arm/polytypes.c: Add quotes around - -flax-vector-conversions. - -2020-04-08 Jakub Jelinek - - PR rtl-optimization/94516 - * gcc.dg/torture/pr94516.c: New test. - -2020-04-08 Tobias Burnus - - PR middle-end/94120 - * c-c++-common/goacc/declare-pr94120.c: New. - * g++.dg/declare-pr94120.C: New. - -2020-04-07 Jakub Jelinek - - PR rtl-optimization/94291 - PR rtl-optimization/84169 - * gcc.dg/pr94291.c: New test. - -2020-04-07 Richard Biener - - PR middle-end/94479 - * gcc.dg/torture/pr94479.c: New testcase. - -2020-04-01 Fritz Reese - - PR fortran/93871 - * gfortran.dg/dec_math.f90: Extend coverage to real(10) and real(16). - * gfortran.dg/dec_math_2.f90: New test. - * gfortran.dg/dec_math_3.f90: Likewise. - * gfortran.dg/dec_math_4.f90: Likewise. - * gfortran.dg/dec_math_5.f90: Likewise. - -2020-04-07 Andre Vieira - - * g++.target/arm/mve.exp: New. - * gcc.target/arm/mve/intrinsics/vcmpneq_n_f16: Fix testism. - * gcc.target/arm/mve/intrinsics/vcmpneq_n_f32: Likewise. - -2020-04-07 Andre Vieira - - * gcc.target/arm/mve/intrinsics/vuninitializedq_float.c: Fix testism. - * gcc.target/arm/mve/intrinsics/vuninitializedq_float1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vuninitializedq_int.c: Likewise. - * gcc.target/arm/mve/intrinsics/vuninitializedq_int1.c: Likewise. - -2020-04-07 Andre Vieira - - * gcc.target/arm/mve/intrinsics/mve_vec_extracts_from_memory.c: New - test. - -2020-04-07 Andre Vieira - - * gcc.target/arm/mve/intrinsics/mve_immediates_1_n.c: New test. - -2020-04-07 Andre Vieira - - * gcc.target/arm/mve/intrinsics/mve_load_from_array.c: New test. - * gcc.target/arm/mve/intrinsics/mve_vector_float.c: Remove - scan-assembler. - * gcc.target/arm/mve/intrinsics/mve_vector_float1.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_vector_int1.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_vector_int2.c: Likewise. - -2020-04-07 Andre Vieira - - * gcc.target/arm/mve/intrinsics/vmulq_n_f16.c: Fix test. - * gcc.target/arm/mve/intrinsics/vmulq_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_n_u8.c: Likewise. - -2020-04-07 Patrick Palka - - PR c++/90996 - * g++.dg/cpp1y/pr90996.C: New test. - -2020-04-07 Jakub Jelinek - - PR target/94509 - * gcc.target/i386/avx512bw-pr94509-1.c: New test. - * gcc.target/i386/avx512bw-pr94509-2.c: New test. - - PR c++/94512 - * g++.dg/gomp/pr94512.C: New test. - - PR target/94488 - * gcc.c-torture/compile/pr94488.c: New test. - - PR target/94500 - * gcc.target/i386/avx512bw-pr94500.c: New test. - -2020-04-06 Steven G. Kargl - - PR fortran/93686 - * gfortran.dg/pr93686_1.f90: New test. - * gfortran.dg/pr93686_2.f90: Likewise. - * gfortran.dg/pr93686_3.f90: Likewise. - * gfortran.dg/pr93686_4.f90: Likewise. - -2020-04-06 Joel Brobecker - - * gcc.target/arm/div64-unwinding.c: Skip on vxworks_kernel targets. - -2020-04-04 Marek Polacek - - PR c++/94155 - crash in gimplifier with paren init of aggregates. - * g++.dg/cpp2a/paren-init22.C: New test. - -2020-04-05 Iain Sandoe - - * g++.dg/coroutines/torture/co-await-14-template-traits.C: Rename... - * g++.dg/coroutines/torture/co-await-16-template-traits.C: to this. - * g++.dg/coroutines/torture/co-await-15-capture-comp-ref.C: Rename.. - * g++.dg/coroutines/torture/co-await-17-capture-comp-ref.C: to this. - -2020-04-05 Nagaraju Mekala - - * gcc.target/microblaze/others/builtin-trap.c: Update expected output. - -2020-04-04 Hannes Domani - Jakub Jelinek - - PR debug/94459 - * g++.dg/debug/pr94459.C: New test. - -2020-04-04 Patrick Palka - - PR c++/94205 - PR c++/79937 - * g++.dg/cpp1y/pr79937-5.C: New test. - * g++.dg/cpp1z/lambda-this6.C: New test. - - PR c++/94219 - PR c++/94205 - * g++.dg/cpp1y/constexpr-nsdmi3.C: New test. - * g++.dg/cpp1y/constexpr-nsdmi4.C: New test. - * g++.dg/cpp1y/constexpr-nsdmi5.C: New test. - * g++.dg/cpp1z/lambda-this5.C: New test. - -2020-04-04 Jan Hubicka - - PR ipa/93940 - * g++.dg/tree-ssa/pr93940.C: New test. - -2020-04-04 Jakub Jelinek - - PR rtl-optimization/94468 - * g++.dg/opt/pr94468.C: New test. - - PR debug/94441 - * g++.dg/opt/pr94441.C: New test. - - PR c++/94477 - * g++.dg/gomp/pr94477.C: New test. - -2020-04-03 H.J. Lu - - PR target/94467 - * gcc.target/i386/pr94467-1.c: New test. - * gcc.target/i386/pr94467-2.c: Likewise. - -2020-04-03 Jakub Jelinek - - PR target/94460 - * gcc.target/i386/avx2-pr94460.c: New test. - -2020-04-03 Patrick Palka - - PR c++/93211 - PR c++/90711 - * g++.dg/template/koenig11.C: New test. - -2020-04-03 Andre Vieira - - * gcc.target/arm/mve/intrinsics/mve_vector_float.c: Put -mfpu=auto back. - * gcc.target/arm/mve/intrinsics/mve_vector_float1.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_vector_float2.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_vector_int.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_vector_int1.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_vector_int2.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. - -2020-04-03 Tamar Christina - - PR target/94396 - * gcc.target/aarch64/options_set_11.c: New test. - * gcc.target/aarch64/options_set_12.c: New test. - * gcc.target/aarch64/options_set_13.c: New test. - * gcc.target/aarch64/options_set_14.c: New test. - * gcc.target/aarch64/options_set_15.c: New test. - * gcc.target/aarch64/options_set_16.c: New test. - * gcc.target/aarch64/options_set_17.c: New test. - * gcc.target/aarch64/options_set_18.c: New test. - * gcc.target/aarch64/options_set_19.c: New test. - * gcc.target/aarch64/options_set_20.c: New test. - * gcc.target/aarch64/options_set_21.c: New test. - * gcc.target/aarch64/options_set_22.c: New test. - * gcc.target/aarch64/options_set_23.c: New test. - * gcc.target/aarch64/options_set_24.c: New test. - * gcc.target/aarch64/options_set_25.c: New test. - * gcc.target/aarch64/options_set_26.c: New test. - -2020-04-03 Kewen Lin - - PR tree-optimization/94443 - * gcc.dg/vect/pr94443.c: New test. - -2020-04-02 Sandra Loosemore - - * lib/target-supports.exp (check_effective_target_sigsetjmp): Test - for __sigsetjmp as well as sigsetjmp. - -2020-04-02 Fritz Reese - - PR fortran/85982 - * gfortran.dg/dec_structure_28.f90: New test. - -2020-04-02 Tobias Burnus - - * gfortran.dg/dtio_35.f90: New. - -2020-04-02 Richard Biener - - PR c/94392 - * gcc.dg/torture/pr94392.c: New testcase. - -2020-04-02 Jakub Jelinek - - PR target/94435 - * gcc.target/aarch64/pr94435.c: New test. - -2020-04-02 Srinath Parvathaneni - - PR target/94317 - * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_wb_s64.c: Modify. - * 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/vldrwq_gather_base_wb_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_z_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_z_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_z_u32.c: Likewise. - -2020-04-02 Tobias Burnus - - PR fortran/93522 - * gfortran.dg/select_rank_4.f90: New. - -2020-04-02 Mark Eggleston - - PR fortran/93498 - * gfortran.dg/pr93498_1.f90: New test. - * gfortran.dg/pr93498_2.f90: New test. - -2020-04-02 Mark Eggleston - Steven G. Kargl - - PR fortran/94030 - * gfortran.dg/pr94030_1.f90: New test. - * gfortran.dg/pr94030_2.f90: New test. - -2020-04-01 Iain Buclaw - - PR d/94315 - * gdc.dg/pr93038.d: Split scan-file into multiple tests. - * gdc.dg/pr93038b.d: Likewise. - -2020-04-01 Iain Buclaw - - PR d/94321 - * gdc.dg/pr92216.d: Update to work on targets with 16 or 32-bit - pointers. - -2020-04-01 David Malcolm - - PR analyzer/94378 - * gcc.dg/analyzer/compound-assignment-1.c: New test. - * gcc.dg/analyzer/compound-assignment-2.c: New test. - * gcc.dg/analyzer/compound-assignment-3.c: New test. - -2020-04-01 Jakub Jelinek - - PR middle-end/94436 - * gcc.dg/pr94436.c: New test. - - PR middle-end/94423 - * gcc.dg/ubsan/pr94423.c: New test. - -2020-04-01 Kewen Lin - - PR tree-optimization/94043 - * gfortran.dg/graphite/vect-pr94043.f90: New test. - -2020-04-01 Iain Buclaw - - PR d/90136 - * gdc.dg/pr90136a.d: New test. - * gdc.dg/pr90136b.d: New test. - * gdc.dg/pr90136c.d: New test. - -2020-03-31 Andrea Corallo - - * jit.dg/test-version.c: New testcase. - * jit.dg/all-non-failing-tests.h: Add test-version.c. - -2020-03-31 Iain Buclaw - - PR d/94424 - * gdc.dg/pr94424.d: New test. - -2020-03-31 Felix Yang - - PR tree-optimization/94398 - * gcc.target/aarch64/pr94398.c: New test. - -2020-03-31 Srinath Parvathaneni - - * gcc.target/arm/mve/intrinsics/vbicq_n_s16.c: Modify. - * gcc.target/arm/mve/intrinsics/vbicq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_n_u32.c: Likewise. - -2020-03-31 Srinath Parvathaneni - - * gcc.target/arm/mve/intrinsics/vcmpcsq_m_n_u16.c: Modify. - * gcc.target/arm/mve/intrinsics/vcmpcsq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpcsq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_m_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_m_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_m_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_m_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_m_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_m_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_n_f32.c: Likewise. - -2020-03-31 Jakub Jelinek - - PR target/94368 - * gcc.dg/pr94368.c: New test. - - PR middle-end/94412 - * gcc.c-torture/execute/pr94412.c: New test. - - PR tree-optimization/94403 - * g++.dg/tree-ssa/pr94403.C: New test. - - PR rtl-optimization/94344 - * gcc.dg/pr94344.c: New test. - -2020-03-30 David Malcolm - - * jit.dg/all-non-failing-tests.h: Add test-empty.c - -2020-03-30 Jakub Jelinek - - PR c++/94385 - * c-c++-common/pr94385.c: New test. - -2020-03-30 Will Schmidt - - * gcc.target/powerpc/pragma_power6.c: New. - * gcc.target/powerpc/pragma_power7.c: New. - * gcc.target/powerpc/pragma_power8.c: New. - * gcc.target/powerpc/pragma_power9.c: New. - * gcc.target/powerpc/pragma_misc9.c: New. - * gcc.target/powerpc/vsu/vec-all-nez-7.c: Update error message. - * gcc.target/powerpc/vsu/vec-any-eqz-7.c: Update error message. - -2020-03-30 Will Schmidt - - * gcc.target/powerpc/bswap64-4.c: Update scan-assembler - expected results. - -2020-03-30 Jakub Jelinek - - PR target/94343 - * gcc.target/i386/avx512f-pr94343.c: New test. - * gcc.target/i386/avx512vl-pr94343.c: New test. - -2020-03-30 Martin Liska - - PR rtl-optimization/87716 - * gcc.target/i386/pr57193.c: XFAIL a test-case. - -2020-03-30 Martin Liska - - PR testsuite/94402 - * gfortran.dg/vect/vect-8.f90: Allow 22 or 23 loops - to be vectorized (based on libmvec presence). - -2020-03-30 Jakub Jelinek - - PR target/93069 - * gcc.target/i386/avx512vl-pr93069.c: New test. - * gcc.dg/vect/pr93069.c: New test. - -2020-03-29 Iain Buclaw - - * lib/gdc-utils.exp: (gdc-convert-args): Handle compilation test - arguments -D, -H, -X, and set compilable_output_file_ext. - (gdc-convert-test): Document and add cases DFLAGS and - EXTRA_CPP_SOURCES. Add dg-final entry for output generation tests, - and set compilable_do_what to compile. - (gdc-do-test): Define compilable_do_what, default to assemble. - -2020-03-29 Iain Buclaw - - * gdc.test/runnable_cxx/runnable_cxx.exp: New file. - * lib/gdc-utils.exp (gdc-do-test): Add case for runnable_cxx. - * lib/gdc.exp (gdc_include_flags): Only add flags for libstdc++-v3 if - GDC_INCLUDE_CXX_FLAGS is true. - (gdc_link_flags): Likewise. - (gdc_init): Move setting of default gdc test flags to... - (gdc_target_compile): ...here. - -2020-03-29 Iain Buclaw - - * gdc.test/compilable/compilable.exp: New file. - * gdc.test/fail_compilation/fail_compilation.exp: New file. - * gdc.test/runnable/runnable.exp: New file. - * gdc.test/gdc-test.exp: Move and rename to... - * lib/gdc-utils.exp: ...this. Remove load_lib gdc-dg.exp. - (dmd2dg): Rename to... - (gdc-convert-test): ...this. - (gdc-do-test): Add testcases parameter and remove subdir handling. - -2020-03-28 Roman Zhuykov - - * gcc.dg/torture/pr87197-debug-sms.c: Move to ... - * gcc.dg/sms-compare-debug-1.c: ... this. Add -O2. - * gcc.c-torture/execute/pr70127-debug-sms.c: Move to ... - * gcc.dg/sms-compare-debug-2.c: ... this. Add -O2. - -2020-03-28 Tobias Burnus - - PR fortran/94348 - * gfortran.dg/module_procedure_3.f90: New. - -2020-03-28 Patrick Palka - - PR c++/94306 - * g++.dg/concepts/diagnostic8.C: New test. - - PR c++/94252 - * g++.dg/concepts/diagnostic7.C: New test. - * g++.dg/concepts/pr94252.C: New test. - * g++.dg/cpp2a/concepts-requires18.C: Adjust to expect an additional - diagnostic. - - * g++.dg/concepts/diagnostic1.C: Pass -fconcepts-diagnostics-depth=2. - * g++.dg/concepts/diagnostic5.C: Adjust expected diagnostics. - * g++.dg/cpp2a/concepts-iconv1.C: Pass -fconcepts-diagnostics-depth=2. - * g++.dg/cpp2a/concepts-requires5.C: Likewise. - - * g++.dg/concepts/diagnostic2.C: Expect "no operand" instead of - "neither operand". - * g++.dg/concepts/diagnostic5.C: New test. - -2020-03-28 Jakub Jelinek - - PR c/93573 - * gcc.dg/pr93573-1.c: New test. - * gcc.dg/pr93573-2.c: New test. - - PR tree-optimization/94329 - * gfortran.dg/pr94329.f90: New test. - -2020-03-27 Jakub Jelinek - - PR c++/94339 - * g++.dg/ext/attr-copy-2.C: Revert the last changes. - -2020-03-27 Martin Sebor - - PR c++/94346 - * c-c++-common/attr-copy.c: New test. - -2020-03-27 Martin Sebor - - PR c++/94098 - * g++.dg/ext/attr-access-2.C: New test. - -2020-03-27 Martin Sebor - - PR c++/94078 - PR c++/93824 - PR c++/93810 - * g++.dg/warn/Wmismatched-tags-3.C: New test. - * g++.dg/warn/Wmismatched-tags-4.C: New test. - * g++.dg/warn/Wmismatched-tags-5.C: New test. - * g++.dg/warn/Wmismatched-tags-6.C: New test. - * g++.dg/warn/Wredundant-tags-3.C: Remove xfails. - * g++.dg/warn/Wredundant-tags-6.C: New test. - * g++.dg/warn/Wredundant-tags-7.C: New test. - -2020-03-27 David Malcolm - - * gcc.dg/analyzer/data-model-5b.c: Add xfail for new false - positive leak. - * gcc.dg/analyzer/data-model-5c.c: Likewise. - * gcc.dg/analyzer/malloc-5.c: New test. - -2020-03-27 David Malcolm - - * gcc.dg/analyzer/dot-output.c: Check that - dot-output.c.supergraph-eg.dot is valid. - -2020-03-27 Richard Biener - - PR debug/94273 - * g++.dg/debug/pr94273.C: New testcase. - -2020-03-27 Tobias Burnus - - PR fortran/93957 - * gfortran.dg/assumed_rank_19.f90: New. - -2020-03-27 Tobias Burnus - - PR fortran/93363 - * gfortran.dg/associate_51.f90: Fix test case. - * gfortran.dg/associate_53.f90: New. - -2020-03-27 Jakub Jelinek - - PR c++/94326 - * g++.dg/other/pr94326.C: New test. - - PR c++/94339 - * g++.dg/other/pr94339.C: New test. - * g++.dg/ext/attr-copy-2.C: Comment out failing tests due to PR94346. - -2020-03-27 Roman Zhuykov - - * gcc.c-torture/execute/pr70127-debug-sms.c: New test. - * gcc.dg/torture/pr87197-debug-sms.c: New test. - -2020-03-27 Marek Polacek - - PR c++/94336 - template keyword accepted before destructor names. - * g++.dg/template/template-keyword2.C: New test. - -2020-03-27 Iain Sandoe - - * g++.dg/coroutines/torture/symmetric-transfer-00-basic.C: - Add . - -2020-03-26 Marek Polacek - - DR 1710 - PR c++/94057 - template keyword in a typename-specifier. - * g++.dg/cpp1y/alias-decl1.C: New test. - * g++.dg/cpp1y/alias-decl2.C: New test. - * g++.dg/cpp1y/alias-decl3.C: New test. - * g++.dg/parse/missing-template1.C: Update dg-error. - * g++.dg/parse/template3.C: Likewise. - * g++.dg/template/error4.C: Likewise. - * g++.dg/template/meminit2.C: Likewise. - * g++.dg/template/dependent-name5.C: Likewise. - * g++.dg/template/dependent-name7.C: New test. - * g++.dg/template/dependent-name8.C: New test. - * g++.dg/template/dependent-name9.C: New test. - * g++.dg/template/dependent-name10.C: New test. - * g++.dg/template/dependent-name11.C: New test. - * g++.dg/template/dependent-name12.C: New test. - * g++.dg/template/dependent-name13.C: New test. - * g++.dg/template/dr1794.C: New test. - * g++.dg/template/dr314.C: New test. - * g++.dg/template/dr1710.C: New test. - * g++.dg/template/dr1710-2.C: New test. - * g++.old-deja/g++.pt/crash38.C: Update dg-error. - -2020-03-26 Iain Sandoe - - * g++.dg/coroutines/torture/co-ret-09-bool-await-susp.C: Amend - to n4849 behaviour. - * g++.dg/coroutines/torture/symmetric-transfer-00-basic.C: New - test. - -2020-03-26 Iain Sandoe - - * g++.dg/coroutines/torture/exceptions-test-01-n4849-a.C: New test. - -2020-03-26 Martin Liska - - * gcc.target/i386/pr81213.c: Do not scan assembler - and add one missing PR entry. - -2020-03-26 Jakub Jelinek - - PR debug/94323 - * g++.dg/debug/pr94323.C: New test. - -2020-03-26 Martin Liska - - PR testsuite/94334 - * gcc.dg/lto/pr94271_0.c: Skip for non-x86 targets - and add ifunc effective target. - * gcc.target/i386/pr81213-2.c: Add ifunc effective target. - -2020-03-26 Jakub Jelinek - - PR debug/94281 - * g++.dg/debug/pr94281.C: New test. - - PR c++/81349 - * g++.dg/cpp1z/pr81349.C: New test. - - PR c++/94272 - * g++.dg/debug/pr94272.C: New test. - -2020-03-26 Felix Yang - - PR tree-optimization/94269 - * gcc.dg/pr94269.c: New test. - -2020-03-25 Andrew Stubbs - - * gcc.dg/vect/bb-slp-pr69907.c: Disable the dump scan for amdgcn. - * lib/target-supports.exp (check_effective_target_vect_unpack): - Add amdgcn. - -2020-03-25 Jakub Jelinek - - PR target/94292 - * gcc.dg/pr94292.c: New test. - -2020-03-25 Martin Sebor - - PR middle-end/94004 - * gcc.dg/Walloca-larger-than-3.c: New test. - * gcc.dg/Walloca-larger-than-3.h: New test header. - * gcc.dg/Wvla-larger-than-4.c: New test. - -2020-03-25 Patrick Palka - - PR c++/94265 - * g++.dg/warn/Wduplicated-cond1.C: New test. - -2020-03-25 Martin Sebor - - PR tree-optimization/94131 - * gcc.dg/pr94131.c: New test. - -2020-03-25 Sandra Loosemore - - * gcc.dg/pr92301.c (main): Allow argc to be 0 to support - embedded targets. - -2020-03-25 Jakub Jelinek - - PR debug/94296 - * gcc.dg/cleanup-13.c: Add a comment that the test is not - -fcompare-debug compatible with certain other options. - - PR target/94308 - * gcc.target/i386/pr94308.c: New test. - -2020-03-25 Martin Liska - - PR target/93274 - PR ipa/94271 - * gcc.target/i386/pr81213-2.c: New test. - * gcc.target/i386/pr81213.c: Add additional source. - * gcc.dg/lto/pr94271_0.c: New test. - * gcc.dg/lto/pr94271_1.c: New test. - -2020-03-25 Jakub Jelinek - - PR debug/94280 - * gfortran.dg/iso_c_binding_compiler_1.f90: Add dg-skip-if for - -fcompare-debug. - * gfortran.dg/iso_c_binding_compiler_3.f90: Likewise. - * gfortran.dg/unlimited_polymorphic_31.f03: Likewise. - -2020-03-25 Mark Eggleston - - PR fortran/93484 - * gfortran.dg/pr93484_1.f90: New test. - * gfortran.dg/pr93484_2.f90: New test. - -2020-03-25 Jakub Jelinek - - PR middle-end/94303 - * g++.dg/torture/pr94303.C: New test. - - PR c++/94223 - * g++.dg/opt/pr94223.C: New test. - - PR tree-optimization/94300 - * gcc.target/i386/avx512f-pr94300.c: New test. - - PR debug/94283 - * gcc.dg/pr94283.c: New test. - -2020-03-24 Sandra Loosemore - - * gcc.dg/analyzer/sigsetjmp-5.c: Require sigsetjmp support. - * gcc.dg/analyzer/sigsetjmp-6.c: Likewise. - * lib/target-supports.exp (check_effective_target_sigsetjmp): New. - -2020-03-24 Marek Polacek - - PR c++/94190 - wrong no post-decrement operator error in template. - * g++.dg/conversion/op7.C: New test. - -2020-03-24 Christophe Lyon - - * gcc/arm/vfp-1.c: Use arm_fp__ok effective-target. - * gcc.target/arm/vfp-ldmdbd.c: Likewise. - * gcc.target/arm/vfp-ldmiad.c: Likewise. - * gcc.target/arm/vfp-stmdbd.c: Likewise. - * gcc.target/arm/vfp-stmiad.c: Likewise. - * gcc.target/arm/vnmul-1.c: Likewise. - * gcc.target/arm/vnmul-3.c: Likewise. - * gcc.target/arm/vnmul-4.c: Likewise. - -2020-03-24 Christophe Lyon - - * gcc.target/arm/cmp-2.c: Move double-precision tests to... - * gcc.target/arm/cmp-3.c: ...here (new file) - -2020-03-24 Christophe Lyon - - * lib/target-supports.exp - (check_effective_target_arm_fp_dp_ok_nocache): New. - (check_effective_target_arm_fp_dp_ok): New. - (add_options_for_arm_fp_dp): New. - -2020-03-24 Jakub Jelinek - - PR target/94286 - * gcc.dg/pr94286.c: New test. - - PR debug/94285 - * gfortran.dg/pr94285.f90: New test. - - PR debug/94283 - * gcc.target/i386/pr94283.c: New test. - - PR debug/94277 - * gcc.dg/pr94277.c: New test. - -2020-03-23 Jeff Law - - PR target/94144 - PR target/94238 - * gcc.c-torture/compile/pr94144.c: New test. - * gcc.c-torture/compile/pr94238.c: New test. - -2020-03-23 Patrick Palka - - PR c++/93805 - * g++.dg/warn/Wnoexcept2.C: New test. - -2020-03-23 Jakub Jelinek - - PR c++/91993 - * g++.dg/warn/Wconversion-pr91993.C: New test. - * g++.dg/ubsan/pr91993.C: New test. - * c-c++-common/ubsan/float-cast-overflow-1.c: Add -Wno-overflow - to dg-options. - * c-c++-common/ubsan/float-cast-overflow-2.c: Likewise. - * c-c++-common/ubsan/float-cast-overflow-4.c: Likewise. - -2020-03-23 Srinath Parvathaneni - Andre Vieira - Mihail Ionescu - - * gcc.target/arm/mve/intrinsics/vshlcq_m_s16.c: New test. - * gcc.target/arm/mve/intrinsics/vshlcq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlcq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlcq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlcq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlcq_m_u8.c: Likewise. - -2020-03-23 Srinath Parvathaneni - - * gcc.target/arm/mve/intrinsics/asrl.c: New test. - * gcc.target/arm/mve/intrinsics/lsll.c: Likewise. - * gcc.target/arm/mve/intrinsics/sqrshr.c: Likewise. - * gcc.target/arm/mve/intrinsics/sqrshrl_sat48.c: Likewise. - * gcc.target/arm/mve/intrinsics/sqrshrl_sat64.c: Likewise. - * gcc.target/arm/mve/intrinsics/sqshl.c: Likewise. - * gcc.target/arm/mve/intrinsics/sqshll.c: Likewise. - * gcc.target/arm/mve/intrinsics/srshr.c: Likewise. - * gcc.target/arm/mve/intrinsics/srshrl.c: Likewise. - * gcc.target/arm/mve/intrinsics/uqrshl.c: Likewise. - * gcc.target/arm/mve/intrinsics/uqrshll_sat48.c: Likewise. - * gcc.target/arm/mve/intrinsics/uqrshll_sat64.c: Likewise. - * gcc.target/arm/mve/intrinsics/uqshl.c: Likewise. - * gcc.target/arm/mve/intrinsics/uqshll.c: Likewise. - * gcc.target/arm/mve/intrinsics/urshr.c: Likewise. - * gcc.target/arm/mve/intrinsics/urshrl.c: Likewise. - * lib/target-supports.exp: - (check_effective_target_arm_v8_1m_mve_fp_ok_nocache): Modify to not - support MVE floating point in Big Endian mode. - (check_effective_target_arm_v8_1m_mve_ok_nocache): Modify to not - support MVE integer in Big Endian mode. - -2020-03-23 Srinath Parvathaneni - Andre Vieira - Mihail Ionescu - - * gcc.target/arm/mve/intrinsics/vgetq_lane_f16.c: New test. - * 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_s64.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_u64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vgetq_lane_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsetq_lane_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsetq_lane_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsetq_lane_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsetq_lane_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsetq_lane_s64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsetq_lane_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsetq_lane_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsetq_lane_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsetq_lane_u64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsetq_lane_u8.c: Likewise. - -2020-03-23 Andrea Corallo - - * jit.dg/all-non-failing-tests.h: Add test-long-string-literal.c. - * jit.dg/test-long-string-literal.c: New testcase. - -2020-03-23 Andre Vieira - - * gcc.target/arm/mve/intrinsics/mve_fp_fpu1.c: Remove dg-do. - * gcc.target/arm/mve/intrinsics/mve_fp_fpu2.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_fpu1.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_fpu2.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_fpu3.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_libcall1.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_libcall2.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_move_gpr_to_gpr.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_vector_float.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_vector_float1.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_vector_float2.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_vector_int.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_vector_int1.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_vector_int2.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/vabavq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabavq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabavq_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabavq_p_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabavq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabavq_p_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabavq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabavq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabavq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabavq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabavq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabavq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabdq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabdq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabdq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabdq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabdq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabdq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabdq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabdq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabdq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabdq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabdq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabdq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabdq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabdq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabdq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabdq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabdq_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabdq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabdq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabdq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabdq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabdq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabdq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabdq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabsq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabsq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabsq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabsq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabsq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabsq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabsq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabsq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabsq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabsq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabsq_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabsq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabsq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabsq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabsq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vadciq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vadciq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vadciq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vadciq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vadcq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vadcq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vadcq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vadcq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddlvaq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddlvaq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddlvaq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddlvaq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddlvq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddlvq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddlvq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddlvq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_m_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_m_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_x_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_x_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_x_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_x_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_x_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_x_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_x_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_x_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvaq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvaq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvaq_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvaq_p_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvaq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvaq_p_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvaq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvaq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvaq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvaq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvaq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvaq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvq_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvq_p_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvq_p_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_m_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_m_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_x_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_x_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_x_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_x_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_x_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_x_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_x_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_x_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclsq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclsq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclsq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclsq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclsq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclsq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclsq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclsq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclsq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclzq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclzq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclzq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclzq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclzq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclzq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclzq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclzq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclzq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclzq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclzq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclzq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclzq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclzq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclzq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclzq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclzq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclzq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmlaq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmlaq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmlaq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmlaq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmlaq_rot180_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmlaq_rot180_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmlaq_rot180_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmlaq_rot180_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmlaq_rot270_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmlaq_rot270_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmlaq_rot270_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmlaq_rot270_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmlaq_rot90_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmlaq_rot90_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmlaq_rot90_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmlaq_rot90_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpcsq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpcsq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpcsq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpcsq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpcsq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpcsq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpcsq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpcsq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpcsq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpcsq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpcsq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpcsq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_m_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_m_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmphiq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmphiq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmphiq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmphiq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmphiq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmphiq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmphiq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmphiq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmphiq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmphiq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmphiq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmphiq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_m_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_m_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_m_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_m_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_rot180_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_rot180_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_rot180_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_rot180_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_rot180_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_rot180_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_rot270_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_rot270_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_rot270_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_rot270_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_rot270_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_rot270_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_rot90_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_rot90_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_rot90_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_rot90_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_rot90_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_rot90_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcreateq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcreateq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcreateq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcreateq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcreateq_s64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcreateq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcreateq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcreateq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcreateq_u64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcreateq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vctp16q.c: Likewise. - * gcc.target/arm/mve/intrinsics/vctp16q_m.c: Likewise. - * gcc.target/arm/mve/intrinsics/vctp32q.c: Likewise. - * gcc.target/arm/mve/intrinsics/vctp32q_m.c: Likewise. - * gcc.target/arm/mve/intrinsics/vctp64q.c: Likewise. - * gcc.target/arm/mve/intrinsics/vctp64q_m.c: Likewise. - * gcc.target/arm/mve/intrinsics/vctp8q.c: Likewise. - * gcc.target/arm/mve/intrinsics/vctp8q_m.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtaq_m_s16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtaq_m_s32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtaq_m_u16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtaq_m_u32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtaq_s16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtaq_s32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtaq_u16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtaq_u32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtaq_x_s16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtaq_x_s32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtaq_x_u16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtaq_x_u32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtbq_f16_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtbq_f32_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtbq_m_f16_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtbq_m_f32_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtbq_x_f32_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtmq_m_s16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtmq_m_s32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtmq_m_u16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtmq_m_u32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtmq_s16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtmq_s32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtmq_u16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtmq_u32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtmq_x_s16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtmq_x_s32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtmq_x_u16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtmq_x_u32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtnq_m_s16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtnq_m_s32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtnq_m_u16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtnq_m_u32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtnq_s16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtnq_s32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtnq_u16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtnq_x_s16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtnq_x_s32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtnq_x_u16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtnq_x_u32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtpq_m_s16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtpq_m_s32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtpq_m_u16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtpq_m_u32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtpq_s16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtpq_s32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtpq_u16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtpq_u32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtpq_x_s16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtpq_x_s32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtpq_x_u16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtpq_x_u32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_f16_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_f16_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_f32_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_f32_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_m_f16_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_m_f16_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_m_f32_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_m_f32_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_m_n_f16_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_m_n_f16_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_m_n_f32_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_m_n_f32_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_m_n_s16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_m_n_s32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_m_n_u16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_m_n_u32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_m_s16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_m_s32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_m_u16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_m_u32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_n_f16_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_n_f16_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_n_f32_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_n_f32_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_n_s16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_n_s32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_n_u16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_n_u32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_s16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_s32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_u16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_u32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_x_f16_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_x_f16_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_x_f32_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_x_f32_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_x_n_f16_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_x_n_f16_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_x_n_f32_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_x_n_f32_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_x_n_s16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_x_n_s32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_x_n_u16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_x_n_u32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_x_s16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_x_s32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_x_u16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_x_u32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvttq_f16_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvttq_f32_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvttq_m_f16_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvttq_m_f32_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvttq_x_f32_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vddupq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vddupq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vddupq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vddupq_m_wb_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vddupq_m_wb_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vddupq_m_wb_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vddupq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vddupq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vddupq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vddupq_wb_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vddupq_wb_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vddupq_wb_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vddupq_x_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vddupq_x_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vddupq_x_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vddupq_x_wb_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vddupq_x_wb_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vddupq_x_wb_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_m_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_m_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_x_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_x_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_x_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_x_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_x_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_x_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_x_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_x_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_m_wb_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_m_wb_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_m_wb_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_wb_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_wb_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_wb_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_x_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_x_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_x_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_x_wb_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_x_wb_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_x_wb_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmaq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmaq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmaq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmaq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmaq_m_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmaq_m_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmaq_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmaq_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmasq_m_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmasq_m_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmasq_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmasq_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmsq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmsq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmsq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmsq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_x_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_x_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_x_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_x_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_x_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_x_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhcaddq_rot270_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhcaddq_rot270_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhcaddq_rot270_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhcaddq_rot270_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhcaddq_rot270_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhcaddq_rot270_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhcaddq_rot270_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhcaddq_rot270_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhcaddq_rot270_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhcaddq_rot90_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhcaddq_rot90_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhcaddq_rot90_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhcaddq_rot90_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhcaddq_rot90_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhcaddq_rot90_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhcaddq_rot90_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhcaddq_rot90_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhcaddq_rot90_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_x_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_x_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_x_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_x_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_x_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_x_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vidupq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vidupq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vidupq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vidupq_m_wb_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vidupq_m_wb_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vidupq_m_wb_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vidupq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vidupq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vidupq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vidupq_wb_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vidupq_wb_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vidupq_wb_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vidupq_x_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vidupq_x_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vidupq_x_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vidupq_x_wb_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vidupq_x_wb_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vidupq_x_wb_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_m_wb_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_m_wb_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_m_wb_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_wb_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_wb_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_wb_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_x_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_x_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_x_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_x_wb_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_x_wb_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_x_wb_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_z_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_z_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_z_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_z_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_z_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_z_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_z_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_z_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld2q_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld2q_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld2q_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld2q_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld2q_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld2q_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld2q_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld2q_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld4q_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld4q_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld4q_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld4q_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld4q_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld4q_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld4q_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld4q_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_z_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_z_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_z_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_z_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_z_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_z_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_z_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_z_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_z_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_z_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_z_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_z_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_s64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_u64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_wb_s64.c: Likewise. - * 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/vldrdq_gather_base_z_s64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_z_u64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrdq_gather_offset_s64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrdq_gather_offset_u64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrdq_gather_offset_z_s64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrdq_gather_offset_z_u64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrdq_gather_shifted_offset_s64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrdq_gather_shifted_offset_u64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrdq_gather_shifted_offset_z_s64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrdq_gather_shifted_offset_z_u64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_z_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_z_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_z_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_z_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_z_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_z_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_z_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_z_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_z_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_z_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_z_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_z_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_z_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_z_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_z_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_z_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_z_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_z_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_z_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_z_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_z_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_offset_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_offset_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_offset_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_offset_z_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_offset_z_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_offset_z_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_shifted_offset_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_shifted_offset_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_shifted_offset_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_shifted_offset_z_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_shifted_offset_z_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_shifted_offset_z_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_z_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_z_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_z_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxaq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxaq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxaq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxaq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxaq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxaq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxavq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxavq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxavq_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxavq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxavq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxavq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmaq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmaq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmaq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmaq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmavq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmavq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmavq_p_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmavq_p_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmq_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmvq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmvq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmvq_p_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmvq_p_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxvq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxvq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxvq_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxvq_p_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxvq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxvq_p_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxvq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxvq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxvq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxvq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxvq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxvq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminaq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminaq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminaq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminaq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminaq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminaq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminavq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminavq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminavq_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminavq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminavq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminavq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmaq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmaq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmaq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmaq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmavq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmavq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmavq_p_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmavq_p_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmq_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmvq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmvq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmvq_p_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmvq_p_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminvq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminvq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminvq_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminvq_p_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminvq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminvq_p_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminvq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminvq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminvq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminvq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminvq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminvq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavaq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavaq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavaq_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavaq_p_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavaq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavaq_p_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavaq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavaq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavaq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavaq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavaq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavaq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavaxq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavaxq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavaxq_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavaxq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavaxq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavaxq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavq_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavq_p_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavq_p_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavxq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavxq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavxq_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavxq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavxq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavxq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavaq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavaq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavaq_p_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavaq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavaq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavaq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavaq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavaq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavaxq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavaxq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavaxq_p_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavaxq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavaxq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavaxq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavq_p_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavxq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavxq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavxq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavxq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlasq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlasq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlasq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlasq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlasq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlasq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlasq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlasq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlasq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlasq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlasq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlasq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavaq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavaq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavaq_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavaq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavaq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavaq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavaxq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavaxq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavaxq_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavaxq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavaxq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavaxq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavq_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavxq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavxq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavxq_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavxq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavxq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavxq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsldavaq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsldavaq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsldavaq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsldavaq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsldavaxq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsldavaxq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsldavaxq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsldavaxq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsldavq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsldavq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsldavq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsldavq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsldavxq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsldavxq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsldavxq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsldavxq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovlbq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovlbq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovlbq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovlbq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovlbq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovlbq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovlbq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovlbq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovlbq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovlbq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovlbq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovlbq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovltq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovltq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovltq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovltq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovltq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovltq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovltq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovltq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovltq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovltq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovltq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovltq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovnbq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovnbq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovnbq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovnbq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovnbq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovnbq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovnbq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovnbq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovntq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovntq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovntq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovntq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovntq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovntq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovntq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovntq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulhq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulhq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulhq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulhq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulhq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulhq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulhq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulhq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulhq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulhq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulhq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulhq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulhq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulhq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulhq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulhq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulhq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulhq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_int_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_int_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_int_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_int_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_int_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_int_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_int_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_int_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_int_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_int_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_int_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_int_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_int_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_int_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_int_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_int_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_int_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_int_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_poly_m_p16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_poly_m_p8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_poly_p16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_poly_p8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_poly_x_p16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_poly_x_p8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_int_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_int_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_int_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_int_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_int_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_int_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_int_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_int_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_int_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_int_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_int_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_int_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_int_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_int_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_int_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_int_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_int_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_int_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_poly_m_p16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_poly_m_p8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_poly_p16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_poly_p8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_poly_x_p16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_poly_x_p8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_m_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_m_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_x_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_x_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_x_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_x_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_x_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_x_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_x_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_x_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_x_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_x_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_x_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_x_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vnegq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vnegq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vnegq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vnegq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vnegq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vnegq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vnegq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vnegq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vnegq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vnegq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vnegq_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vnegq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vnegq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vnegq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vnegq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vpnot.c: Likewise. - * gcc.target/arm/mve/intrinsics/vpselq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vpselq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vpselq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vpselq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vpselq_s64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vpselq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vpselq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vpselq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vpselq_u64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vpselq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqabsq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqabsq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqabsq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqabsq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqabsq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqabsq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmladhq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmladhq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmladhq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmladhq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmladhq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmladhq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmladhxq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmladhxq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmladhxq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmladhxq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmladhxq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmladhxq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlahq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlahq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlahq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlahq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlahq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlahq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlahq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlahq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlahq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlsdhq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlsdhq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlsdhq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlsdhq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlsdhq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlsdhq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlsdhxq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlsdhxq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlsdhxq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlsdhxq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlsdhxq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlsdhxq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulhq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulhq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulhq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulhq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulhq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulhq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulhq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulhq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulhq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulhq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulhq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulhq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmullbq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmullbq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmullbq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmullbq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmullbq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmullbq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmullbq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmullbq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulltq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulltq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulltq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulltq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulltq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulltq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulltq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulltq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovnbq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovnbq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovnbq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovnbq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovnbq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovnbq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovnbq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovnbq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovntq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovntq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovntq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovntq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovntq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovntq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovntq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovntq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovunbq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovunbq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovunbq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovunbq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovuntq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovuntq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovuntq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovuntq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqnegq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqnegq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqnegq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqnegq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqnegq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqnegq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmladhq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmladhq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmladhq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmladhq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmladhq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmladhq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmladhxq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmladhxq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmladhxq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmladhxq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmladhxq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmladhxq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlahq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlahq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlahq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlahq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlahq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlahq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlahq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlahq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlahq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlashq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlashq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlashq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlsdhq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlsdhq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlsdhq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlsdhq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlsdhq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlsdhq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmulhq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmulhq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmulhq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmulhq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmulhq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmulhq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmulhq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmulhq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmulhq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmulhq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmulhq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmulhq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrnbq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrnbq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrnbq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrnbq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrnbq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrnbq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrnbq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrnbq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrntq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrntq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrntq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrntq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrntq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrntq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrntq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrntq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrunbq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrunbq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrunbq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrunbq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshruntq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshruntq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshruntq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshruntq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_m_r_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_m_r_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_m_r_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_m_r_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_m_r_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_m_r_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_r_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_r_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_r_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_r_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_r_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_r_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshluq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshluq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshluq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshluq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshluq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshluq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrnbq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrnbq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrnbq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrnbq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrnbq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrnbq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrnbq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrnbq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrntq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrntq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrntq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrntq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrntq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrntq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrntq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrntq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrunbq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrunbq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrunbq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrunbq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshruntq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshruntq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshruntq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshruntq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vreinterpretq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vreinterpretq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vreinterpretq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vreinterpretq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vreinterpretq_s64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vreinterpretq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vreinterpretq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vreinterpretq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vreinterpretq_u64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vreinterpretq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev16q_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev16q_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev16q_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev16q_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev16q_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev16q_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev32q_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev32q_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev32q_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev32q_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev32q_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev32q_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev32q_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev32q_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev32q_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev32q_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev32q_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev32q_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev32q_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev32q_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev32q_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrhaddq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrhaddq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrhaddq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrhaddq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrhaddq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrhaddq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrhaddq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrhaddq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrhaddq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrhaddq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrhaddq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrhaddq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrhaddq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrhaddq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrhaddq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrhaddq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrhaddq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrhaddq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlaldavhaq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlaldavhaq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlaldavhaq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlaldavhaq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlaldavhaxq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlaldavhaxq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlaldavhq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlaldavhq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlaldavhq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlaldavhq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlaldavhxq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlaldavhxq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlsldavhaq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlsldavhaq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlsldavhaxq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlsldavhaxq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlsldavhq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlsldavhq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlsldavhxq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlsldavhxq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmulhq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmulhq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmulhq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmulhq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmulhq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmulhq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmulhq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmulhq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmulhq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmulhq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmulhq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmulhq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmulhq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmulhq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmulhq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmulhq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmulhq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmulhq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndaq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndaq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndaq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndaq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndaq_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndaq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndmq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndmq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndmq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndmq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndmq_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndmq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndnq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndnq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndnq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndnq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndnq_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndnq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndpq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndpq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndpq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndpq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndpq_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndpq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndq_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndxq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndxq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndxq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndxq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndxq_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndxq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrnbq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrnbq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrnbq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrnbq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrnbq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrnbq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrnbq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrnbq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrntq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrntq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrntq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrntq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrntq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrntq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrntq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrntq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrq_x_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrq_x_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrq_x_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrq_x_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrq_x_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrq_x_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsbciq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsbciq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsbciq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsbciq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsbcq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsbcq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsbcq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsbcq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlcq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlcq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlcq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlcq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlcq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlcq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshllbq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshllbq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshllbq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshllbq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshllbq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshllbq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshllbq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshllbq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshllbq_x_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshllbq_x_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshllbq_x_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshllbq_x_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlltq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlltq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlltq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlltq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlltq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlltq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlltq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlltq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlltq_x_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlltq_x_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlltq_x_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlltq_x_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_m_r_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_m_r_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_m_r_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_m_r_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_m_r_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_m_r_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_r_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_r_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_r_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_r_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_r_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_r_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_x_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_x_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_x_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_x_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_x_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_x_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrnbq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrnbq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrnbq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrnbq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrnbq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrnbq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrnbq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrnbq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrntq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrntq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrntq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrntq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrntq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrntq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrntq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrntq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrq_x_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrq_x_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrq_x_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrq_x_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrq_x_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsliq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsliq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsliq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsliq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsliq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsliq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsliq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsliq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsliq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsliq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsliq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsliq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsriq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsriq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsriq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsriq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsriq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsriq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsriq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsriq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsriq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsriq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsriq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsriq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst1q_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst1q_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst1q_p_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst1q_p_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst1q_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst1q_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst1q_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst1q_p_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst1q_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst1q_p_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst1q_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst1q_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst1q_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst1q_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst1q_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst1q_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst2q_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst2q_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst2q_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst2q_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst2q_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst2q_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst2q_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst2q_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst4q_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst4q_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst4q_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst4q_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst4q_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst4q_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst4q_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst4q_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_p_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_p_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_p_s64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_p_u64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_s64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_u64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_p_s64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_p_u64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_s64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_u64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_p_s64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_p_u64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_s64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_u64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_p_s64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_p_u64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_s64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_u64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_p_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_p_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_p_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_p_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_p_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_p_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_m_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_m_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_x_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_x_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_x_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_x_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_x_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_x_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_x_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_x_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vuninitializedq_float.c: Likewise. - * gcc.target/arm/mve/intrinsics/vuninitializedq_float1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vuninitializedq_int.c: Likewise. - * gcc.target/arm/mve/intrinsics/vuninitializedq_int1.c: Likewise. - * gcc.target/arm/mve/mve.exp: Change default dg-do to assemble. - * lib/target-supports.exp: Add --save-temps to mve options. - -2020-03-23 Mark Eggleston - - PR fortran/93365 - PR fortran/93600 - * gfortran.dg/pr93365.f90: New test. - * gfortran.dg/pr93600_1.f90: New test. - * gfortran.dg/pr93600_2.f90: New test. - -2020-03-23 Tobias Burnus - - * lib/target-supports.exp (check_effective_target_offload_gcn): - Check for -foffload=amdgcn-amdhsa not ...=amdgcn-unknown-amdhsa. - -2020-03-22 Iain Buclaw - - PR d/93038 - * gdc.dg/pr93038b.d: New test. - -2020-03-22 Iain Sandoe - - * g++.dg/abi/lambda-vis.C: Amend assembler match - strings for targets using a USER_LABEL_PREFIX. - -2020-03-22 Iain Buclaw - - PR d/93038 - * gdc.dg/fileimports/pr93038.txt: New test. - * gdc.dg/pr93038.d: New test. - -2020-03-21 Patrick Palka - - PR c++/94066 - * g++.dg/cpp1y/constexpr-union2.C: New test. - * g++.dg/cpp1y/constexpr-union3.C: New test. - * g++.dg/cpp1y/constexpr-union4.C: New test. - * g++.dg/cpp1y/constexpr-union5.C: New test. - * g++.dg/cpp1y/pr94066.C: New test. - * g++.dg/cpp1y/pr94066-2.C: New test. - * g++.dg/cpp1y/pr94066-3.C: New test. - * g++.dg/cpp2a/constexpr-union1.C: New test. - -2020-03-21 Tamar Christina - - PR target/94052 - * gcc.target/aarch64/pr94052.C: New test. - -2020-03-20 Martin Jambor - - PR tree-optimization/93435 - * gcc.dg/tree-ssa/pr93435.c: New test. - -2020-03-20 Jan Hubicka - - PR ipa/93347 - * g++.dg/torture/pr93347.C: New test. - -2020-03-20 Patrick Palka - - PR c++/69694 - * g++.dg/cpp0x/decltype74.C: New test. - * g++.dg/cpp0x/decltype75.C: New test. - -2020-03-20 Srinath Parvathaneni - Andre Vieira - Mihail Ionescu - - * gcc.target/arm/mve/intrinsics/vld1q_z_f16.c: New test. - * gcc.target/arm/mve/intrinsics/vld1q_z_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_z_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_z_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_z_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_z_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_z_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_z_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld2q_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld2q_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld2q_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld2q_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld2q_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld2q_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld2q_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld2q_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld4q_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld4q_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld4q_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld4q_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld4q_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld4q_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld4q_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld4q_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst1q_p_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst1q_p_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst1q_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst1q_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst1q_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst1q_p_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst1q_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst1q_p_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst2q_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst2q_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst2q_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst2q_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst2q_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst2q_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst2q_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst2q_u8.c: Likewise. - -2020-03-20 Richard Sandiford - - PR middle-end/94072 - * gcc.target/aarch64/pr94072.c: New test. - -2020-03-20 Srinath Parvathaneni - Andre Vieira - Mihail Ionescu - - * gcc.target/arm/mve/intrinsics/vadciq_m_s32.c: New test. - * gcc.target/arm/mve/intrinsics/vadciq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vadciq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vadciq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vadcq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vadcq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vadcq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vadcq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsbciq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsbciq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsbciq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsbciq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsbcq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsbcq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsbcq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsbcq_u32.c: Likewise. - -2020-03-20 Patrick Palka - - * g++.dg/concepts/diagnostic6.C: New test. - -2020-03-20 Srinath Parvathaneni - - * gcc.target/arm/mve/intrinsics/vabdq_x_f16.c: New test. - * gcc.target/arm/mve/intrinsics/vabdq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabdq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabdq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabdq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabdq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabdq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabdq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabsq_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabsq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabsq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabsq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabsq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_x_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_x_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_x_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_x_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_x_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_x_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_x_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_x_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_x_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_x_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_x_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_x_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_x_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_x_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_x_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_x_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclsq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclsq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclsq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclzq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclzq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclzq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclzq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclzq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclzq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_rot180_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_rot180_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_rot270_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_rot270_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_rot90_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_rot90_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtaq_x_s16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtaq_x_s32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtaq_x_u16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtaq_x_u32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtbq_x_f32_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtmq_x_s16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtmq_x_s32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtmq_x_u16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtmq_x_u32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtnq_x_s16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtnq_x_s32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtnq_x_u16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtnq_x_u32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtpq_x_s16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtpq_x_s32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtpq_x_u16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtpq_x_u32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_x_f16_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_x_f16_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_x_f32_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_x_f32_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_x_n_f16_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_x_n_f16_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_x_n_f32_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_x_n_f32_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_x_n_s16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_x_n_s32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_x_n_u16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_x_n_u32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_x_s16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_x_s32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_x_u16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_x_u32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvttq_x_f32_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vddupq_x_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vddupq_x_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vddupq_x_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vddupq_x_wb_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vddupq_x_wb_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vddupq_x_wb_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_x_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_x_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_x_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_x_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_x_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_x_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_x_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_x_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_x_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_x_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_x_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_x_wb_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_x_wb_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_x_wb_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_x_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_x_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_x_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_x_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_x_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_x_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhcaddq_rot270_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhcaddq_rot270_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhcaddq_rot270_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhcaddq_rot90_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhcaddq_rot90_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhcaddq_rot90_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_x_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_x_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_x_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_x_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_x_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_x_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vidupq_x_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vidupq_x_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vidupq_x_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vidupq_x_wb_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vidupq_x_wb_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vidupq_x_wb_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_x_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_x_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_x_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_x_wb_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_x_wb_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_x_wb_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmq_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmq_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovlbq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovlbq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovlbq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovlbq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovltq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovltq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovltq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovltq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulhq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulhq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulhq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulhq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulhq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulhq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_int_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_int_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_int_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_int_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_int_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_int_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_poly_x_p16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_poly_x_p8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_int_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_int_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_int_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_int_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_int_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_int_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_poly_x_p16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_poly_x_p8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_x_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_x_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_x_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_x_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_x_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_x_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_x_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_x_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_x_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_x_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_x_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_x_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vnegq_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vnegq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vnegq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vnegq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vnegq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev16q_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev16q_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev32q_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev32q_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev32q_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev32q_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev32q_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrhaddq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrhaddq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrhaddq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrhaddq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrhaddq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrhaddq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmulhq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmulhq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmulhq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmulhq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmulhq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmulhq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndaq_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndaq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndmq_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndmq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndnq_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndnq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndpq_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndpq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndq_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndxq_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndxq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrq_x_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrq_x_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrq_x_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrq_x_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrq_x_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrq_x_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshllbq_x_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshllbq_x_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshllbq_x_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshllbq_x_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlltq_x_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlltq_x_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlltq_x_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlltq_x_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_x_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_x_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_x_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_x_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_x_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_x_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_x_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrq_x_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrq_x_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrq_x_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrq_x_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrq_x_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_x_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_x_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_x_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_x_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_x_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_x_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_x_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_x_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_x_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_x_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_x_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_x_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_x_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_x_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_x_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_x_u8.c: Likewise. - -2020-03-20 Srinath Parvathaneni - Andre Vieira - Mihail Ionescu - - * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_wb_s64.c: New test. - * 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/vldrwq_gather_base_wb_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_z_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_z_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_wb_z_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_p_s64.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_p_u64.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_s64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_u64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_f32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_s32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_u32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_u32.c: Likewise. - -2020-03-20 Srinath Parvathaneni - Andre Vieira - Mihail Ionescu - - * gcc.target/arm/mve/intrinsics/vddupq_m_n_u16.c: New test. - * gcc.target/arm/mve/intrinsics/vddupq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vddupq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vddupq_m_wb_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vddupq_m_wb_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vddupq_m_wb_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vddupq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vddupq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vddupq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vddupq_wb_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vddupq_wb_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vddupq_wb_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_m_wb_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_m_wb_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_m_wb_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_wb_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_wb_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdwdupq_wb_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vidupq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vidupq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vidupq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vidupq_m_wb_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vidupq_m_wb_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vidupq_m_wb_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vidupq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vidupq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vidupq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vidupq_wb_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vidupq_wb_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vidupq_wb_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_m_wb_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_m_wb_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_m_wb_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_wb_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_wb_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/viwdupq_wb_u8.c: Likewise. - -2020-03-20 Srinath Parvathaneni - - * gcc.target/arm/mve/intrinsics/vuninitializedq_float.c: New test. - * gcc.target/arm/mve/intrinsics/vuninitializedq_float1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vuninitializedq_int.c: Likewise. - * gcc.target/arm/mve/intrinsics/vuninitializedq_int1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vreinterpretq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vreinterpretq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vreinterpretq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vreinterpretq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vreinterpretq_s64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vreinterpretq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vreinterpretq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vreinterpretq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vreinterpretq_u64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vreinterpretq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vuninitializedq_float.c: Likewise. - * gcc.target/arm/mve/intrinsics/vuninitializedq_float1.c: Likewise. - * gcc.target/arm/mve/intrinsics/vuninitializedq_int.c: Likewise. - * gcc.target/arm/mve/intrinsics/vuninitializedq_int1.c: Likewise. - -2020-03-20 Srinath Parvathaneni - Andre Vieira - Mihail Ionescu - - * gcc.target/arm/mve/intrinsics/vaddq_f16.c: New test. - * gcc.target/arm/mve/intrinsics/vaddq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_u8.c: Likewise. - -2020-03-20 Andre Vieira - - * gcc.target/arm/mve/intrinsics/mve_fp_fpu1.c: Fix testisms. - * gcc.target/arm/mve/intrinsics/mve_fp_fpu2.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_fpu1.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_fpu2.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_fpu3.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_libcall1.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_libcall2.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_vector_float.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_vector_float1.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_vector_float2.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_vector_int.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_vector_int1.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_vector_int2.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/vshrntq_m_n_u32.c: Likewise. - -2020-03-20 Andre Vieira - - * gcc.target/arm/mve/intrinsics/mve_move_gpr_to_gpr.c: New test. - -2020-03-20 Jakub Jelinek - - PR tree-optimization/94224 - * g++.dg/tree-ssa/pr94224.C: New test. - -2020-03-19 Jan Hubicka - - PR ipa/94202 - * g++.dg/torture/pr94202.C: New test. - -2020-03-19 Jakub Jelinek - - PR gcov-profile/94029 - * gcc.misc-tests/gcov-pr94029.c: New test. - -2020-03-19 Jan Hubicka - - PR ipa/92372 - * gcc.c-torture/pr92372.c: New test. - * gcc.dg/attr-flatten-1.c: New test. - -2020-03-19 Jakub Jelinek - - PR tree-optimization/94211 - * gcc.dg/pr94211.c: New test. - -2020-03-19 Richard Biener - - PR middle-end/94216 - * g++.dg/torture/pr94216.C: New testcase. - -2020-03-18 Martin Sebor - - PR ipa/92799 - * gcc.dg/attr-weakref-5.c: New test. - -2020-03-18 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_p_s64.c: New test. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_p_u64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_s64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_u64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_p_s64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_p_u64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_s64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_u64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_p_s64.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_p_u64.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_s64.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_u64.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_f16.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_f16.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_p_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_p_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_f32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_p_f32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_p_s32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_p_u32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_s32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_u32.c: - Likewise. - -2020-03-18 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * gcc.target/arm/mve/intrinsics/vst1q_f16.c: New test. - * gcc.target/arm/mve/intrinsics/vst1q_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst1q_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst1q_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst1q_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst1q_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst1q_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst1q_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_p_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_p_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_s16.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_s32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_u16.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_u32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_s16.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_s32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_u16.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_u32.c: - Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrhq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_p_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_u32.c: Likewise. - -2020-03-18 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * gcc.target/arm/mve/intrinsics/vld1q_f16.c: New test. - * gcc.target/arm/mve/intrinsics/vld1q_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_z_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_z_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_z_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_z_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_z_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_z_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_z_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_z_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_z_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_z_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_z_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_z_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_z_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_z_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_z_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_z_u32.c: Likewise. - -2020-03-18 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * gcc.target/arm/mve/intrinsics/vld1q_f16.c: New test. - * gcc.target/arm/mve/intrinsics/vld1q_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vld1q_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_z_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_z_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_z_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_offset_z_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_z_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_z_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_z_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_gather_shifted_offset_z_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_z_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_z_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_z_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_z_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrhq_z_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_z_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_z_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_z_u32.c: Likewise. - -2020-03-18 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_z_s16.c: New test. - * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_z_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_z_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_z_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_z_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_z_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_z_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_z_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_z_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_z_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_z_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_z_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_z_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_z_u32.c: Likewise. - -2020-03-18 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * gcc.target/arm/mve/intrinsics/vstrbq_p_s16.c: New test. - * gcc.target/arm/mve/intrinsics/vstrbq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_p_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_p_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_p_u32.c: Likewise. - -2020-03-18 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_s16.c: New test. - * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_gather_offset_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrbq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vldrwq_gather_base_u32.c: Likewise. - -2020-03-18 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * gcc.target/arm/mve/intrinsics/vstrbq_s16.c: New test. - * gcc.target/arm/mve/intrinsics/vstrbq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrbq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_u32.c: Likewise. - -2020-03-18 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * gcc.target/arm/mve/intrinsics/vabdq_m_f16.c: New test. - * gcc.target/arm/mve/intrinsics/vabdq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_m_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_m_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_m_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_m_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmlaq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmlaq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmlaq_rot180_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmlaq_rot180_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmlaq_rot270_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmlaq_rot270_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmlaq_rot90_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmlaq_rot90_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_rot180_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_rot180_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_rot270_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_rot270_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_rot90_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_rot90_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_m_n_s16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_m_n_s32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_m_n_u16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_m_n_u32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmaq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmaq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmaq_m_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmaq_m_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmasq_m_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmasq_m_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmsq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmsq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_m_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_m_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_m_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_m_n_f32.c: Likewise. - -2020-03-18 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * gcc.target/arm/mve/intrinsics/vmlaldavaq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavaq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavaq_p_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavaq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavaxq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavaxq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavaxq_p_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavaxq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsldavaq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsldavaq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsldavaxq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsldavaxq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_poly_m_p16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_poly_m_p8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_poly_m_p16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_poly_m_p8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmullbq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmullbq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmullbq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmullbq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulltq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulltq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulltq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulltq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrnbq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrnbq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrnbq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrnbq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrntq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrntq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrntq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrntq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrunbq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrunbq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshruntq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshruntq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrnbq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrnbq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrnbq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrnbq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrntq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrntq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrntq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrntq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrunbq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrunbq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshruntq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshruntq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlaldavhaq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlaldavhaq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlaldavhaxq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlsldavhaq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlsldavhaxq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrnbq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrnbq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrnbq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrnbq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrntq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrntq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrntq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrntq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshllbq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshllbq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshllbq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshllbq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlltq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlltq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlltq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlltq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrnbq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrnbq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrnbq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrnbq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrntq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrntq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrntq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrntq_m_n_u32.c: Likewise. - -2020-03-18 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * gcc.target/arm/mve/intrinsics/vabdq_m_s16.c: New test. - * gcc.target/arm/mve/intrinsics/vabdq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabdq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabdq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabdq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabdq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhcaddq_rot270_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhcaddq_rot270_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhcaddq_rot270_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhcaddq_rot90_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhcaddq_rot90_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhcaddq_rot90_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavaq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavaq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavaq_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavaq_p_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavaq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavaq_p_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavaxq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavaxq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavaxq_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlasq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlasq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlasq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlasq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlasq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlasq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavaq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavaq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavaq_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavaxq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavaxq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavaxq_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulhq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulhq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulhq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulhq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulhq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulhq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_int_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_int_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_int_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_int_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_int_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_int_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_int_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_int_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_int_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_int_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_int_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_int_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmladhq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmladhq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmladhq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmladhxq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmladhxq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmladhxq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlahq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlahq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlahq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlahq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlahq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlahq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlsdhq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlsdhq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlsdhq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlsdhxq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlsdhxq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlsdhxq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulhq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulhq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulhq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulhq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulhq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulhq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmladhq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmladhq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmladhq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmladhxq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmladhxq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmladhxq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlahq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlahq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlahq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlahq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlahq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlahq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlashq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlashq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlashq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlashq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlashq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlashq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlsdhq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlsdhq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlsdhq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmulhq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmulhq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmulhq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmulhq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmulhq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmulhq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrhaddq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrhaddq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrhaddq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrhaddq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrhaddq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrhaddq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmulhq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmulhq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmulhq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmulhq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmulhq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmulhq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsliq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsliq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsliq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsliq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsliq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsliq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_m_n_u8.c: Likewise. - -2020-03-18 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * gcc.target/arm/mve/intrinsics/vabavq_p_s16.c: New test. - * gcc.target/arm/mve/intrinsics/vabavq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabavq_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabavq_p_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabavq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabavq_p_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_m_n_f16_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_m_n_f16_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_m_n_f32_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_m_n_f32_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshluq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshluq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshluq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsriq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsriq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsriq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsriq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsriq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsriq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_m_u8.c: Likewise. - -2020-03-18 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * gcc.target/arm/mve/intrinsics/vabsq_m_f16.c: New test. - * gcc.target/arm/mve/intrinsics/vabsq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddlvaq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddlvaq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmlaq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmlaq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmlaq_rot180_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmlaq_rot180_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmlaq_rot270_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmlaq_rot270_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmlaq_rot90_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmlaq_rot90_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_m_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_m_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_m_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_m_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_m_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_m_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtbq_m_f16_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtbq_m_f32_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtmq_m_s16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtmq_m_s32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtmq_m_u16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtmq_m_u32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtnq_m_s16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtnq_m_s32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtnq_m_u16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtnq_m_u32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtpq_m_s16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtpq_m_s32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtpq_m_u16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtpq_m_u32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_m_s16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_m_s32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_m_u16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_m_u32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvttq_m_f16_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvttq_m_f32_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_m_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_m_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmaq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmaq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmaq_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmaq_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmasq_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmasq_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmsq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vfmsq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmaq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmaq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmavq_p_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmavq_p_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmvq_p_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmvq_p_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmaq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmaq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmavq_p_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmavq_p_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmvq_p_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmvq_p_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavaq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavaq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavaq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavaq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavaxq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavaxq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavaxq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavaxq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavq_p_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavxq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavxq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavxq_p_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavxq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsldavaq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsldavaq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsldavaxq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsldavaxq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsldavq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsldavq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsldavxq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsldavxq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovlbq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovlbq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovlbq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovlbq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovltq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovltq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovltq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovltq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovnbq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovnbq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovnbq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovnbq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovntq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovntq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovntq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovntq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vnegq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vnegq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vpselq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vpselq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovnbq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovnbq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovnbq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovnbq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovntq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovntq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovntq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovntq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovunbq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovunbq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovuntq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovuntq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrntq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrntq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrntq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrntq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshruntq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshruntq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrnbq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrnbq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrnbq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrnbq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrntq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrntq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrntq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrntq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrunbq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshrunbq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshruntq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshruntq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev16q_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev16q_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev32q_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev32q_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev32q_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev32q_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev32q_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlaldavhaxq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlaldavhq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlaldavhq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlaldavhxq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlsldavhaq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlsldavhaxq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlsldavhq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlsldavhxq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndaq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndaq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndmq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndmq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndnq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndnq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndpq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndpq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndxq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndxq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrnbq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrnbq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrnbq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrnbq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrntq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrntq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrntq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrntq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrnbq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrnbq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrnbq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrnbq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrntq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrntq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrntq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrntq_n_u32.c: Likewise. - -2020-03-18 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * gcc.target/arm/mve/intrinsics/vabsq_m_s16.c: New test. - * gcc.target/arm/mve/intrinsics/vabsq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabsq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvaq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvaq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvaq_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvaq_p_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvaq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvaq_p_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclsq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclsq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclsq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclzq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclzq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclzq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclzq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclzq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclzq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpcsq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpcsq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpcsq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpcsq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpcsq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpcsq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmphiq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmphiq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmphiq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmphiq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmphiq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmphiq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxaq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxaq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxaq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxavq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxavq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxavq_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxvq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxvq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxvq_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxvq_p_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxvq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxvq_p_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminaq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminaq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminaq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminavq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminavq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminavq_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminvq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminvq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminvq_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminvq_p_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminvq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminvq_p_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavaq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavaq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavaq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavaq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavaq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavaq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavaxq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavaxq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavaxq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavq_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavq_p_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavq_p_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavxq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavxq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavxq_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlasq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlasq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlasq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlasq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlasq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlasq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavaq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavaq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavaq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavaxq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavaxq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavaxq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavq_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavxq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavxq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavxq_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vnegq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vnegq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vnegq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vpselq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vpselq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vpselq_s64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vpselq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vpselq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vpselq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vpselq_u64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vpselq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqabsq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqabsq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqabsq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmladhq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmladhq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmladhq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmladhxq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmladhxq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmladhxq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlahq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlahq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlahq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlahq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlahq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlahq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlsdhq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlsdhq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlsdhq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlsdhxq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlsdhxq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmlsdhxq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqnegq_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqnegq_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqnegq_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmladhq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmladhq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmladhq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmladhxq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmladhxq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmladhxq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlahq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlahq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlahq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlahq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlahq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlahq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlashq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlsdhq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlsdhq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlsdhq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmlsdhxq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_m_r_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_m_r_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_m_r_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_m_r_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_m_r_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_m_r_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_m_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_m_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_m_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_m_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_m_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_m_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_m_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_m_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_m_r_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_m_r_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_m_r_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_m_r_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_m_r_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_m_r_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsliq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsliq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsliq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsliq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsliq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsliq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsriq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsriq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsriq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsriq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsriq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsriq_n_u8.c: Likewise. - -2020-03-18 David Malcolm - - PR analyzer/94047 - * gcc.dg/analyzer/pr94047.c: New test. - -2020-03-18 Richard Biener - - PR middle-end/94206 - * gcc.dg/torture/pr94206.c: New testcase. - -2020-03-18 Duan bo - - PR target/94201 - * gcc.target/aarch64/pr94201.c:New test. - -2020-03-18 Richard Sandiford - - * gcc.target/aarch64/sve/acle/general/cpy_1.c: Leave gaps for in the - check-function-bodies patterns for p15 to be saved. - * gcc.target/aarch64/sve/pcs/args_1.c (callee_pred): Expect two - predicates to be saved. - * gcc.target/aarch64/sve/pcs/saves_1_be_nowrap.c (test_1): Expect - p12-p15 to be saved and restored. - (test_2): Remove p12-p15 from the clobber list. - * gcc.target/aarch64/sve/pcs/saves_1_be_wrap.c (test_1): Expect - p12-p15 to be saved and restored. - (test_2): Remove p12-p15 from the clobber list. - * gcc.target/aarch64/sve/pcs/saves_1_le_nowrap.c (test_1): Expect - p12-p15 to be saved and restored. - (test_2): Remove p12-p15 from the clobber list. - * gcc.target/aarch64/sve/pcs/saves_1_le_wrap.c (test_1): Expect - p12-p15 to be saved and restored. - (test_2): Remove p12-p15 from the clobber list. - * gcc.target/aarch64/sve/pcs/saves_2_be_nowrap.c: Expect p12-p15 - to be saved and restored. - * gcc.target/aarch64/sve/pcs/saves_2_be_wrap.c: Likewise. - * gcc.target/aarch64/sve/pcs/saves_2_le_nowrap.c: Likewise. - * gcc.target/aarch64/sve/pcs/saves_2_le_wrap.c: Likewise. - * gcc.target/aarch64/sve/pcs/saves_4_be.c: Likewise. - * gcc.target/aarch64/sve/pcs/saves_4_le.c: Likewise. - * gcc.target/aarch64/sve/pcs/saves_5_be.c: Likewise. - * gcc.target/aarch64/sve/pcs/saves_5_le.c: Likewise. - * gcc.target/aarch64/sve/pcs/stack_clash_1.c (test_1): Likewise. - (test_2): Remove p12-p15 from the clobber list. - * gcc.target/aarch64/sve/pcs/stack_clash_1_128.c (test_1): Expect - p12-p15 to be saved and restored. - (test_2): Remove p12-p15 from the clobber list. - * gcc.target/aarch64/sve/pcs/stack_clash_1_256.c (test_1): Expect - p12-p15 to be saved and restored. - (test_2): Remove p12-p15 from the clobber list. - (test_4): Expect only 16 bytes of stack to be allocated for the - predicate save slot. - * gcc.target/aarch64/sve/pcs/stack_clash_1_512.c (test_1): Expect - p12-p15 to be saved and restored. - (test_2): Remove p12-p15 from the clobber list. - (test_4): Expect only 16 bytes of stack to be allocated for the - predicate save slot. - * gcc.target/aarch64/sve/pcs/stack_clash_1_1024.c (test_1): Expect - p12-p15 to be saved and restored. - (test_2): Remove p12-p15 from the clobber list. - (test_4): Expect only 16 bytes of stack to be allocated for the - predicate save slot. - * gcc.target/aarch64/sve/pcs/stack_clash_1_2048.c (test_1): Expect - p12-p15 to be saved and restored. - (test_2): Remove p12-p15 from the clobber list. - (test_4): Expect only 32 bytes of stack to be allocated for the - predicate save slot. - * gcc.target/aarch64/sve/pcs/stack_clash_2_256.c: Use z16 rather - than p4 to create a vector-sized save slot. - * gcc.target/aarch64/sve/pcs/stack_clash_2_512.c: Likewise. - * gcc.target/aarch64/sve/pcs/stack_clash_2_1024.c: Likewise. - * gcc.target/aarch64/sve/pcs/stack_clash_2_2048.c: Likewise. - -2020-03-18 Tobias Burnus - - * g++.dg/goacc/firstprivate-mappings-1.C: Only set DO_LONG_DOUBLE if - not defined; update comments. - * c-c++-common/goacc/firstprivate-mappings-1.c: Likewise. - -2020-03-18 Richard Biener - - PR middle-end/94188 - * gcc.dg/pr94188.c: New testcase. - -2020-03-18 Jakub Jelinek - - PR c++/91759 - * g++.dg/cpp1z/class-deduction72.C: New test. - -2020-03-17 Uroš Bizjak - - * g++.dg/debug/dwarf2/const2b.C (dg-do): Fix target selector. - -2020-03-17 Jakub Jelinek - - PR c/94172 - * gcc.dg/pr94172-1.c: New test. - * gcc.dg/pr94172-2.c: New test. - - PR c++/90995 - * g++.dg/cpp0x/enum40.C: New test. - -2020-03-17 Richard Sandiford - - * gcc.target/aarch64/advsimd-intrinsics/bfcvt-nosimd.c: Skip for - -fno-fat-lto-objects. Use tabs rather than spaces in the - check-function-bodies code. - -2020-03-17 Iain Sandoe - - * g++.dg/coroutines/torture/coro-torture.exp: Ensure that - DEFAULT_CXXFLAGS has a value, even if unset by a higher level. - -2020-03-17 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * gcc.target/arm/mve/intrinsics/vabavq_s16.c: New test. - * gcc.target/arm/mve/intrinsics/vabavq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabavq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabavq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabavq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabavq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_m_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_m_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_m_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_m_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_m_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_m_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtaq_m_s16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtaq_m_s32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtaq_m_u16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtaq_m_u32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_m_f16_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_m_f16_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_m_f32_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_m_f32_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrnbq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrnbq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrnbq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrnbq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrunbq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshrunbq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlaldavhaq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlaldavhaq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlcq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlcq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlcq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlcq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlcq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlcq_u8.c: Likewise. - -2020-03-17 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * gcc.target/arm/mve/intrinsics/vabdq_f16.c: New test. - * gcc.target/arm/mve/intrinsics/vabdq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddlvaq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddlvaq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_rot180_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_rot180_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_rot270_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_rot270_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_rot90_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmulq_rot90_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vctp16q_m.c: Likewise. - * gcc.target/arm/mve/intrinsics/vctp32q_m.c: Likewise. - * gcc.target/arm/mve/intrinsics/vctp64q_m.c: Likewise. - * gcc.target/arm/mve/intrinsics/vctp8q_m.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtbq_f16_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvttq_f16_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmaq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmaq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmavq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmavq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmvq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxnmvq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmaq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmaq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmavq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmavq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmvq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminnmvq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavxq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavxq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavxq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlaldavxq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsldavq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsldavq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsldavxq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsldavxq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovnbq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovnbq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovnbq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovnbq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovntq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovntq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovntq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovntq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_poly_p16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_poly_p8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_poly_p16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_poly_p8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmullbq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmullbq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmullbq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmullbq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulltq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulltq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulltq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulltq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovnbq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovnbq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovnbq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovnbq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovntq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovntq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovntq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovntq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovunbq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovunbq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovuntq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqmovuntq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlaldavhq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlaldavhq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlaldavhxq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlsldavhq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmlsldavhxq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshllbq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshllbq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshllbq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshllbq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlltq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlltq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlltq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlltq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_f32.c: Likewise. - -2020-03-17 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * gcc.target/arm/mve/intrinsics/vabdq_s16.c: New test. - * gcc.target/arm/mve/intrinsics/vabdq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabdq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabdq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabdq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabdq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvaq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvaq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvaq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvaq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvaq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvaq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvq_p_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvq_p_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvq_p_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvq_p_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvq_p_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vandq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbicq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vbrsrq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot270_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcaddq_rot90_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpcsq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpcsq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpcsq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpcsq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpcsq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpcsq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpeqq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgeq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpgtq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmphiq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmphiq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmphiq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmphiq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmphiq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmphiq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpleq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpltq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/veorq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhaddq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhcaddq_rot270_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhcaddq_rot270_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhcaddq_rot270_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhcaddq_rot90_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhcaddq_rot90_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhcaddq_rot90_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vhsubq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxaq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxaq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxaq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxavq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxavq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxavq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxvq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxvq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxvq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxvq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxvq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmaxvq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminaq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminaq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminaq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminavq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminavq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminavq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminvq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminvq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminvq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminvq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminvq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vminvq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavxq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavxq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmladavxq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavxq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavxq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmlsdavxq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulhq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulhq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulhq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulhq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulhq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulhq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_int_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_int_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_int_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_int_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_int_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmullbq_int_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_int_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_int_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_int_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_int_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_int_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulltq_int_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmulq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vornq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vorrq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqaddq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulhq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulhq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulhq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulhq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulhq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqdmulhq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmulhq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmulhq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmulhq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmulhq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmulhq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrdmulhq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqrshlq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_r_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_r_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_r_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_r_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_r_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_r_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshlq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshluq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshluq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqshluq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqsubq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrhaddq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrhaddq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrhaddq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrhaddq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrhaddq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrhaddq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmulhq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmulhq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmulhq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmulhq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmulhq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrmulhq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshlq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrshrq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_r_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_r_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_r_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_r_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_r_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_r_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_u8.c: Likewise. - -2020-03-17 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * gcc.target/arm/mve/intrinsics/vaddlvq_p_s32.c: New test. - * gcc.target/arm/mve/intrinsics/vaddlvq_p_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcmpneq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshlq_u8.c: Likewise. - -2020-03-17 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * gcc.target/arm/mve/intrinsics/vcreateq_s16.c: New test. - * gcc.target/arm/mve/intrinsics/vcreateq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcreateq_s64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcreateq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcreateq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcreateq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcreateq_u64.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcreateq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_n_s16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_n_s32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_n_u16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_n_u32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vshrq_n_u8.c: Likewise. - -2020-03-17 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * gcc.target/arm/mve/intrinsics/vbrsrq_n_f16.c: New test. - * gcc.target/arm/mve/intrinsics/vbrsrq_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcreateq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcreateq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_n_f16_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_n_f16_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_n_f32_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_n_f32_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vsubq_n_f32.c: Likewise. - -2020-03-17 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * gcc.target/arm/mve/intrinsics/vctp16q.c: New test. - * gcc.target/arm/mve/intrinsics/vctp32q.c: Likewise. - * gcc.target/arm/mve/intrinsics/vctp64q.c: Likewise. - * gcc.target/arm/mve/intrinsics/vctp8q.c: Likewise. - * gcc.target/arm/mve/intrinsics/vpnot.c: Likewise. - -2020-03-17 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * gcc.target/arm/mve/intrinsics/vabsq_s16.c: New test. - * gcc.target/arm/mve/intrinsics/vabsq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vabsq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddlvq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddlvq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vaddvq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclsq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclsq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclsq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclzq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclzq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclzq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclzq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclzq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vclzq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtaq_s16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtaq_s32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtaq_u16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtaq_u32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtmq_s16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtmq_s32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtmq_u16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtmq_u32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtnq_s16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtnq_s32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtnq_u16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtpq_s16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtpq_s32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtpq_u16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtpq_u32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_n_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_n_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovlbq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovlbq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovlbq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovlbq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovltq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovltq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovltq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmovltq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vnegq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vnegq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vnegq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqabsq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqabsq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqabsq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqnegq_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqnegq_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vqnegq_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev16q_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev16q_u8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev32q_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev32q_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev32q_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev32q_u8.c: Likewise. - -2020-03-17 Mihail Ionescu - - * gcc.target/arm/multilib.exp: Add new v8.1-M entry. - -2020-03-17 Jakub Jelinek - - PR tree-optimization/94015 - * gcc.dg/pr94015.c: New test. - -2020-03-17 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * gcc.target/arm/mve/intrinsics/vcvtq_s16_f16.c: New test. - * gcc.target/arm/mve/intrinsics/vcvtq_s32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_u16_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_u32_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_n_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_n_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_n_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vmvnq_n_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_u8.c: Likewise. - -2020-03-17 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * gcc.target/arm/mve/intrinsics/vabsq_f16.c: New test. - * gcc.target/arm/mve/intrinsics/vabsq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtbq_f32_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_f16_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_f16_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_f32_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvtq_f32_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vcvttq_f32_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_n_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vdupq_n_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vnegq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vnegq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev32q_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrev64q_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndaq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndaq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndmq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndmq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndnq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndnq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndpq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndpq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndq_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndxq_f16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vrndxq_f32.c: Likewise. - -2020-03-16 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * gcc.target/arm/mve/intrinsics/vst4q_f16.c: New test. - * gcc.target/arm/mve/intrinsics/vst4q_f32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst4q_s16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst4q_s32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst4q_s8.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst4q_u16.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst4q_u32.c: Likewise. - * gcc.target/arm/mve/intrinsics/vst4q_u8.c: Likewise. - -2020-03-17 Jakub Jelinek - - PR target/94185 - * g++.target/i386/pr94185.C (l): Use 4294967295U instead of 4294967295 - to avoid FAIL with -m32 -std=c++98. - -2020-03-17 Christophe Lyon - - * gcc.target/aarch64/sve/acle/general-c/sizeless-1.c: Remove - superfluous dg-error. - * gcc.target/aarch64/sve/acle/general-c/sizeless-2.c: Likewise. - -2020-03-17 Jakub Jelinek - - PR middle-end/94189 - * gcc.dg/pr94189.c: New test. - -2020-03-17 Martin Liska - - PR lto/94157 - * gcc.dg/lto/pr94157_0.c: Add gas effective - target filter. - -2020-03-16 Iain Buclaw - - PR d/92309 - * gdc.dg/pr92309.d: New test. - -2020-03-16 Iain Buclaw - - PR d/92216 - * gdc.dg/imports/pr92216.d: New. - * gdc.dg/pr92216.d: New test. - -2020-03-16 Jakub Jelinek - - PR c/94179 - * gcc.c-torture/compile/pr94179.c: New test. - -2020-03-16 Vladimir Makarov - - PR target/94185 - * g++.target/i386/pr94185.C: New test. - -2020-03-16 Richard Sandiford - - * gcc.target/aarch64/sve/acle/general-c/sizeless-1.c: Add a test - name to .-1 dg-error tests. - * gcc.target/aarch64/sve/acle/general-c/sizeless-2.c: Likewise. - -2020-03-16 Srinath Parvathaneni - - * gcc.target/arm/mve/intrinsics/mve_libcall1.c: New test. - * gcc.target/arm/mve/intrinsics/mve_libcall2.c: Likewise. - -2020-03-16 Srinath Parvathaneni - - * gcc.target/arm/mve/intrinsics/mve_fp_fpu1.c: New test. - * gcc.target/arm/mve/intrinsics/mve_fp_fpu2.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_fpu1.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_fpu2.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_fpu3.c: Likewise. - - -2020-03-16 Andre Vieira - Mihail Ionescu - Srinath Parvathaneni - - * gcc.target/arm/mve/intrinsics/mve_vector_float.c: New test. - * gcc.target/arm/mve/intrinsics/mve_vector_float1.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_vector_float2.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_vector_int.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_vector_int1.c: Likewise. - * gcc.target/arm/mve/intrinsics/mve_vector_int2.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/mve.exp: New file. - * lib/target-supports.exp - (check_effective_target_arm_v8_1m_mve_fp_ok_nocache): Proc to check - armv8.1-m.main+mve.fp and returning corresponding options. - (check_effective_target_arm_v8_1m_mve_fp_ok): Proc to call - check_effective_target_arm_v8_1m_mve_fp_ok_nocache to check support of - MVE with floating point on the current target. - (add_options_for_arm_v8_1m_mve_fp): Proc to call - check_effective_target_arm_v8_1m_mve_fp_ok to return corresponding - compiler options for MVE with floating point. - (check_effective_target_arm_v8_1m_mve_ok_nocache): Modify to test and - return hard float-abi on success. - -2020-03-16 H.J. Lu - - PR target/89229 - * gcc.target/i386/pr89229-7a.c: New test. - * gcc.target/i386/pr89229-7b.c: Likewise. - * gcc.target/i386/pr89229-7c.c: Likewise. - -2020-03-16 Iain Buclaw - - * gdc.dg/asm1.d: Add new test for ICE in asm parser. - * gdc.dg/asm5.d: New test. - -2020-03-16 Jakub Jelinek - - PR debug/94167 - * gcc.dg/pr94167.c: New test. - - PR tree-optimization/94166 - * gcc.dg/pr94166.c: New test. - -2020-03-16 Bin Cheng - - PR tree-optimization/94125 - * gcc.dg/tree-ssa/pr94125.c: New test. - -2020-03-15 H.J. Lu - - PR target/89229 - * gcc.target/i386/pr89229-6a.c: New test. - * gcc.target/i386/pr89229-6b.c: Likewise. - * gcc.target/i386/pr89229-6c.c: Likewise. - -2020-03-15 Lewis Hyatt - - * gcc.misc-tests/help.exp: Adapt to new output for - -Walloc-size-larger-than= option. - -2020-03-14 H.J. Lu - - PR target/89229 - * gcc.target/i386/pr89229-5a.c: New test. - * gcc.target/i386/pr89229-5b.c: Likewise. - * gcc.target/i386/pr89229-5c.c: Likewise. - -2020-03-14 Segher Boessenkool - - PR target/94176 - * gcc.target/powerpc/fold-vec-mule-misc.c: Use vmx_hw selector. - -2020-03-13 David Malcolm - - PR analyzer/94099 - PR analyzer/94105 - * gcc.dg/analyzer/pr94099.c: New test. - * gcc.dg/analyzer/pr94105.c: New test. - -2020-03-13 Vasee Vinayagamoorthy - - * gcc.target/aarch64/advsimd-intrinsics/bfcvt-nosimd.c: Fix DejaGnu - typo. - -2020-03-13 Martin Sebor - - PR c/94040 - * gcc.dg/Wbuiltin-declaration-mismatch-12.c: Relax test to look - for warning name rather than the exact text. - * gcc.dg/Wbuiltin-declaration-mismatch-14.c: New test. - * gcc.dg/Wbuiltin-declaration-mismatch-15.c: New test. - * gcc.dg/pr62090.c: Prune expected warning. - * gcc.dg/pr89314.c: Look for warning name rather than text. - * gcc.dg/torture/pr54261-1.c: Correct built-in declartion. - -2020-03-13 Uroš Bizjak - - * gcc.target/i386/pr64409.c: Do not limit compilation to x32 targets. - (dg-error): Quote 'ms_abi' attribute. - * gcc.target/i386/pr71958.c: Do not limit compilation to x32 targets. - Require maybe_x32 effective target. - (dg-options): Add -mx32. - (dg-error): Quote 'ms_abi' attribute. - * gcc.target/i386/pr90096.c (dg-error): Update relative - location of target x32 error. - -2020-03-13 Patrick Palka - - PR c++/67960 - * g++.dg/diagnostic/pr67960.C: New test. - * g++.dg/diagnostic/pr67960-2.C: New test. - -2020-03-13 Martin Liska - - PR lto/94157 - * gcc.dg/lto/pr94157_0.c: New test. - -2020-03-13 Kewen Lin - - PR testsuite/93935 - * gcc.dg/vect/bb-slp-over-widen-2.c: Expect basic block vectorized - messages only on vect_hw_misalign targets. - -2020-03-13 H.J. Lu - - PR target/89229 - * gcc.target/i386/pr89229-4a.c: New test. - * gcc.target/i386/pr89229-4b.c: Likewise. - * gcc.target/i386/pr89229-4c.c: Likewise. - -2019-03-13 Eric Botcazou - - * gcc.c-torture/compile/20200313-1.c: New test. - -2020-03-12 Jeff Law - - PR rtl-optimization/90275 - * gcc.c-torture/compile/pr90275.c: New test. - -2020-03-12 Richard Biener - - PR tree-optimization/94103 - * gcc.target/i386/pr94103.c: New testcase. - -2020-03-12 Tobias Burnus - - PR middle-end/94120 - * gfortran.dg/goacc/pr78260-2.f90: Correct scan-tree-dump-times. - Extend test case to result variables. - * gfortran.dg/goacc/declare-2.f95: Actually check module-declaration - restriction of OpenACC. - * gfortran.dg/goacc/declare-3.f95: Remove case where this - restriction is violated. - * gfortran.dg/goacc/pr94120-1.f90: New. - * gfortran.dg/goacc/pr94120-2.f90: New. - * gfortran.dg/goacc/pr94120-3.f90: New. - -2020-03-12 Jakub Jelinek - - PR tree-optimization/94130 - * gcc.c-torture/execute/pr94130.c: New test. - - PR c++/93907 - * g++.dg/cpp2a/concepts-using2.C (cc): Use long long instead of - __int128 if __SIZEOF_INT128__ isn't defined. - -2020-03-06 Marek Polacek - - PR c++/94074 - wrong modifying const object error for COMPONENT_REF. - * g++.dg/cpp1y/constexpr-tracking-const17.C: New test. - * g++.dg/cpp1y/constexpr-tracking-const18.C: New test. - * g++.dg/cpp1y/constexpr-tracking-const19.C: New test. - * g++.dg/cpp1y/constexpr-tracking-const20.C: New test. - * g++.dg/cpp1y/constexpr-tracking-const21.C: New test. - * g++.dg/cpp1y/constexpr-tracking-const22.C: New test. - -2020-03-11 Jakub Jelinek - - PR target/94134 - * gcc.c-torture/execute/pr94134.c: New test. - -2020-03-11 Kito Cheng - - * gcc.target/riscv/interrupt-2.c: Update testcase and expected output. - -2020-03-11 Richard Biener - - * gcc.dg/torture/20200311-1.c: New testcase. - -2020-03-11 Matthew Malcomson - - * lib/scanasm.exp (parse_function_bodies): Lines starting with '@' also - counted as fluff. - -2020-03-11 Richard Wai - - * gnat.dg/subpools1.adb: New test. - -2020-03-11 Jakub Jelinek - - PR target/94121 - * gcc.dg/pr94121.c: New test. - - PR middle-end/94111 - * gcc.dg/dfp/pr94111.c: New test. - - PR tree-optimization/94114 - * gcc.dg/pr94114.c: New test. - -2020-03-10 Marek Polacek - - PR c++/94124 - wrong conversion error with non-viable overload. - * g++.dg/cpp0x/initlist-overload1.C: New test. - -2020-03-10 Jiufu Guo - - PR target/93709 - * gcc.target/powerpc/p9-minmax-3.c: New test. - -2020-03-10 Will Schmidt - - PR target/90763 - * gcc.target/powerpc/pr90763.c: New. - -2020-03-10 Uroš Bizjak - - * g++.dg/pr80481.C (dg-final): Scan for SSE reg-reg moves only. - -2020-03-10 Jeff Law - - Revert: - 2020-02-29 Jeff Law - - * gcc.target/xstormy16/sfr/06_sfrw_to_var.c: Update expected output. - -2020-03-10 Jakub Jelinek - - PR target/94088 - * gcc.target/i386/pr94088.c: New test. - -2020-03-09 Marek Polacek - - PR c++/92031 - bogus taking address of rvalue error. - PR c++/91465 - ICE with template codes in check_narrowing. - PR c++/93870 - wrong error when converting template non-type arg. - PR c++/94068 - ICE with template codes in check_narrowing. - * g++.dg/cpp0x/conv-tmpl2.C: New test. - * g++.dg/cpp0x/conv-tmpl3.C: New test. - * g++.dg/cpp0x/conv-tmpl4.C: New test. - * g++.dg/cpp0x/conv-tmpl5.C: New test. - * g++.dg/cpp0x/conv-tmpl6.C: New test. - * g++.dg/cpp1z/conv-tmpl1.C: New test. - -2020-03-09 Jakub Jelinek - - PR c++/94067 - * g++.dg/warn/Wconversion-pr94067.C: New test. - -2020-03-09 Marek Polacek - - PR c++/94050 - ABI issue with alignas on armv7hl. - * g++.dg/abi/align3.C: New test. - -2020-03-09 Christophe Lyon - - * gcc.target/arm/fuse-caller-save.c: Fix DejaGnu typo. - -2020-03-09 Martin Liska - - PR target/93800 - * gcc.target/powerpc/pr93800.c: New test. - -2020-03-09 Bin Cheng - - * g++.dg/coroutines/torture/co-ret-15-default-return_void.C: New. - -2020-03-09 Kewen Lin - - PR testsuite/94019 - * gcc.dg/vect/vect-over-widen-17.c: Don't expect vector char if it's - without misaligned vector access support. - -2020-03-09 Kewen Lin - - PR testsuite/94023 - * gcc.dg/vect/slp-perm-12.c: Expect loop vectorized messages only on - vect_hw_misalign targets. - -2020-03-08 Paul Thomas - - PR fortran/93581 - * gfortran.dg/inquiry_type_ref_6.f90 : New test. - -2020-03-08 Patrick Palka - - PR c++/93729 - * g++.dg/concepts/pr93729.C: New test. - - * g++.dg/concepts/diagnostic4.C: New test. - -2020-03-08 H.J. Lu - - PR target/89229 - PR target/89346 - * gcc.target/i386/pr89229-3c.c: Include "pr89229-3a.c", instead - of "pr89229-5a.c". - -2020-03-06 David Malcolm - - * gcc.dg/analyzer/malloc-4.c: Update expected output of leak to - reflect fix to region_model::get_representative_path_var, adding - the missing "*" from the cast. - -2020-03-06 Wilco Dijkstra - - * gcc.target/aarch64/fmla_intrinsic_1.c: Check for correct lane syntax. - * gcc.target/aarch64/fmls_intrinsic_1.c: Likewise. - * gcc.target/aarch64/mla_intrinsic_1.c: Likewise. - * gcc.target/aarch64/mls_intrinsic_1.c: Likewise. - -2020-03-06 Claudiu Zissulescu - - * gcc.target/arc/tumaddsidi4.c: Step-up optimization level. - -2020-03-06 Delia Burduv - - * gcc.target/arm/simd/bf16_vldn_1.c: New test. - -2020-03-06 Delia Burduv - - * gcc.target/arm/simd/bf16_vstn_1.c: New test. - -2020-03-06 Kito Cheng - - * gcc.target/riscv/pr93304.c: Update expected output and comment. - -2020-03-06 Delia Burduv - - * gcc.target/aarch64/advsimd-intrinsics/bfcvt-compile.c: New test. - * gcc.target/aarch64/advsimd-intrinsics/bfcvt-nobf16.c: New test. - * gcc.target/aarch64/advsimd-intrinsics/bfcvt-nosimd.c: New test. - * gcc.target/aarch64/advsimd-intrinsics/bfcvtnq2-untied.c: New test. - -2020-03-06 Kito Cheng - - PR tree-optimization/90883 - * g++.dg/tree-ssa/pr90883.c: Add --param max-inline-insns-size=1. - Add aarch64-*-* mips*-*-* to XFAIL. - -2020-03-05 H.J. Lu - - PR target/89229 - PR target/89346 - * gcc.target/i386/avx512vl-vmovdqa64-1.c: Updated. - * gcc.target/i386/pr89229-2a.c: New test. - * gcc.target/i386/pr89229-2b.c: Likewise. - * gcc.target/i386/pr89229-2c.c: Likewise. - * gcc.target/i386/pr89229-3a.c: Likewise. - * gcc.target/i386/pr89229-3b.c: Likewise. - * gcc.target/i386/pr89229-3c.c: Likewise. - * gcc.target/i386/pr89346.c: Likewise. - -2020-03-05 Andre Vieira - - * g++.dg/pr80481.C: Disable epilogue vectorization. - -2020-03-05 Joseph Myers - - PR c/93577 - * gcc.dg/pr93577-1.c, gcc.dg/pr93577-2.c, gcc.dg/pr93577-3.c, - gcc.dg/pr93577-4.c, gcc.dg/pr93577-5.c, gcc.dg/pr93577-6.c: New - tests. - * gcc.dg/vla-init-1.c: Expect fewer errors about VLA initializer. - -2020-03-05 Jeff Law - - PR tree-optimization/91890 - * gcc.dg/pragma-diag-8.c: New test. - -2020-03-05 Jakub Jelinek - - PR target/94046 - * g++.target/i386/pr94046-1.C: New test. - * g++.target/i386/pr94046-2.C: New test. - -2020-03-05 Uroš Bizjak - - * g++.dg/asan/asan_test.C (dg-options): Add - -Wno-alloc-size-larger-than. - -2020-03-05 Jakub Jelinek - - PR target/90311 - * gcc.c-torture/execute/pr90311.c: New test. - -2020-03-05 Jeff Law - - * gcc.target/arm/fuse-caller-save.c: Generalize expected output. - -2020-03-05 Mark Eggleston - - PR fortran/93792 - * gfortran.dg/pr93792.f90: New test. - -2020-03-05 Delia Burduv - - * gcc.target/arm/simd/bf16_ma_1.c: New test. - * gcc.target/arm/simd/bf16_ma_2.c: New test. - * gcc.target/arm/simd/bf16_mmla_1.c: New test. - -2020-03-05 Jakub Jelinek - - PR middle-end/93399 - * gcc.dg/pr93399.c: New test. - - PR tree-optimization/93582 - * gcc.dg/tree-ssa/pr93582-11.c: New test. - -2020-03-04 Martin Sebor - - PR c++/90938 - * g++.dg/init/array55.C: New test. - * g++.dg/init/array56.C: New test. - * g++.dg/cpp2a/nontype-class33.C: New test. - -2020-03-04 Martin Sebor - - PR tree-optimization/93986 - * gcc.dg/pr93986.c: New test. - -2020-03-04 David Malcolm - - PR analyzer/94028 - * g++.dg/analyzer/pr94028.C: New test. - -2020-03-04 Martin Sebor - - PR middle-end/81401 - * gcc.dg/tree-ssa/builtin-sprintf-warn-24.c: New test. - -2020-03-04 Will Schmidt - - * gcc.target/powerpc/20050603-3.c: Remove XFAILS. - -2020-03-04 Will Schmidt - - * gcc.target/powerpc/pr93122.c: Add dg-require. - -2020-03-04 David Malcolm - - PR analyzer/93993 - * gcc.dg/analyzer/expect-1.c: New test. - * gcc.dg/analyzer/malloc-4.c: New test. - * gfortran.dg/analyzer/pr93993.f90: Remove xfail from dg-bogus. - Move location of leak warning and update message. - -2020-03-04 David Malcolm - - PR analyzer/93993 - * gfortran.dg/analyzer/pr93993.f90: New test. - -2020-03-04 Martin Liska - - * gcc.target/i386/pr91623.c: Add -fcommon in order - to re-trigger the needed code for the test-case which - was added in r10-2910-g9151048d854e352a9b83b771c6711b8221c73f7e. - -2020-03-04 Jakub Jelinek - - PR debug/93888 - * g++.dg/guality/pr93888.C: New test. - -2020-02-04 Richard Biener - - PR tree-optimization/93964 - * gcc.dg/graphite/pr93964.c: New testcase. - -2020-03-04 Jakub Jelinek - - PR tree-optimization/94001 - * gcc.dg/pr94001.c: New test. - -2020-03-04 Kito Cheng - - PR target/93995 - * gcc.dg/pr93995.c: New. - -2020-03-03 Marek Polacek - - PR c++/90505 - mismatch in template argument deduction. - * g++.dg/template/deduce4.C: New test. - * g++.dg/template/deduce5.C: New test. - * g++.dg/template/deduce6.C: New test. - * g++.dg/template/deduce7.C: New test. - -2020-03-03 Jakub Jelinek - - PR c++/93998 - * g++.dg/ext/pr93998.C: New test. - -2020-03-03 Dennis Zhang - - * gcc.target/arm/simd/bf16_cvt_1.c: New test. - -2020-03-03 Jakub Jelinek - - PR tree-optimization/93582 - * gcc.dg/tree-ssa/pr93582-10.c: New test. - * gcc.dg/pr93582.c: New test. - * gcc.c-torture/execute/pr93582.c: New test. - -2020-03-03 Richard Biener - - PR tree-optimization/93946 - * gcc.dg/torture/pr93946-1.c: New testcase. - * gcc.dg/torture/pr93946-2.c: Likewise. - -2020-03-03 Jakub Jelinek - - PR rtl-optimization/94002 - * gcc.dg/pr94002.c: New test. - - PR tree-optimization/93927 - * gcc.c-torture/compile/pr93927-1.c: New test. - * gcc.c-torture/compile/pr93927-2.c: New test. - -2020-03-03 Jun Ma - - * g++.dg/coroutines/torture/co-await-15-capture-comp-ref.C: New test. - -2020-03-03 Jun Ma - - * g++.dg/coroutines/torture/co-await-14-template-traits.C: New test. - -2020-03-02 David Malcolm - - * gcc.dg/analyzer/CVE-2005-1689-dedupe-issue.c: Add - -fanalyzer-show-duplicate-count. - -2020-03-02 David Malcolm - - PR analyzer/93959 - * g++.dg/analyzer/cstdlib-2.C: New test. - * g++.dg/analyzer/cstdlib.C: New test. - -2020-03-02 Iain Sandoe - Jun Ma - - * g++.dg/coroutines/torture/class-05-lambda-capture-copy-local.C: - * g++.dg/coroutines/torture/lambda-09-init-captures.C: New test. - * g++.dg/coroutines/torture/lambda-10-mutable.C: New test. - -2020-03-02 Uroš Bizjak - - PR target/93997 - * gcc.target/i386/pr93997.c: New test. - -2020-03-02 Martin Sebor - - PR tree-optimization/92982 - * gcc.dg/strlenopt-94.c: New test. - -2020-03-02 Iain Sandoe - - * g++.dg/coroutines/torture/func-params-09-awaitable-parms.C: New test. - * g++.dg/coroutines/torture/local-var-5-awaitable.C: New test. - -2020-03-02 Jeff Law - - * gcc.target/arm/fuse-caller-save.c: Update expected output. - -2020-03-02 Martin Liska - - * gcc.dg/vect/bb-slp-19.c: The comment - does not align with fact that we started - to SLP the testcase. - -2020-03-02 Kewen Lin - - * gcc.dg/tree-ssa/scev-8.c: Revise check string. - * gcc.dg/tree-ssa/scev-9.c: Ditto. - * gcc.dg/tree-ssa/scev-10.c: Ditto. - * gcc.dg/tree-ssa/scev-11.c: Ditto. - * gcc.dg/tree-ssa/scev-12.c: Ditto. - -2020-03-01 Martin Sebor - - PR c++/92721 - g++.dg/ext/attr-access.C: New test. - -2020-03-01 Martin Sebor - - PR middle-end/93926 - * gcc.dg/Wbuiltin-declaration-mismatch-13.c: New test. - -2020-03-01 Martin Sebor - - PR c/93812 - * gcc.dg/format/proto.c: New test. - -2020-03-01 Martin Sebor - - PR middle-end/93829 - * gcc.dg/Wstringop-overflow-32.c: New test. - -2020-03-01 Segher Boessenkool - - PR testsuite/91797 - * gcc.target/powerpc/pr68805.c: Update expected output. - - PR testsuite/91799 - * gcc.target/powerpc/pr88233.c: Update expected output and - add target selector. - -2020-03-01 Iain Sandoe - - * g++.dg/coroutines/torture/class-07-data-member.C: New test. - -2020-03-01 Paul Thomas - - PR fortran/92976 - * gfortran.dg/select_type_48.f90 : New test. - -2020-03-01 Paul Thomas - - PR fortran/92959 - * gfortran.dg/associated_8.f90 : New test. - -2020-02-29 Iain Sandoe - - * g++.dg/coroutines/coro1-ret-int-yield-int.h: Add templated - awaitable. - * g++.dg/coroutines/torture/co-await-15-return-non-triv.C: New test. - -2020-02-29 John David Anglin - - PR ada/91100 - * gnat.dg/socket1.adb: Disable on hppa*-*-hpux*. - - * g++.dg/pr90981.C: Skip on hppa*-*-hpux*. - * gcc.dg/gnu2x-attrs-1.c: Add dg-require-alias. - * gcc.dg/pr90756.c: Add -fno-common option on hppa*-*-hpux*. - * gcc.dg/torture/20190327-1.c: Likewise. - * gcc.dg/spellcheck-options-21.c: Skip on 32-bit hppa*-*-hpux*. - * gcc.dg/strlenopt-68.c: Skip on hppa*-*-hpux*. - * gcc.dg/torture/pr90020.c: Likewise. - * gcc.dg/ucnid-16-utf8.c: Add dg-require-iconv "latin1". - - PR ipa/92548 - * gcc.dg/ipa/ipa-sra-12.c: xfail parameter split test on 32-bit - hppa*-*-hpux*. - * gcc.dg/ipa/ipa-sra-14.c: Likewise. - * gcc.dg/ipa/ipcp-agg-12.c: xfail adding extra caller test. - - * g++.dg/ext/visibility/ref-temp1.C: Require visibility. - * gfortran.dg/pr90988_4.f: Likewise. - * gfortran.dg/pr91372.f90: Likewise. - -2020-02-29 Jeff Law - - * gcc.target/or1k/return-2.c: Update expected output. - - * gcc.target/xstormy16/sfr/06_sfrw_to_var.c: Update expected output. - -2020-02-28 Iain Sandoe - - * g++.dg/coroutines/torture/func-params-08.C: Update - to suspend for each co_await operation. - -2020-02-28 Paul Thomas - - PR fortran/92785 - * gfortran.dg/unlimited_polymorphic_31.f03 : New test. - -2020-02-28 Jakub Jelinek - - P1937R2 - Fixing inconsistencies between const{expr,eval} functions - * g++.dg/cpp2a/consteval3.C: Change dg-error about taking address of - immediate function in unevaluated contexts into dg-bogus. - * g++.dg/cpp2a/consteval16.C: New test. - - PR middle-end/92152 - * g++.dg/torture/pr92152.C (size_t): Use decltype (sizeof (0)) instead - of hardcoding unsigned long. - (uint64_t): Use unsigned long long instead of unsigned long. - -2020-02-27 Michael Meissner - - PR target/93932 - * gcc.target/powerpc/fold-vec-extract-longlong.p8.c: Adjust - instruction counts. - -2020-02-27 Martin Jambor - Feng Xue - - PR ipa/93707 - * gcc.dg/ipa/pr93707.c: New test. - -2020-02-27 Jan Hubicka - - PR middle-end/92152 - * gcc.dg/tree-ssa/alias-access-path-12.c: New testcase. - * g++.dg/torture/pr92152.C: New testcase. - * gcc.dg/torture/pr92152.c: New testcase. - * gcc.dg/tree-ssa/20030807-7.c: xfail. - * gcc.dg/tree-ssa/alias-access-path-4.c: xfail one case. - * gcc.dg/tree-ssa/alias-access-path-5.c: xfail one case. - -2020-02-27 Mihail Ionescu - - * gcc.target/arm/bf16_dup.c: New test. - * gcc.target/arm/bf16_reinterpret.c: Likewise. - -2020-02-27 Will Schmidt - - * lib/target_supports.exp (check_effective_target_has_arch_pwr5): New. - (check_effective_target_has_arch_pwr6): New. - (check_effective_target_has_arch_pwr7): New. - (check_effective_target_has_arch_pwr8): New. - (check_effective_target_has_arch_pwr9): New. - * gcc.target/powerpc/pr92132-fp-1.c: Add target check. - - -2020-02-27 Bill Schmidt - - * gcc.target/powerpc/ppc64-abi-1.c: Compile with -mno-pcrel. - * gcc.target/powerpc/ppc64-abi-2.c: Likewise. - -2020-02-27 Alexandre Oliva - - * gcc.target/aarch64/vect-mull.x (SH): Undefine. - -2020-02-27 Richard Biener - - PR tree-optimization/93508 - * gcc.dg/tree-ssa/ssa-fre-85.c: New testcase. - -2020-02-27 Richard Biener - - PR tree-optimization/93953 - * gcc.dg/pr93953.c: New testcase. - -2020-02-27 Jakub Jelinek - - PR c/93949 - * gcc.c-torture/compile/pr93949.c: New test. - - PR tree-optimization/93582 - PR tree-optimization/93945 - * gcc.dg/tree-ssa/pr93582-9.c: New test. - * gcc.c-torture/execute/pr93945.c: New test. - -2020-02-26 Marek Polacek - - PR c++/93789 - ICE with invalid array bounds. - * g++.dg/ext/vla22.C: New test. - -2020-02-26 David Malcolm - - PR analyzer/93950 - * g++.dg/analyzer/pr93950.C: New test. - -2020-02-26 David Malcolm - - PR analyzer/93947 - * gcc.dg/analyzer/torture/pr93947.c: New test. - -2020-02-26 Iain Sandoe - - * g++.dg/coroutines/coro1-refs-and-ctors.h: New. - * g++.dg/coroutines/torture/func-params-07.C: New test. - * g++.dg/coroutines/torture/func-params-08.C: New test. - -2020-02-26 Peter Bergner - - PR target/93913 - * gcc.target/powerpc/fold-vec-st-char.c (scan-assembler-times): Allow - stxv and stxvx instructions as well. - * gcc.target/powerpc/fold-vec-st-float.c: Likewise. - * gcc.target/powerpc/fold-vec-st-int.c: Likewise. - * gcc.target/powerpc/fold-vec-st-short.c: Likewise. - -2020-02-26 Patrick Palka - - * g++.dg/concepts/diagnostic2.C: New test. - * g++.dg/concepts/diagnostic3.C: New test. - -2020-02-26 Marek Polacek - - PR c++/93676 - value-init crash in template. - * g++.dg/cpp0x/nsdmi-template19.C: New test. - -2020-02-26 Marek Polacek - - PR c++/93862 - ICE with static_cast when converting from int[]. - * g++.dg/cpp0x/rv-cast7.C: New test. - -2020-02-26 Marek Polacek - - DR 1423, Convertibility of nullptr to bool. - * g++.dg/DRs/dr1423.C: New test. - -2020-02-26 Marek Polacek - - PR c++/93803 - ICE with constexpr init and [[no_unique_address]]. - * g++.dg/cpp2a/constexpr-init16.C: New test. - * g++.dg/cpp2a/constexpr-init17.C: New test. - -2020-02-26 Richard Sandiford - - PR middle-end/93843 - * gcc.dg/vect/pr93843-1.c: New test. - * gcc.dg/vect/pr93843-2.c: Likewise. - -2020-02-26 Jakub Jelinek - - PR tree-optimization/93820 - * gcc.dg/pr93820-2.c: New test. - - PR tree-optimization/93820 - * gcc.dg/pr93820.c: New test. - - PR c++/93905 - * g++.dg/cpp0x/pr93905.C: New test. - -2020-02-25 Mihail Ionescu - - * gcc.target/aarch64/advsimd-intrinsics/bf16_vstn.c: New test. - * gcc.target/aarch64/advsimd-intrinsics/bf16_vldn.c: New test. - -2020-02-25 Mihail Ionescu - - * gcc.target/aarch64/advsimd-intrinsics/bf16_dup.c: New test. - * gcc.target/aarch64/advsimd-intrinsics/bf16_reinterpret.c: New test. - -2020-02-25 Dennis Zhang - - * gcc.target/arm/simd/bf16_dot_1.c: New test. - * gcc.target/arm/simd/bf16_dot_2.c: New test. - * gcc.target/arm/simd/bf16_dot_3.c: New test. - -2020-02-25 Jakub Jelinek - - PR rtl-optimization/93908 - * gcc.c-torture/execute/pr93908.c: New test. - -2019-02-25 Eric Botcazou - - * gnat.dg/lto24.adb: New test. - * gnat.dg/lto24_pkg1.ads: New helper. - * gnat.dg/lto24_pkg2.ad[sb]: Likewise. - -2020-02-25 Richard Biener - - * gcc.dg/tree-ssa/ssa-fre-86.c: New testcase. - -2020-02-25 Richard Biener - - PR tree-optimization/93868 - * gcc.dg/torture/pr93868.c: New testcase. - -2020-02-25 Jakub Jelinek - - PR middle-end/93874 - * gcc.dg/pr93874.c: New test. - - PR ipa/93763 - * gcc.dg/ipa/pr93763.c: Adjust the test so that it compiles without - warnings and still ICEs before the ipa-cp.c fix. - * g++.dg/ipa/pr93763.C: Require c++11 effective target. - - PR translation/93864 - * objc.dg/encode-2.m: Fix comment typo paramter -> parameter. - * obj-c++.dg/encode-4.mm: Likewise. - * gfortran.dg/data_array_5.f90: Likewise. - * gcc.dg/decl-1.c: Likewise. - -2020-02-24 David Malcolm - - PR analyzer/93032 - * gcc.dg/analyzer/pr93382.c: Add "-fanalyzer-checker=taint". - * gcc.dg/analyzer/taint-1.c: Likewise. - -2020-02-24 David Malcolm - - PR analyzer/93899 - * g++.dg/analyzer/pr93899.C: New test. - -2020-02-24 Martin Sebor - - PR c++/93804 - * g++.dg/warn/Wredundant-tags-4.C: New test. - * g++.dg/warn/Wredundant-tags-5.C: New test. - * g++.dg/warn/Wredundant-tags-5.h: New test. - -2020-02-24 David Malcolm - - * gcc.dg/analyzer/analyzer-verbosity-2a.c: New test. - * gcc.dg/analyzer/analyzer-verbosity-3.c: New test, based on - analyzer-verbosity-2.c - * gcc.dg/analyzer/analyzer-verbosity-3a.c: New test. - * gcc.dg/analyzer/edges-1.c: New test. - * gcc.dg/analyzer/edges-2.c: New test. - * gcc.dg/analyzer/file-paths-1.c: Add -fanalyzer-verbosity=3. - -2020-02-24 Marek Polacek - - PR c++/93869 - ICE with -Wmismatched-tags. - * g++.dg/warn/Wmismatched-tags-2.C: New test. - -2020-02-20 Mark Eggleston - - PR fortran/93835 - * gfortran.dg/pr77351.f90 : Check for one error instead of two. - * gfortran.dg/pr93835.f08 : New test. - -2020-02-24 Marek Polacek - - PR c++/93712 - ICE with ill-formed array list-initialization. - * g++.dg/cpp0x/initlist-array11.C: New test. - -2020-02-20 Mark Eggleston - - PR fortran/93604 - * gfortran.dg/pr93604.f90 : New test. - -2020-02-24 Jakub Jelinek - - P1937R2 - Fixing inconsistencies between const{expr,eval} functions - * g++.dg/ext/consteval1.C: Change dg-{message,error} into dg-bogus. - * g++.dg/cpp2a/consteval6.C: Likewise. - * g++.dg/cpp2a/consteval3.C: Change dg-error for unevaluated operands - into dg-bogus. - -2020-02-24 Christophe Lyon - - PR lto/78353 - * gcc.target/arm/pr78353-1.c: Add arm_arch_v7a_multilib effective - target. - * gcc.target/arm/pr78353-2.c: Likewise. - -2020-02-24 Jakub Jelinek - - PR tree-optimization/93582 - * gcc.dg/tree-ssa/pr93582-4.c: New test. - * gcc.dg/tree-ssa/pr93582-5.c: New test. - * gcc.dg/tree-ssa/pr93582-6.c: New test. - * gcc.dg/tree-ssa/pr93582-7.c: New test. - * gcc.dg/tree-ssa/pr93582-8.c: New test. - -2020-02-24 Tobias Burnus - - PR fortran/93552 - * gfortran.dg/goacc/tile-4.f90: New. - -2020-02-24 Prathamesh Kulkarni - Kugan Vivekandarajah - - PR driver/47785 - PR lto/78353 - * gcc.target/arm/pr78353-1.c: New test. - * gcc.target/arm/pr78353-2.c: Likewise. - -2020-02-23 Thomas Koenig - - PR fortran/93890 - * gfortran.dg/argument_checking_24.f90: Correct test case. - -2020-02-21 Martin Sebor - - PR gcov-profile/93753 - * g++.dg/ext/flexary36.C: New test. - * g++.dg/lto/pr93166_0.C: Make struct with flexarray valid. - -2020-02-21 Dennis Zhang - - * gcc.target/arm/simd/vmmla_1.c: New test. - -2020-02-21 Mihail-Calin Ionescu - - * gcc.target/arm/armv8_1m-shift-imm-1.c: Add MVE target checks. - * gcc.target/arm/armv8_1m-shift-reg-1.c: Likewise. - * lib/target-supports.exp - (check_effective_target_arm_v8_1m_mve_ok_nocache): New. - (check_effective_target_arm_v8_1m_mve_ok): New. - (add_options_for_v8_1m_mve): New. - -2020-02-21 Uroš Bizjak - - * gcc.target/i386/pr69052.c: Require target ia32. - (dg-options): Add -fcommon and remove -pie. - -2020-02-21 Uroš Bizjak - - * gcc.dg/vect/vect-epilogues.c (scan-tree-dump): Require - vect_mutiple_sizes effective target. - -2020-02-21 Jan Hubicka - Richard Biener - - PR tree-optimization/93586 - * gcc.dg/torture/pr93586.c: New testcase. - -2020-02-21 Martin Jambor - - PR tree-optimization/93845 - * g++.dg/tree-ssa/pr93845.C: New test. - -2020-02-21 Richard Sandiford - - * gcc.target/aarch64/sve/rsqrt_1.c: New test. - * gcc.target/aarch64/sve/rsqrt_1_run.c: Likewise. - * gcc.target/aarch64/sve/sqrt_1.c: Likewise. - * gcc.target/aarch64/sve/sqrt_1_run.c: Likewise. - -2020-02-21 Richard Sandiford - - * gcc.target/aarch64/sve/recip_1.c: New test. - * gcc.target/aarch64/sve/recip_1_run.c: Likewise. - * gcc.target/aarch64/sve/recip_2.c: Likewise. - * gcc.target/aarch64/sve/recip_2_run.c: Likewise. - -2020-02-20 Martin Sebor - - PR c++/93801 - * g++.dg/warn/Wredundant-tags-3.C: New test. - -2020-02-20 Uroš Bizjak - - PR target/93828 - * g++.target/i386/pr93828.C: New test. - -2020-02-20 Peter Bergner - - PR target/93658 - * gcc.target/powerpc/pr93658.c: New test. - -2020-02-20 Tobias Burnus - - PR fortran/93825 - * gfortran.dg/goacc/tile-3.f90: New. - -2020-02-19 Marek Polacek - - PR c++/93169 - wrong-code with a non-constexpr constructor. - * g++.dg/cpp0x/constexpr-93169.C: New test. - -2020-02-19 Martin Sebor - - PR tree-optimization/92128 - * gcc.dg/strlenopt-81.c: Align arrays to let strictly aligned targets - optimize away calls as expected. - -2020-02-19 Uroš Bizjak - - * gcc.dg/gimplefe-41.c: Add -msse2 additional options for x86 targets. - * gcc.dg/ipa/ipa-sra-19.c: Ditto. - -2020-02-19 Richard Sandiford - - PR tree-optimization/93767 - * gcc.dg/vect/pr93767.c: New test. - -2020-02-19 Martin Jambor - - PR tree-optimization/93776 - * gcc.dg/tree-ssa/pr93776.c: New test. - -2020-02-19 Martin Jambor - - PR tree-optimization/93667 - * g++.dg/tree-ssa/pr93667.C: New test. - -2020-02-19 Hongtao Liu - - * g++.dg/other/i386-2.C: add -mavx512vbmi2 - * g++.dg/other/i386-3.C: Ditto. - -2020-02-18 James Greenhalgh - - * gcc.target/aarch64/vmull_high.c: New. - -2020-02-18 Marek Polacek - - PR c++/93817 - * g++.dg/diagnostic/array-init1.C: Fix for ILP32. - -2020-02-18 Jon Beniston - - * gcc.dg/strcmpopt_6.c: Add space in array for terminator. - -2020-02-18 Mark Eggleston - - PR fortran/93714 - * gfortran.dg/char_pointer_assign_6.f90: Look for no target - message instead of length mismatch. - * gfortran.dg/pr93714_1.f90 - * gfortran.dg/pr93714_2.f90 - -2020-02-18 Mark Eggleston - - PR fortran/93601 - * gfortran.dg/pr93601.f90 : New test. - -2020-02-18 Martin Liska - - PR ipa/93583 - * gcc.dg/ipa/pr93583.c: New test. - -2020-02-18 David Malcolm - - PR analyzer/93777 - * g++.dg/analyzer/pr93777.C: New test. - * gfortran.dg/analyzer/pr93777.f90: New test. - -2020-02-18 David Malcolm - - PR analyzer/93778 - * gfortran.dg/analyzer/pr93778.f90: New test. - -2020-02-18 David Malcolm - - PR analyzer/93774 - * gfortran.dg/analyzer/deferred_character_25.f90: New test, - based on gfortran.dg/deferred_character_25.f90. - -2020-02-18 David Malcolm - - PR analyzer/93779 - * gfortran.dg/analyzer/pr88304-2.f90: New test, adapted from - gfortran.fortran-torture/compile/pr88304-2.f90 - -2020-02-18 Mark Eggleston - - PR fortran/93603 - * gfortran.dg/pr93603.f90 : New test. - -2020-02-20 Mark Eggleston - - PR fortran/93580 - * gfortran.dg/dg/pr93580.f90: New test. - -2020-02-18 Jakub Jelinek - - PR tree-optimization/93780 - * gcc.dg/pr93780.c: New test. - -2020-02-17 David Malcolm - - PR analyzer/93775 - * gcc.dg/analyzer/20020129-1.c: New test. - -2020-02-17 Alexandre Oliva - - * gcc.dg/tls/emutls-3.c: New, combining emutls-2.c and - thr-init-2.c into an execution test with explicitly common - variables. - -2020-02-17 Wilco Dijkstra - - * gcc.target/aarch64/pr93565.c: Fix test for ilp32. - -2020-02-17 Will Schmidt - - * gcc.target/powerpc/fold-vec-extract-longlong.p8.c: Correct - number of expected insns. - -2020-02-17 Martin Liska - - PR ipa/93760 - * g++.dg/lto/odr-8_1.C: Fix grammar. - -2020-02-17 Richard Biener - - PR c/86134 - * gcc.dg/pr86134.c: New testcase. - * gcc.dg/pr28322-2.c: Adjust. - -2020-02-17 David Malcolm - - PR analyzer/93388 - * gcc.dg/analyzer/torture/20060625-1.c: New test. - * gcc.dg/analyzer/torture/pr51628-30.c: New test. - * gcc.dg/analyzer/torture/pr59037.c: New test. - -2020-02-17 David Malcolm - - * gcc.dg/analyzer/malloc-1.c (test_48): New. - -2020-02-17 Jiufu Guo - - PR target/93047 - * gcc.dg/torture/stackalign/builtin-return-2.c: New test case. - -2020-02-16 Uroš Bizjak - - PR target/93743 - * gcc.target/i386/pr93743.c : New test. - -2020-02-15 Marek Polacek - - PR c++/93710 - poor diagnostic for array initializer. - * g++.dg/diagnostic/array-init1.C: New test. - -2020-02-15 Jason Merrill - - * lib/target-supports.exp (check_effective_target_c++2a_only): Also - look for -std=*++20. - (check_effective_target_concepts): Use check_effective_target_c++2a. - -2020-02-15 Jakub Jelinek - - PR tree-optimization/93744 - * gcc.c-torture/execute/pr93744-1.c: New test. - * gcc.c-torture/execute/pr93744-2.c: New test. - * gcc.c-torture/execute/pr93744-3.c: New test. - -2020-02-14 Jakub Jelinek - - PR c++/61414 - * g++.dg/cpp0x/enum39.C: New test. - -2020-02-14 Martin Jambor - - PR tree-optimization/93516 - * g++.dg/tree-ssa/pr93516.C: New test. - -2020-02-14 Hongtao Liu - - * gcc.target/i386/avx512vbmi2-vpshld-1.c: New test. - * gcc.target/i386/avx512vbmi2-vpshrd-1.c: Ditto. - * gcc.target/i386/sse-12.c: Add -mavx512vbmi2. - * gcc.target/i386/sse-13.c: Ditto. - * gcc.target/i386/sse-14.c: Add -mavx512vbmi2 and tests. - * gcc.target/i386/sse-22.c: Ditto. - -2020-02-14 Jakub Jelinek - - Partially implement P1042R1: __VA_OPT__ wording clarifications - PR preprocessor/92319 - * c-c++-common/cpp/va-opt-4.c: New test. - -2020-02-13 Jakub Jelinek - - PR c/93576 - * gcc.dg/pr93576.c: New test. - -2020-02-13 Sandra Loosemore - - * g++.dg/cpp0x/constexpr-static13.C: - Add -fdelete-null-pointer-checks. - * g++.dg/cpp2a/constexpr-new11.C: Likewise. - * g++.dg/cpp2a/constexpr-new12.C: Likewise. - -2020-02-13 H.J. Lu - - PR target/93656 - * gcc.target/i386/pr93656.c: New test. - -2020-02-13 Claudiu Zissulescu - - * gcc.target/arc/nps400-1.c: Update test. - -2020-02-13 Claudiu Zissulescu - - * gcc.target/arc/or-cnst-size2.c: Update test. - -2020-02-13 Claudiu Zissulescu - Petro Karashchenko - - * gcc.target/arc/mul64-1.c: New test. - -2020-02-13 Jakub Jelinek - - PR target/93696 - * gcc.target/i386/pr93696-1.c: New test. - * gcc.target/i386/pr93696-2.c: New test. - * gcc.target/i386/avx512bitalg-vpopcntw-1.c (TEST): Fix argument order - of _mm*_mask_popcnt_*. - * gcc.target/i386/avx512vpopcntdq-vpopcntq-1.c (TEST): Likewise. - * gcc.target/i386/avx512vpopcntdq-vpopcntd-1.c (TEST): Likewise. - * gcc.target/i386/avx512bitalg-vpopcntb-1.c (TEST): Likewise. - * gcc.target/i386/avx512bitalg-vpopcntb.c (foo): Likewise. - * gcc.target/i386/avx512bitalg-vpopcntbvl.c (foo): Likewise. - * gcc.target/i386/avx512vpopcntdq-vpopcntd.c (foo): Likewise. - * gcc.target/i386/avx512bitalg-vpopcntwvl.c (foo): Likewise. - * gcc.target/i386/avx512bitalg-vpopcntw.c (foo): Likewise. - * gcc.target/i386/avx512vpopcntdq-vpopcntq.c (foo): Likewise. - - PR tree-optimization/93582 - * gcc.dg/tree-ssa/pr93582-1.c: New test. - * gcc.dg/tree-ssa/pr93582-2.c: New test. - * gcc.dg/tree-ssa/pr93582-3.c: New test. - -2020-02-13 Richard Biener - - PR testsuite/93717 - * gcc.dg/optimize-bswapsi-2.c: Add BE case. - -2020-02-13 Jakub Jelinek - - PR target/93673 - * gcc.target/i386/avx512f-pr93673.c: New test. - * gcc.target/i386/avx512dq-pr93673.c: New test. - * gcc.target/i386/avx512bw-pr93673.c: New test. - - * g++.dg/analyzer/pr93212.C: Require c++14 rather than c++11. - -2020-02-12 Iain Sandoe - - * g++.dg/coroutines/coro1-allocators.h: New. - * g++.dg/coroutines/coro-bad-alloc-00-bad-op-new.C: New test. - * g++.dg/coroutines/coro-bad-alloc-01-bad-op-del.C: New test. - * g++.dg/coroutines/coro-bad-alloc-02-no-op-new-nt.C: New test. - * g++.dg/coroutines/torture/alloc-00-gro-on-alloc-fail.C: Use new - coro1-allocators.h header. - * g++.dg/coroutines/torture/alloc-01-overload-newdel.C: Likewise. - * g++.dg/coroutines/torture/alloc-02-fail-new-grooaf-check.C: New. - * g++.dg/coroutines/torture/alloc-03-overload-new-1.C: New test. - * g++.dg/coroutines/torture/alloc-04-overload-del-use-two-args.C:New. - -2020-02-12 Jakub Jelinek - - * gcc.target/powerpc/pr93122.c: Use -mprefixed instead of - -mprefixed-addr in dg-options. - - PR middle-end/93663 - * gcc.dg/torture/builtin-round-roundeven.c (main): Add tests - for DBL_MAX, inf, their negations and nan. - -2020-02-12 Martin Sebor - - PR middle-end/93646 - * gcc.dg/Wstringop-overflow-31.c: New test. - -2020-02-12 Wilco Dijkstra - - PR rtl-optimization/93565 - * gcc.target/aarch64/pr93565.c: New test. - -2020-02-12 Wilco Dijkstra - - * gcc.target/aarch64/popcnt2.c: New test. - -2020-02-12 Marek Polacek - - PR c++/88819 - * g++.dg/cpp2a/nontype-class32.C: New test. - -2020-02-12 Marek Polacek - - PR c++/93684 - ICE-on-invalid with broken attribute. - * g++.dg/parse/attr4.C: New test. - -2020-02-12 Jakub Jelinek - - PR target/93670 - * gcc.target/i386/avx512vl-pr93670.c: New test. - -2020-02-12 Richard Biener - - PR testsuite/93697 - * gcc.dg/pr93661.c: Pass -w, remove dg-warning. - -2020-02-11 David Malcolm - - PR analyzer/93288 - * g++.dg/analyzer/malloc.C: Add test coverage for a double-free - called in a constructor. - * g++.dg/analyzer/pr93288.C: New test. - -2020-02-11 David Malcolm - - PR analyzer/93212 - * g++.dg/analyzer/analyzer.exp: New subdirectory and .exp suite. - * g++.dg/analyzer/malloc.C: New test. - * g++.dg/analyzer/pr93212.C: New test. - -2020-02-11 Martin Sebor - - PR tree-optimization/93683 - * gcc.dg/tree-ssa/ssa-dse-39.c: New test. - -2020-02-11 Will Schmidt - - * lib/target-supports.exp (check_effective_target_ppc_ieee128_ok): New. - * gcc.target/powerpc/pr92796.c: Add a require-effective-target - statement for ppc_ieee128_ok. - -2020-02-11 David Malcolm - - PR analyzer/93374 - * gcc.dg/analyzer/torture/pr93374.c: New test. - -2020-02-11 David Malcolm - - PR analyzer/93669 - * gcc.dg/analyzer/pr93669.c: New test. - -2020-02-11 David Malcolm - - PR analyzer/93649 - * gcc.dg/analyzer/torture/pr93649.c: New test. - -2020-02-11 Will Schmidt - - * gcc.target/powerpc/pr70010-2.c: Add -maltivec. - * gcc.target/powerpc/pr70010-3.c: Add -maltivec. - -2020-02-11 Stam Markianos-Wright - - * gcc.target/arm/simd/vdot-2-1.c: New test. - * gcc.target/arm/simd/vdot-2-2.c: New test. - * gcc.target/arm/simd/vdot-2-3.c: New test. - * gcc.target/arm/simd/vdot-2-4.c: New test. - -2020-02-11 Richard Biener - - PR tree-optimization/93661 - PR tree-optimization/93662 - * gcc.dg/pr93661.c: New testcase. - -2020-02-12 Patrick Palka - - PR c++/69448 - PR c++/80471 - * g++.dg/concepts/abbrev3.C: New test. - * g++.dg/cpp2a/concepts-pr80471.C: Adjust a static_assert to expect the - correct behavior. - * g++.dg/cpp0x/auto9.C: Adjust a dg-error directive. - - * g++.dg/cpp2a/concepts6.C: New test. - -2020-02-10 David Malcolm - - PR analyzer/93350 - * gcc.dg/analyzer/torture/pr93350.c: New test. - -2020-02-10 David Malcolm - - PR analyzer/93647 - * gcc.dg/analyzer/torture/pr93647.c: New test. - -2020-02-10 Jakub Jelinek - - PR target/93637 - * gcc.target/i386/avx-pr93637.c: New test. - -2020-02-10 David Malcolm - - PR analyzer/93405 - * gfortran.dg/analyzer/pr93405.f90: New test. - -2020-02-10 David Malcolm - - * gfortran.dg/analyzer/analyzer.exp: New subdirectory and .exp - suite. - * gfortran.dg/analyzer/malloc-example.f90: New test. - * gfortran.dg/analyzer/malloc.f90: New test. - -2020-02-10 Martin Sebor - - PR c/93640 - * gcc.dg/attr-access.c: New test. - -2020-02-10 Hans-Peter Nilsson - - * gcc.target/cris/cris.exp (check_effective_target_cc0): New. - - PR target/93372 - * gcc.target/cris/pr93372-1.c, gcc.target/cris/pr93372-2.c, - gcc.target/cris/pr93372-5.c, gcc.target/cris/pr93372-8.c, - gcc.target/cris/pr93372-3.c, gcc.target/cris/pr93372-4.c, - gcc.target/cris/pr93372-6.c, gcc.target/cris/pr93372-7.c, - gcc.target/cris/pr93372-9.c, gcc.target/cris/pr93372-10.c, - gcc.target/cris/pr93372-11.c, gcc.target/cris/pr93372-12.c, - gcc.target/cris/pr93372-13.c, gcc.target/cris/pr93372-14.c, - gcc.target/cris/pr93372-15.c, gcc.target/cris/pr93372-16.c, - gcc.target/cris/pr93372-17.c, gcc.target/cris/pr93372-18.c, - gcc.target/cris/pr93372-19.c, gcc.target/cris/pr93372-20.c, - gcc.target/cris/pr93372-21.c, gcc.target/cris/pr93372-22.c, - gcc.target/cris/pr93372-23.c, gcc.target/cris/pr93372-24.c, - gcc.target/cris/pr93372-25.c, gcc.target/cris/pr93372-26.c, - gcc.target/cris/pr93372-27.c, gcc.target/cris/pr93372-28.c, - gcc.target/cris/pr93372-29.c, gcc.target/cris/pr93372-30.c, - gcc.target/cris/pr93372-31.c, gcc.target/cris/pr93372-32.c, - gcc.target/cris/pr93372-33.c, gcc.target/cris/pr93372-34.c, - gcc.target/cris/pr93372-35.c, gcc.target/cris/dbr-1.c: New tests. - -2020-02-10 Jakub Jelinek - - PR target/91913 - * gfortran.dg/pr91913.f90: New test. - -2020-02-10 H.J. Lu - - PR libgcc/85334 - * g++.target/i386/pr85334-1.C: New test. - * g++.target/i386/pr85334-2.C: Likewise. - -2020-02-10 Jakub Jelinek - - PR other/93641 - * gcc.dg/format/gcc_diag-11.c (test_cdiag_bad_words): Add two further - tests. - -2020-02-10 Feng Xue - - PR ipa/93203 - * g++.dg/ipa/pr93203.C: New test. - * gcc.dg/ipa/ipcp-1: Change dump string. - -2020-02-09 Uroš Bizjak - - * gcc.target/i386/pr91333.c (dg-do): Fix target selector. - -2020-02-09 Jakub Jelinek - - PR c++/93633 - * g++.dg/cpp2a/constexpr-new11.C: New test. - * g++.dg/cpp2a/constexpr-new12.C: New test. - * g++.dg/cpp2a/constexpr-new13.C: New test. - -2020-02-08 Andrew Pinski - - PR target/91927 - * gcc.target/aarch64/pr91927.c: New testcase. - -2020-02-08 Peter Bergner - - PR target/93136 - * gcc.dg/vmx/ops.c: Add -flax-vector-conversions to dg-options. - * gcc.target/powerpc/vsx-vector-6.h: Split tests into smaller functions. - * gcc.target/powerpc/vsx-vector-6.p7.c: Adjust scan-assembler-times - regex directives. Adjust expected instruction counts. - * gcc.target/powerpc/vsx-vector-6.p8.c: Likewise. - * gcc.target/powerpc/vsx-vector-6.p9.c: Likewise. - -2020-02-08 Jakub Jelinek - - PR c++/93549 - * g++.dg/ext/constexpr-pr93549.C: New test. - -2020-02-08 Uroš Bizjak - Jakub Jelinek - - PR target/65782 - * gcc.target/i386/pr65782.c: New test. - -2020-02-07 Marek Polacek - - PR c++/92947 - Paren init of aggregates in unevaluated context. - * g++.dg/cpp2a/paren-init21.C: New test. - -2020-02-07 Will Schmidt - - * testsuite/gcc.target/powerpc/pr92923-1.c: Add -mvsx. - -2020-02-07 Dennis Zhang - - * gcc.target/aarch64/simd/vmmla.c: New test. - -2020-02-07 Richard Biener - - PR middle-end/93519 - * gcc.dg/Wrestrict-21.c: New testcase. - -2020-02-07 H.J. Lu - - PR target/85667 - * gcc.target/i386/pr85667-10.c: New test. - * gcc.target/i386/pr85667-7.c: Likewise. - * gcc.target/i386/pr85667-8.c: Likewise. - * gcc.target/i386/pr85667-9.c: Likewise. - -2020-02-07 Jakub Jelinek - - PR target/93122 - * gcc.target/powerpc/pr93122.c: New test. - -2020-02-07 Paolo Carlini - - PR c++/89404 - * g++.dg/ext/vla21.C: New. - -2020-02-07 Jakub Jelinek - - PR target/93615 - * gcc.dg/pr93615.c: New test. - - PR target/93611 - * gcc.target/i386/pr93611.c: New test. - -2020-02-06 David Malcolm - - PR analyzer/93375 - * gcc.dg/analyzer/pr93375.c: Rework test case to avoid per-target - differences in how __builtin_memcpy has been optimized at the time - the analyzer runs. - -2020-02-06 David Malcolm - - * gcc.dg/analyzer/torture/intptr_t.c: New test. - -2020-02-06 Segher Boessenkool - - * gcc.target/powerpc/pr93012.c: New. - -2020-02-06 Richard Sandiford - - PR target/87763 - * gcc.target/aarch64/movk_2.c: New test. - -2020-02-06 Uroš Bizjak - - * gcc.target/i386/memcpy-strategy-1.c (dg-final): - Unify scan-assembler strings for all targets. - * gcc.target/i386/memcpy-strategy-2.c (dg-final): Ditto. - * gcc.target/i386/memcpy-strategy-3.c (dg-final): Ditto. - * gcc.target/i386/memcpy-vector_loop-1.c (dg-final): Ditto. - -2020-02-06 Marek Polacek - - PR c++/93597 - ICE with lambda in operator function. - * g++.dg/cpp0x/lambda/lambda-93597.C: New test. - -2020-02-06 Tobias Burnus - - * gcc.target/arm/multilib.exp (multilib_config): Pass flags to - …_target_compile as (additional_flags=) option and not as source - filename to make it work with remote execution. - * lib/target-supports.exp (check_runtime, check_gc_sections_available, - check_effective_target_gas, check_effective_target_gld): Likewise. - -2020-02-06 Jakub Jelinek - - PR target/93594 - * gcc.target/i386/avx2-pr93594.c: New test. - -2020-02-05 Martin Sebor - - PR tree-optimization/92765 - * g++.dg/tree-ssa/strlenopt-1.C: New test. - * g++.dg/tree-ssa/strlenopt-2.C: New test. - * gcc.dg/Warray-bounds-58.c: New test. - * gcc.dg/Wrestrict-20.c: Avoid a valid -Wformat-overflow. - * gcc.dg/Wstring-compare.c: Xfail a test. - * gcc.dg/strcmpopt_2.c: Disable tests. - * gcc.dg/strcmpopt_4.c: Adjust tests. - * gcc.dg/strcmpopt_10.c: New test. - * gcc.dg/strcmpopt_11.c: New test. - * gcc.dg/strlenopt-69.c: Disable tests. - * gcc.dg/strlenopt-92.c: New test. - * gcc.dg/strlenopt-93.c: New test. - * gcc.dg/strlenopt.h: Declare calloc. - * gcc.dg/tree-ssa/pr92056.c: Xfail tests until pr93518 is resolved. - * gcc.dg/tree-ssa/builtin-sprintf-warn-23.c: Correct test (pr93517). - -2020-02-05 Marek Polacek - - PR c++/93559 - ICE with CONSTRUCTOR flags verification. - * g++.dg/cpp0x/initlist119.C: New test. - * g++.dg/cpp0x/initlist120.C: New test. - -2020-02-05 Jakub Jelinek - - PR c++/93557 - * c-c++-common/Wunused-var-17.c: New test. - -2020-02-05 Jeff Law - - * gcc.target/hppa/shadd-3.c: Disable delay slot filling and - adjust expected shadd insn count appropriately. - -2020-02-05 David Malcolm - - * gcc.dg/analyzer/data-model-1.c: Update for changed output to - __analyzer_dump_exploded_nodes, dropping redundant call at merger. - * gcc.dg/analyzer/data-model-7.c: Likewise. - * gcc.dg/analyzer/loop-2.c: Update for changed output format. - * gcc.dg/analyzer/loop-2a.c: Likewise. - * gcc.dg/analyzer/loop-4.c: Likewise. - * gcc.dg/analyzer/loop.c: Likewise. - * gcc.dg/analyzer/malloc-paths-10.c: Likewise; drop redundant - call at merger. - * gcc.dg/analyzer/malloc-vs-local-1a.c: Likewise. - * gcc.dg/analyzer/malloc-vs-local-1b.c: Likewise. - * gcc.dg/analyzer/malloc-vs-local-2.c: Likewise. - * gcc.dg/analyzer/malloc-vs-local-3.c: Likewise. - * gcc.dg/analyzer/paths-1.c: Likewise. - * gcc.dg/analyzer/paths-1a.c: Likewise. - * gcc.dg/analyzer/paths-2.c: Likewise. - * gcc.dg/analyzer/paths-3.c: Likewise. - * gcc.dg/analyzer/paths-4.c: Update for changed output format. - * gcc.dg/analyzer/paths-5.c: Likewise. - * gcc.dg/analyzer/paths-6.c: Likewise; drop redundant calls - at merger. - * gcc.dg/analyzer/paths-7.c: Likewise. - * gcc.dg/analyzer/torture/conditionals-2.c: Update for changed - output format. - * gcc.dg/analyzer/zlib-1.c: Likewise; drop redundant calls. - * gcc.dg/analyzer/zlib-5.c: Update for changed output format. - -2020-02-05 Jakub Jelinek - - PR target/92190 - * gcc.target/i386/pr92190.c: New test. - -2020-02-05 Richard Biener - - PR testsuite/92177 - * gcc.dg/vect/bb-slp-22.c: Adjust. - -2020-02-05 Richard Biener - - PR middle-end/90648 - * gcc.dg/pr90648.c: New testcase. - -2020-02-05 Jakub Jelinek - - PR middle-end/93555 - * c-c++-common/gomp/pr93555-1.c: New test. - * c-c++-common/gomp/pr93555-2.c: New test. - * gfortran.dg/gomp/pr93555.f90: New test. - -2020-02-05 Jun Ma - - * g++.dg/coroutines/co-await-14-return-ref-to-auto.C: New test. - -2020-02-04 David Malcolm - - * gcc.dg/analyzer/data-model-1.c (struct coord): Convert fields - from int to long. - -2020-02-04 Richard Biener - - PR tree-optimization/93538 - * gcc.dg/tree-ssa/forwprop-38.c: New testcase. - -2020-02-04 Jakub Jelinek - - * c-c++-common/cpp/has-include-1.c: New test. - * c-c++-common/cpp/has-include-next-1.c: New test. - * c-c++-common/gomp/has-include-1.c: New test. - - PR preprocessor/93545 - * c-c++-common/cpp/pr88974.c: Expect another diagnostics during error - recovery. - * c-c++-common/cpp/pr93545-1.c: New test. - * c-c++-common/cpp/pr93545-2.c: New test. - * c-c++-common/cpp/pr93545-3.c: New test. - * c-c++-common/cpp/pr93545-4.c: New test. - -2020-02-04 Iain Sandoe - - * g++.dg/coroutines/coro-missing-promise.C: New test. - -2020-02-04 Richard Biener - - PR tree-optimization/91123 - * gcc.dg/tree-ssa/ssa-fre-85.c: New testcase. - -2020-02-04 Richard Biener - - PR tree-optimization/92819 - * gcc.target/i386/pr92819.c: New testcase. - * gcc.target/i386/pr92803.c: Adjust. - -2020-02-03 Iain Sandoe - - PR c++/93458 - * g++.dg/coroutines/pr93458-1-missing-traits.C: New test. - * g++.dg/coroutines/pr93458-2-bad-traits.C: New test. - * g++.dg/coroutines/pr93458-3-missing-handle.C: New test. - * g++.dg/coroutines/pr93458-4-bad-coro-handle.C: New test. - * g++.dg/coroutines/pr93458-5-bad-coro-type.C: New test. - -2020-02-03 David Malcolm - - PR analyzer/93544 - * gcc.dg/analyzer/torture/pr93544.c: New test. - -2020-02-03 David Malcolm - - PR analyzer/93546 - * gcc.dg/analyzer/pr93546.c: New test. - -2020-02-03 David Malcolm - - PR analyzer/93547 - * gcc.dg/analyzer/pr93547.c: New test. - -2020-02-03 Stam Markianos-Wright - - PR target/91816 - * gcc.target/arm/pr91816.c: New test. - -2020-02-03 Julian Brown - Tobias Burnus - - * c-c++-common/cpp/openacc-define-3.c: Update expected value for - _OPENACC define. - * gfortran.dg/openacc-define-3.f90: Likewise. - -2020-02-03 Tobias Burnus - - PR fortran/93427 - * gfortran.dg/associate_52.f90: New. - -2020-02-03 Jakub Jelinek - - PR target/93533 - * gcc.c-torture/compile/pr93533.c: New test. - * gcc.target/s390/pr93533.c: New test. - -2020-02-03 Jun Ma - - * g++.dg/coroutines/co-await-04-control-flow.C: Add label. - -2020-02-02 Marek Polacek - - PR c++/93530 - ICE on invalid alignas in a template. - * g++.dg/cpp0x/alignas18.C: New test. - -2020-02-02 Iain Sandoe - - * gcc.target/powerpc/darwin-abi-12.c: Add '-fcommon' to the - options. - -2020-02-02 Vladimir Makarov - - PR rtl-optimization/91333 - * gcc.target/i386/pr91333.c: Add vmovsd to regexp. Set up count - to 3. - -2020-01-31 Sandra Loosemore - - nios2: Support for GOT-relative DW_EH_PE_datarel encoding. - - * g++.target/nios2/hello-pie.C: New. - * g++.target/nios2/nios2.exp: New. - -2020-01-31 David Malcolm - - PR analyzer/93457 - * gcc.dg/analyzer/pr93457.c: New test. - -2020-01-31 David Malcolm - - PR analyzer/93373 - * gcc.dg/analyzer/torture/pr93373.c: New test. - -2020-01-31 Vladimir Makarov - - PR rtl-optimization/91333 - * gcc.target/i386/pr91333.c: New. - -2020-01-31 David Malcolm - - PR analyzer/93379 - * gcc.dg/analyzer/torture/pr93379-2.c: New test. - * gcc.dg/analyzer/torture/pr93379.c: New test. - -2020-01-31 David Malcolm - - PR analyzer/93438 - * gcc.dg/analyzer/torture/pr93438.c: New test. - * gcc.dg/analyzer/torture/pr93438-2.c: New test. - -2020-01-31 Jakub Jelinek - - PR rtl-optimization/91838 - * g++.dg/pr91838.C: Moved to ... - * g++.dg/opt/pr91838.C: ... here. Require c++11 target instead of - dg-skip-if for c++98. Pass -Wno-psabi -w to avoid psabi style - warnings on vector arg passing or return. Add -masm=att on i?86/x86_64. - Only check for pxor %xmm0, %xmm0 on lp64 i?86/x86_64. - -2020-01-31 Richard Sandiford - - * lib/target-supports.exp (check_effective_target_aarch64_asm_bf16_ok): - New proc. - * gcc.target/aarch64/sve/acle/asm/bfdot_f32.c: New test. - * gcc.target/aarch64/sve/acle/asm/bfdot_lane_f32.c: Likweise. - * gcc.target/aarch64/sve/acle/asm/bfmlalb_f32.c: Likweise. - * gcc.target/aarch64/sve/acle/asm/bfmlalb_lane_f32.c: Likweise. - * gcc.target/aarch64/sve/acle/asm/bfmlalt_f32.c: Likweise. - * gcc.target/aarch64/sve/acle/asm/bfmlalt_lane_f32.c: Likweise. - * gcc.target/aarch64/sve/acle/asm/bfmmla_f32.c: Likweise. - * gcc.target/aarch64/sve/acle/asm/cvt_bf16.c: Likweise. - * gcc.target/aarch64/sve/acle/asm/cvtnt_bf16.c: Likweise. - * gcc.target/aarch64/sve/acle/general-c/ternary_bfloat16_1.c: Likweise. - * gcc.target/aarch64/sve/acle/general-c/ternary_bfloat16_lane_1.c: - Likweise. - * gcc.target/aarch64/sve/acle/general-c/ternary_bfloat16_lanex2_1.c: - Likweise. - * gcc.target/aarch64/sve/acle/general-c/ternary_bfloat16_opt_n_1.c: - Likweise. - -2020-01-31 Richard Sandiford - - * g++.target/aarch64/sve/acle/general-c++/mangle_1.C: Test mangling - of svbfloat16_t. - * g++.target/aarch64/sve/acle/general-c++/mangle_2.C: Likewise for - __SVBfloat16_t. - * gcc.target/aarch64/sve/acle/asm/clasta_bf16.c: New test. - * gcc.target/aarch64/sve/acle/asm/clastb_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/cnt_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/create2_1.c (create_bf16): Likewise. - * gcc.target/aarch64/sve/acle/asm/create3_1.c (create_bf16): Likewise. - * gcc.target/aarch64/sve/acle/asm/create4_1.c (create_bf16): Likewise. - * gcc.target/aarch64/sve/acle/asm/dup_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/dup_lane_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/dupq_lane_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ext_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/get2_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/get3_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/get4_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/insr_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/lasta_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/lastb_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ro_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1rq_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld2_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld3_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld4_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnf1_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnt1_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/len_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/reinterpret_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/reinterpret_f16.c - (reinterpret_f16_bf16_tied1, reinterpret_f16_bf16_untied): Likewise. - * gcc.target/aarch64/sve/acle/asm/reinterpret_f32.c - (reinterpret_f32_bf16_tied1, reinterpret_f32_bf16_untied): Likewise. - * gcc.target/aarch64/sve/acle/asm/reinterpret_f64.c - (reinterpret_f64_bf16_tied1, reinterpret_f64_bf16_untied): Likewise. - * gcc.target/aarch64/sve/acle/asm/reinterpret_s16.c - (reinterpret_s16_bf16_tied1, reinterpret_s16_bf16_untied): Likewise. - * gcc.target/aarch64/sve/acle/asm/reinterpret_s32.c - (reinterpret_s32_bf16_tied1, reinterpret_s32_bf16_untied): Likewise. - * gcc.target/aarch64/sve/acle/asm/reinterpret_s64.c - (reinterpret_s64_bf16_tied1, reinterpret_s64_bf16_untied): Likewise. - * gcc.target/aarch64/sve/acle/asm/reinterpret_s8.c - (reinterpret_s8_bf16_tied1, reinterpret_s8_bf16_untied): Likewise. - * gcc.target/aarch64/sve/acle/asm/reinterpret_u16.c - (reinterpret_u16_bf16_tied1, reinterpret_u16_bf16_untied): Likewise. - * gcc.target/aarch64/sve/acle/asm/reinterpret_u32.c - (reinterpret_u32_bf16_tied1, reinterpret_u32_bf16_untied): Likewise. - * gcc.target/aarch64/sve/acle/asm/reinterpret_u64.c - (reinterpret_u64_bf16_tied1, reinterpret_u64_bf16_untied): Likewise. - * gcc.target/aarch64/sve/acle/asm/reinterpret_u8.c - (reinterpret_u8_bf16_tied1, reinterpret_u8_bf16_untied): Likewise. - * gcc.target/aarch64/sve/acle/asm/rev_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/sel_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/set2_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/set3_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/set4_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/splice_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st2_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st3_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st4_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/stnt1_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/tbl_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn1_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn1q_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn2_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn2q_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/undef2_1.c (bfloat16_t): Likewise. - * gcc.target/aarch64/sve/acle/asm/undef3_1.c (bfloat16_t): Likewise. - * gcc.target/aarch64/sve/acle/asm/undef4_1.c (bfloat16_t): Likewise. - * gcc.target/aarch64/sve/acle/asm/undef_1.c (bfloat16_t): Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp1_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp1q_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp2_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp2q_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip1_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip1q_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip2_bf16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip2q_bf16.c: Likewise. - * gcc.target/aarch64/sve/pcs/annotate_1.c (ret_bf16, ret_bf16x2) - (ret_bf16x3, ret_bf16x4): Likewise. - * gcc.target/aarch64/sve/pcs/annotate_2.c (fn_bf16, fn_bf16x2) - (fn_bf16x3, fn_bf16x4): Likewise. - * gcc.target/aarch64/sve/pcs/annotate_3.c (fn_bf16, fn_bf16x2) - (fn_bf16x3, fn_bf16x4): Likewise. - * gcc.target/aarch64/sve/pcs/annotate_4.c (fn_bf16, fn_bf16x2) - (fn_bf16x3, fn_bf16x4): Likewise. - * gcc.target/aarch64/sve/pcs/annotate_5.c (fn_bf16, fn_bf16x2) - (fn_bf16x3, fn_bf16x4): Likewise. - * gcc.target/aarch64/sve/pcs/annotate_6.c (fn_bf16, fn_bf16x2) - (fn_bf16x3, fn_bf16x4): Likewise. - * gcc.target/aarch64/sve/pcs/annotate_7.c (fn_bf16, fn_bf16x2) - (fn_bf16x3, fn_bf16x4): Likewise. - * gcc.target/aarch64/sve/pcs/args_5_be_bf16.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_5_le_bf16.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_6_be_bf16.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_6_le_bf16.c: Likewise. - * gcc.target/aarch64/sve/pcs/gnu_vectors_1.c (bfloat16x16_t): New - typedef. - (bfloat16_callee, bfloat16_caller): New tests. - * gcc.target/aarch64/sve/pcs/gnu_vectors_2.c (bfloat16x16_t): New - typedef. - (bfloat16_callee, bfloat16_caller): New tests. - * gcc.target/aarch64/sve/pcs/return_4.c (CALLER_BF16): New macro. - (callee_bf16, caller_bf16): New tests. - * gcc.target/aarch64/sve/pcs/return_4_128.c (CALLER_BF16): New macro. - (callee_bf16, caller_bf16): New tests. - * gcc.target/aarch64/sve/pcs/return_4_256.c (CALLER_BF16): New macro. - (callee_bf16, caller_bf16): New tests. - * gcc.target/aarch64/sve/pcs/return_4_512.c (CALLER_BF16): New macro. - (callee_bf16, caller_bf16): New tests. - * gcc.target/aarch64/sve/pcs/return_4_1024.c (CALLER_BF16): New macro. - (callee_bf16, caller_bf16): New tests. - * gcc.target/aarch64/sve/pcs/return_4_2048.c (CALLER_BF16): New macro. - (callee_bf16, caller_bf16): New tests. - * gcc.target/aarch64/sve/pcs/return_5.c (CALLER_BF16): New macro. - (callee_bf16, caller_bf16): New tests. - * gcc.target/aarch64/sve/pcs/return_5_128.c (CALLER_BF16): New macro. - (callee_bf16, caller_bf16): New tests. - * gcc.target/aarch64/sve/pcs/return_5_256.c (CALLER_BF16): New macro. - (callee_bf16, caller_bf16): New tests. - * gcc.target/aarch64/sve/pcs/return_5_512.c (CALLER_BF16): New macro. - (callee_bf16, caller_bf16): New tests. - * gcc.target/aarch64/sve/pcs/return_5_1024.c (CALLER_BF16): New macro. - (callee_bf16, caller_bf16): New tests. - * gcc.target/aarch64/sve/pcs/return_5_2048.c (CALLER_BF16): New macro. - (callee_bf16, caller_bf16): New tests. - * gcc.target/aarch64/sve/pcs/return_6.c (bfloat16_t): New typedef. - (callee_bf16, caller_bf16): New tests. - * gcc.target/aarch64/sve/pcs/return_6_128.c (bfloat16_t): New typedef. - (callee_bf16, caller_bf16): New tests. - * gcc.target/aarch64/sve/pcs/return_6_256.c (bfloat16_t): New typedef. - (callee_bf16, caller_bf16): New tests. - * gcc.target/aarch64/sve/pcs/return_6_512.c (bfloat16_t): New typedef. - (callee_bf16, caller_bf16): New tests. - * gcc.target/aarch64/sve/pcs/return_6_1024.c (bfloat16_t): New typedef. - (callee_bf16, caller_bf16): New tests. - * gcc.target/aarch64/sve/pcs/return_6_2048.c (bfloat16_t): New typedef. - (callee_bf16, caller_bf16): New tests. - * gcc.target/aarch64/sve/pcs/return_7.c (callee_bf16): Likewise - (caller_bf16): Likewise. - * gcc.target/aarch64/sve/pcs/return_8.c (callee_bf16): Likewise - (caller_bf16): Likewise. - * gcc.target/aarch64/sve/pcs/return_9.c (callee_bf16): Likewise - (caller_bf16): Likewise. - * gcc.target/aarch64/sve2/acle/asm/tbl2_bf16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/tbx_bf16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilerw_bf16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilewr_bf16.c: Likewise. - -2020-01-31 Dennis Zhang - Matthew Malcomson - Richard Sandiford - - * lib/target-supports.exp (check_effective_target_aarch64_asm_i8mm_ok) - (check_effective_target_aarch64_asm_f32mm_ok): New target selectors. - * gcc.target/aarch64/pragma_cpp_predefs_2.c: Test handling of - __ARM_FEATURE_SVE_MATMUL_INT8, __ARM_FEATURE_SVE_MATMUL_FP32 and - __ARM_FEATURE_SVE_MATMUL_FP64. - * gcc.target/aarch64/sve/acle/asm/test_sve_acle.h (TEST_TRIPLE_Z): - (TEST_TRIPLE_Z_REV2, TEST_TRIPLE_Z_REV, TEST_TRIPLE_LANE_REG) - (TEST_TRIPLE_ZX): New macros. - * gcc.target/aarch64/sve/acle/asm/ld1ro_f16.c: Remove +sve and - rely on +f64mm to enable it. - * gcc.target/aarch64/sve/acle/asm/ld1ro_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ro_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ro_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ro_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ro_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ro_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ro_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ro_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ro_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ro_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/mmla_f32.c: New test. - * gcc.target/aarch64/sve/acle/asm/mmla_f64.c: Likewise, - * gcc.target/aarch64/sve/acle/asm/mmla_s32.c: Likewise, - * gcc.target/aarch64/sve/acle/asm/mmla_u32.c: Likewise, - * gcc.target/aarch64/sve/acle/asm/sudot_lane_s32.c: Likewise, - * gcc.target/aarch64/sve/acle/asm/sudot_s32.c: Likewise, - * gcc.target/aarch64/sve/acle/asm/trn1q_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn1q_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn1q_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn1q_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn1q_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn1q_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn1q_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn1q_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn1q_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn1q_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn1q_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn2q_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn2q_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn2q_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn2q_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn2q_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn2q_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn2q_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn2q_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn2q_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn2q_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/trn2q_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/usdot_lane_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/usdot_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/usmmla_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp1q_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp1q_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp1q_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp1q_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp1q_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp1q_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp1q_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp1q_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp1q_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp1q_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp1q_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp2q_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp2q_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp2q_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp2q_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp2q_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp2q_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp2q_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp2q_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp2q_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp2q_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/uzp2q_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip1q_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip1q_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip1q_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip1q_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip1q_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip1q_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip1q_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip1q_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip1q_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip1q_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip1q_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip2q_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip2q_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip2q_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip2q_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip2q_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip2q_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip2q_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip2q_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip2q_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip2q_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/zip2q_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/mmla_1.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/mmla_2.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/mmla_3.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/mmla_4.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/mmla_5.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/mmla_6.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/mmla_7.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/ternary_intq_uintq_lane_1.c: - Likewise. - * gcc.target/aarch64/sve/acle/general-c/ternary_intq_uintq_opt_n_1.c: - Likewise. - * gcc.target/aarch64/sve/acle/general-c/ternary_uintq_intq_1.c: - Likewise. - * gcc.target/aarch64/sve/acle/general-c/ternary_uintq_intq_lane_1.c: - Likewise. - * gcc.target/aarch64/sve/acle/general-c/ternary_uintq_intq_opt_n_1.c: - Likewise. - -2020-01-31 Richard Sandiford - - * gcc.target/aarch64/sve/pcs/args_1.c: Require lp64 for - check-function-bodies tests. - * gcc.target/aarch64/sve/pcs/args_2.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_3.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_4.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_1.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_1_256.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_1_512.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_1_1024.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_1_2048.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_2.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_3.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_4.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_4_256.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_4_512.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_4_1024.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_4_2048.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_5.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_5_256.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_5_512.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_5_1024.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_5_2048.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_6.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_6_256.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_6_512.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_6_1024.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_6_2048.c: Likewise. - * gcc.target/aarch64/sve/pcs/saves_2_be_nowrap.c: Likewise. - * gcc.target/aarch64/sve/pcs/saves_2_be_wrap.c: Likewise. - * gcc.target/aarch64/sve/pcs/saves_2_le_nowrap.c: Likewise. - * gcc.target/aarch64/sve/pcs/saves_2_le_wrap.c: Likewise. - * gcc.target/aarch64/sve/pcs/saves_3.c: Likewise. - * gcc.target/aarch64/sve/pcs/saves_4_be.c: Likewise. - * gcc.target/aarch64/sve/pcs/saves_4_le.c: Likewise. - * gcc.target/aarch64/sve/pcs/varargs_1.c: Likewise. - * gcc.target/aarch64/sve/pcs/varargs_2_f16.c: Likewise. - * gcc.target/aarch64/sve/pcs/varargs_2_f32.c: Likewise. - * gcc.target/aarch64/sve/pcs/varargs_2_f64.c: Likewise. - * gcc.target/aarch64/sve/pcs/varargs_2_s16.c: Likewise. - * gcc.target/aarch64/sve/pcs/varargs_2_s32.c: Likewise. - * gcc.target/aarch64/sve/pcs/varargs_2_s64.c: Likewise. - * gcc.target/aarch64/sve/pcs/varargs_2_s8.c: Likewise. - * gcc.target/aarch64/sve/pcs/varargs_2_u16.c: Likewise. - * gcc.target/aarch64/sve/pcs/varargs_2_u32.c: Likewise. - * gcc.target/aarch64/sve/pcs/varargs_2_u64.c: Likewise. - * gcc.target/aarch64/sve/pcs/varargs_2_u8.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_5_be_f16.c: Require lp64. - * gcc.target/aarch64/sve/pcs/args_5_be_f32.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_5_be_f64.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_5_be_s16.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_5_be_s32.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_5_be_s64.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_5_be_s8.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_5_be_u16.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_5_be_u32.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_5_be_u64.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_5_be_u8.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_5_le_f16.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_5_le_f32.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_5_le_f64.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_5_le_s16.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_5_le_s32.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_5_le_s64.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_5_le_s8.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_5_le_u16.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_5_le_u32.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_5_le_u64.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_5_le_u8.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_6_be_f16.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_6_be_f32.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_6_be_f64.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_6_be_s16.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_6_be_s32.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_6_be_s64.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_6_be_s8.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_6_be_u16.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_6_be_u32.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_6_be_u64.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_6_be_u8.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_6_le_f16.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_6_le_f32.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_6_le_f64.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_6_le_s16.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_6_le_s32.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_6_le_s64.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_6_le_s8.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_6_le_u16.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_6_le_u32.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_6_le_u64.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_6_le_u8.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_7.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_8.c: Likewise. - * gcc.target/aarch64/sve/pcs/args_9.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_4_128.c: Require lp64 and - aarch64_little_endian for check-function-bodies tests. - * gcc.target/aarch64/sve/pcs/return_5_128.c: Likewise. - * gcc.target/aarch64/sve/pcs/stack_clash_2_128.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_1_128.c: Likewise. Remove - target selector from dg-compile. - * gcc.target/aarch64/sve/pcs/return_6_128.c: Likewise. - -2020-01-31 Tobias Burnus - - PR fortran/93462 - * gfortran.dg/goacc/atomic-1.f90: New. - -2020-01-31 Tamar Christina - - PR rtl-optimization/91838 - * g++.dg/pr91838.C: New test. - -2020-01-30 David Malcolm - - * gcc.dg/analyzer/malloc-1.c: Remove include of . - Use __builtin_ forms of memset and strlen throughout. - -2020-01-30 David Malcolm - - * gcc.dg/analyzer/conditionals-2.c: Move to... - * gcc.dg/analyzer/torture/conditionals-2.c: ...here, converting - to a torture test. Remove redundant include. - -2020-01-30 David Malcolm - - PR analyzer/93356 - * gcc.dg/analyzer/conditionals-notrans.c (test_float_selfcmp): - Add. - * gcc.dg/analyzer/conditionals-trans.c: Mark floating point - comparison test as failing. - (test_float_selfcmp): Add. - * gcc.dg/analyzer/data-model-1.c: Mark floating point comparison - tests as failing. - * gcc.dg/analyzer/torture/pr93356.c: New test. - -2020-01-30 Jeff Law - - PR c/88660 - * gcc.dg/pr88660.c: New test - -2020-01-30 Jakub Jelinek - - PR lto/93384 - * gcc.dg/lto/pr93384_0.c: New test. - * gcc.dg/lto/pr93384_1.c: New file. - - PR middle-end/93505 - * gcc.c-torture/compile/pr93505.c: New test. - -2020-01-30 Jeff Law - - PR middle-end/92323 - * gcc.dg/Warray-bounds-57.c: New test. - -2020-01-30 David Malcolm - - PR analyzer/93450 - * gcc.dg/analyzer/torture/pr93450.c: New test. - -2020-01-30 Jakub Jelinek - - PR target/93494 - * gcc.c-torture/execute/pr93494.c: New test. - -2020-01-30 Paolo Carlini - - PR c++/90338 - * g++.dg/pr90338.C: New. - -2020-01-30 Jakub Jelinek - - PR target/91824 - * gcc.target/i386/pr91824-2.c: New test. - - PR target/91824 - * gcc.target/i386/pr91824-1.c: New test. - -2020-01-30 Bin Cheng - - * g++.dg/coroutines/co-await-syntax-09-convert.C: New test. - -2020-01-30 Jakub Jelinek - - PR tree-optimization/92706 - * gcc.dg/tree-ssa/pr92706-1.c: Require int128 effective target. - -2020-01-29 Marek Polacek - - PR c++/88092 - * g++.dg/cpp2a/nontype-class31.C: New test. - -2020-01-29 Jeff Law - - PR c++/91754 - Fix template arguments comparison with class NTTP. - * g++.dg/cpp2a/nontype-class30.C: New test. - -2020-01-29 Marek Polacek - - PR c++/92948 - Fix class NTTP with template arguments. - * g++.dg/cpp2a/nontype-class28.C: New test. - * g++.dg/cpp2a/nontype-class29.C: New test. - -2020-01-29 Joel Hutton - - PR target/93221 - * gcc.target/aarch64/pr93221.c: New test. - -2020-01-29 Martin Jambor - - PR tree-optimization/92706 - * gcc.dg/tree-ssa/pr92706-1.c: New test. - -2020-01-29 Martin Jambor - - PR tree-optimization/92706 - * gcc.dg/tree-ssa/pr92706-2.c: New test. - * gcc.dg/guality/pr59776.c: Xfail tests for s2.g. - -2020-01-28 Jan Hubicka - - * gcc.dg/tree-prof/indir-call-prof-2.c: New testcase. - -2020-01-29 Richard Sandiford - - PR testsuite/93393 - * gcc.dg/torture/pr93133.c: XFAIL for powerpc*-*-*. - -2020-01-29 Jakub Jelinek - - PR c++/91118 - * g++.dg/gomp/pr91118-1.C: New test. - * g++.dg/gomp/pr91118-2.C: New test. - - PR fortran/93463 - * gfortran.dg/goacc/pr93463.f90: New test. - -2020-01-29 Richard Biener - - PR tree-optimization/93428 - * gcc.dg/torture/pr93428.c: New testcase. - -2020-01-28 Martin Sebor - - PR middle-end/93437 - * g++.dg/warn/Wstringop-overflow-5.C: New test.a - -2020-01-28 Jan Hubicka - - * g++.dg/tree-prof/indir-call-prof.C: Update template. - * gcc.dg/tree-prof/crossmodule-indircall-1.c: Add more targets. - * gcc.dg/tree-prof/crossmodule-indircall-1a.c: Add more targets. - * gcc.dg/tree-prof/indir-call-prof.c: Update template. - -2020-01-28 H.J. Lu - - PR target/91461 - * gcc.target/i386/avx256-unaligned-store-2.c: Don't check - vmovups. - * gcc.target/i386/avx256-unaligned-store-3.c: Likewise. - * gcc.target/i386/pieces-memcpy-4.c: Likewise. - * gcc.target/i386/pieces-memcpy-5.c: Likewise. - * gcc.target/i386/pieces-memcpy-6.c: Likewise. - * gcc.target/i386/pieces-strcpy-2.c: Likewise. - * gcc.target/i386/pr90980-1.c: Likewise. - * gcc.target/i386/pr87317-4.c: Check "\tvmovd\t" instead of - "vmovd" to avoid matching "vmovdqu". - * gcc.target/i386/pr87317-5.c: Likewise. - * gcc.target/i386/pr87317-7.c: Likewise. - * gcc.target/i386/pr91461-1.c: New test. - * gcc.target/i386/pr91461-2.c: Likewise. - * gcc.target/i386/pr91461-3.c: Likewise. - * gcc.target/i386/pr91461-4.c: Likewise. - * gcc.target/i386/pr91461-5.c: Likewise. - -2020-01-28 David Malcolm - - * gcc.dg/plugin/diagnostic_plugin_test_metadata.c: Update for - renaming of warning_at overload to warning_meta. - * gcc.dg/plugin/diagnostic_plugin_test_paths.c: Likewise. - -2020-01-28 Tobias Burnus - Julian Brown - - * gfortran.dg/goacc/mapping-tests-2.f90: New test. - * gfortran.dg/goacc/subarrays.f95: Expect rejection of non-contiguous - array. - -2020-01-28 Julian Brown - - * gfortran.dg/goacc/deep-copy-2.f90: Move test here (from libgomp - testsuite). Make a compilation test, and expect rejection of mixed - component/non-component accesses. - * gfortran.dg/goacc/mapping-tests-1.f90: New test. - -2020-01-28 Tobias Burnus - Julian Brown - - * gfortran.dg/goacc/strided-alloc-ptr.f90: New test. - -2020-01-28 Richard Biener - - PR tree-optimization/93439 - * gfortran.dg/graphite/pr93439.f90: New testcase. - -2020-01-28 Sahahb Vahedi - - * gcc.target/arc/code-density-flag.c: New test - -2020-01-28 Tobias Burnus - - PR fortran/93464 - * gfortran.dg/goacc/pr93464.f90: New. - -2020-01-28 Richard Sandiford - - PR tree-optimization/93434 - * gcc.c-torture/execute/pr93434.c: New test. - -2020-01-28 Richard Sandiford - - PR testsuite/93460 - * gcc.dg/torture/pr93170.c: Add -Wpsabi. - -2020-01-28 Martin Liska - - PR c++/92440 - * g++.dg/template/pr92440.C: New test. - * g++.dg/cpp0x/vt-34314.C: Update error to note. - * g++.dg/template/pr59930-2.C: Likewise. - * g++.old-deja/g++.pt/redecl1.C: Likewise. - -2020-01-28 Jakub Jelinek - - PR target/93418 - * gcc.target/i386/avx2-pr93418.c: New test. - - PR tree-optimization/93454 - * gcc.dg/pr93454.c: New test. - -2020-01-27 David Malcolm - - PR analyzer/93451 - * gcc.dg/analyzer/torture/pr93451.c: New test. - -2020-01-27 Stam Markianos-Wright - - * gcc.target/arm/armv8_2-fp16-move-1.c: Update following load/store - optimisation. - -2020-01-27 David Malcolm - - PR analyzer/93349 - * gcc.dg/analyzer/torture/pr93349.c: New test. - -2020-01-27 David Malcolm - - PR analyzer/93291 - * gcc.dg/analyzer/pattern-test-2.c: Remove include of stdlib.h. - (test_2): Rewrite to explicitly perform a bitwise-or of two - boolean conditions. - (test_3): New function, to test bitwise-and. - -2020-01-27 Richard Sandiford - - PR testsuite/71727 - * gcc.target/aarch64/pr71727.c: Add -fcommon. - -2020-01-27 David Malcolm - - * gcc.dg/analyzer/sigsetjmp-5.c: New test. - * gcc.dg/analyzer/sigsetjmp-6.c: New test. - -2020-01-27 Richard Biener - - PR testsuite/91171 - * gcc.dg/graphite/scop-21.c: un-XFAIL. - -2020-01-27 Claudiu Zissulescu - - * gcc.target/arc/interrupt-6.c: Update test. - -2020-01-27 Claudiu Zissulescu - Petro Karashchenko - - * gcc.target/arc/uncached-3.c: New test. - * gcc.target/arc/uncached-4.c: Likewise. - * gcc.target/arc/uncached-5.c: Likewise. - * gcc.target/arc/uncached-6.c: Likewise. - * gcc.target/arc/uncached-7.c: Likewise. - * gcc.target/arc/uncached-8.c: Likewise. - * gcc.target/arc/arc.exp (ll64): New predicate. - -2020-01-27 Richard Sandiford - - * gcc.dg/torture/pr93170.c: New test. - -2020-01-27 Martin Liska - - PR target/93274 - * gcc.target/i386/pr81213.c: Adjust to not expect - a globally unique name. - -2020-01-27 Richard Biener - - PR tree-optimization/93397 - * gcc.dg/torture/pr93397.c: New testcase. - -2020-01-27 Tobias Burnus - - PR fortran/85781 - * gfortran.dg/bind_c_char_2.f90: New. - * gfortran.dg/bind_c_char_3.f90: New. - * gfortran.dg/bind_c_char_4.f90: New. - * gfortran.dg/bind_c_char_5.f90: New. - -2020-01-26 Rainer Orth - - * gcc.target/i386/pr91298-1.c: xfail on Solaris/x86 with native - assembler. - * gcc.target/i386/pr91298-2.c: Likewise. - -2020-01-26 Jakub Jelinek - - PR target/93412 - * gcc.dg/pr93412.c: New test. - - PR target/93430 - * gcc.dg/pr93430.c: New test. - * gcc.target/i386/avx2-pr93430.c: New test. - - PR ipa/93166 - * g++.dg/pr93166.C: Move to ... - * g++.dg/pr93166_0.C: ... here. Turn it into a proper lto test. - - PR tree-optimization/92788 - * g++.dg/pr92788.C: Move to ... - * g++.target/i386/pr92788.C: ... here. Remove target from dg-do line. - Change type of operator new's first parameter to __SIZE_TYPE__. - -2020-01-25 Marek Polacek - - PR c++/93414 - poor diagnostic for dynamic_cast in constexpr context. - * g++.dg/cpp2a/constexpr-dynamic18.C: New test. - -2020-01-25 Feng Xue - - PR ipa/93166 - * g++.dg/pr93166.C: New test. - -2020-01-25 Andrew Pinski - - * gcc.target/aarch64/vec_zeroextend.c: Fix for big-endian. - -2020-01-24 Jeff Law - - PR target/93395 - * gcc.target/i386/pr93395.c: New test. - * gcc.target/i386/avx512vl-vpermilpdi-1.c: Remove xfail. - -2020-01-24 Marek Polacek - - PR c++/93299 - ICE in tsubst_copy with parenthesized expression. - * g++.dg/cpp1y/paren5.C: New test. - -2020-01-24 Sandra Loosemore - - * g++.dg/cpp0x/constexpr-odr1.C: Add -fdelete-null-pointer-checks. - * g++.dg/cpp0x/constexpr-odr2.C: Likewise. - * g++.dg/cpp0x/nontype4.C: Likewise. - * g++.dg/cpp1y/constexpr-new.C: Likewise. - * g++.dg/cpp1y/new1.C: Likewise. - * g++.dg/cpp1y/new2.C: Likewise. - * g++.dg/cpp2a/constexpr-dynamic11.C: Likewise. - * g++.dg/cpp2a/constexpr-dynamic17.C: Likewise. - * g++.dg/cpp2a/constexpr-dynamic4.C: Likewise. - * g++.dg/cpp2a/constexpr-new1.C: Likewise. - * g++.dg/cpp2a/constexpr-new10.C: Likewise. - * g++.dg/cpp2a/constexpr-new2.C: Likewise. - * g++.dg/cpp2a/constexpr-new3.C: Likewise. - * g++.dg/cpp2a/constexpr-new4.C: Likewise. - * g++.dg/cpp2a/constexpr-new8.C: Likewise. - * g++.dg/cpp2a/constexpr-new9.C: Likewise. - * g++.dg/cpp2a/nontype-class1.C: Likewise. - -2020-01-24 Jason Merrill - - * lib/target-supports.exp (check_effective_target_unsigned_char): - New. - -2020-01-24 Jeff Law - - PR debug/92763 - * g++.dg/debug/pr92763.C: Require fopenmp. - -2020-01-23 David Malcolm - - PR analyzer/93367 - * gcc.dg/analyzer/abort.c: Remove include of . - Replace use of assert with a custom assertion implementation. - -2020-01-23 Jakub Jelinek - - PR inline-asm/93027 - * gcc.target/i386/pr93027.c: Require lp64 target rather x86_64-*-*. - - PR rtl-optimization/93402 - * gcc.c-torture/execute/pr93402.c: New test. - -2020-01-23 Paolo Carlini - - PR c++/92804 - * g++.dg/concepts/pr92804-1.C: New. - * g++.dg/concepts/pr92804-2.C: Likewise. - -2020-01-23 David Malcolm - - PR analyzer/93375 - * gcc.dg/analyzer/pr93375.c: New test. - -2020-01-23 Jason Merrill - - * lib/target-supports.exp (check_effective_target_unsigned_char): - New. - -2020-01-23 Jakub Jelinek - - PR target/93376 - * gcc.dg/pr93376.c: New test. - -2020-01-23 Richard Sandiford - - PR target/93341 - * gcc.target/aarch64/pr93341.c: New test. - -2020-01-23 David Malcolm - - * gcc.dg/analyzer/data-model-3.c: Remove hardcoded "-O2" and move - to torture/conftest-1.c. - * gcc.dg/analyzer/torture/analyzer-torture.exp: New. - * gcc.dg/analyzer/torture/conftest-1.c: Move here from - analyzer/data-model-3.c. - * gcc.dg/analyzer/torture/poc.c: New test. - -2020-01-23 Richard Biener - - PR tree-optimization/93381 - * gcc.dg/torture/pr93354.c: New testcase. - -2020-01-23 Jakub Jelinek - - PR target/93346 - * gcc.target/i386/pr93346.c: New test. - -2020-01-23 Martin Sebor - - PR c/84919 - * gcc.dg/Wrestrict-20.c: New test. - -2020-01-23 Richard Sandiford - - * g++.target/aarch64/sve/acle/general-c++/whilele_1.C: Skip for ILP32. - -2020-01-23 Richard Sandiford - - * gcc.target/aarch64/sve/acle/asm/ld1_f16.c: Skip check-function-bodies - test for ILP32. - * gcc.target/aarch64/sve/acle/asm/ld1_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1_gather_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1_gather_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1_gather_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1_gather_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1_gather_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1_gather_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ro_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ro_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ro_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ro_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ro_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ro_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ro_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ro_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ro_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ro_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ro_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1rq_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1rq_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1rq_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1rq_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1rq_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1rq_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1rq_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1rq_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1rq_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1rq_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1rq_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1sb_gather_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1sb_gather_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1sb_gather_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1sb_gather_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1sb_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1sb_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1sb_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1sb_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1sb_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1sb_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1sh_gather_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1sh_gather_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1sh_gather_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1sh_gather_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1sh_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1sh_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1sh_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1sh_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1sw_gather_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1sw_gather_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1sw_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1sw_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ub_gather_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ub_gather_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ub_gather_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ub_gather_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ub_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ub_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ub_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ub_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ub_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ub_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1uh_gather_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1uh_gather_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1uh_gather_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1uh_gather_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1uh_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1uh_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1uh_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1uh_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1uw_gather_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1uw_gather_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1uw_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1uw_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld2_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld2_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld2_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld2_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld2_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld2_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld2_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld2_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld2_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld2_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld2_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld3_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld3_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld3_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld3_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld3_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld3_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld3_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld3_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld3_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld3_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld3_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld4_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld4_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld4_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld4_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld4_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld4_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld4_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld4_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld4_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld4_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld4_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1_gather_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1_gather_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1_gather_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1_gather_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1_gather_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1_gather_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1sb_gather_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1sb_gather_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1sb_gather_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1sb_gather_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1sb_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1sb_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1sb_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1sb_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1sb_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1sb_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1sh_gather_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1sh_gather_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1sh_gather_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1sh_gather_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1sh_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1sh_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1sh_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1sh_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1sw_gather_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1sw_gather_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1sw_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1sw_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1ub_gather_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1ub_gather_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1ub_gather_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1ub_gather_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1ub_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1ub_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1ub_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1ub_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1ub_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1ub_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1uh_gather_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1uh_gather_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1uh_gather_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1uh_gather_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1uh_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1uh_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1uh_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1uh_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1uw_gather_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1uw_gather_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1uw_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldff1uw_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnf1_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnf1_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnf1_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnf1_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnf1_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnf1_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnf1_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnf1_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnf1_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnf1_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnf1_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnf1sb_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnf1sb_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnf1sb_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnf1sb_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnf1sb_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnf1sb_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnf1sh_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnf1sh_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnf1sh_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnf1sh_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnf1sw_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnf1sw_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnf1ub_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnf1ub_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnf1ub_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnf1ub_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnf1ub_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnf1ub_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnf1uh_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnf1uh_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnf1uh_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnf1uh_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnf1uw_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnf1uw_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnt1_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnt1_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnt1_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnt1_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnt1_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnt1_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnt1_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnt1_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnt1_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnt1_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ldnt1_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/prfb.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/prfb_gather.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/prfd.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/prfd_gather.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/prfh.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/prfh_gather.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/prfw.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/prfw_gather.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1_scatter_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1_scatter_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1_scatter_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1_scatter_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1_scatter_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1_scatter_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1b_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1b_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1b_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1b_scatter_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1b_scatter_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1b_scatter_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1b_scatter_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1b_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1b_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1b_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1h_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1h_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1h_scatter_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1h_scatter_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1h_scatter_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1h_scatter_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1h_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1h_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1w_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1w_scatter_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1w_scatter_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st1w_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st2_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st2_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st2_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st2_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st2_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st2_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st2_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st2_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st2_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st2_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st2_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st3_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st3_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st3_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st3_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st3_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st3_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st3_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st3_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st3_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st3_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st3_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st4_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st4_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st4_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st4_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st4_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st4_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st4_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st4_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st4_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st4_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/st4_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/stnt1_f16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/stnt1_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/stnt1_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/stnt1_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/stnt1_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/stnt1_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/stnt1_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/stnt1_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/stnt1_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/stnt1_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/stnt1_u8.c: Likewise. - * gcc.target/aarch64/sve/acle/general/temporaries_1.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_f32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_f64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1sb_gather_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1sb_gather_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1sb_gather_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1sb_gather_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1sh_gather_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1sh_gather_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1sh_gather_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1sh_gather_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1sw_gather_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1sw_gather_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1ub_gather_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1ub_gather_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1ub_gather_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1ub_gather_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1uh_gather_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1uh_gather_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1uh_gather_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1uh_gather_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1uw_gather_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/ldnt1uw_gather_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_f32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_f64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1b_scatter_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1b_scatter_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1b_scatter_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1b_scatter_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1h_scatter_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1h_scatter_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1h_scatter_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1h_scatter_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1w_scatter_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/stnt1w_scatter_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilerw_f16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilerw_f32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilerw_f64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilerw_s16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilerw_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilerw_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilerw_s8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilerw_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilerw_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilerw_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilerw_u8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilewr_f16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilewr_f32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilewr_f64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilewr_s16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilewr_s32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilewr_s64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilewr_s8.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilewr_u16.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilewr_u32.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilewr_u64.c: Likewise. - * gcc.target/aarch64/sve2/acle/asm/whilewr_u8.c: Likewise. - -2020-01-23 Richard Sandiford - - * lib/scanasm.exp (check-function-bodies): Add an optional - target/xfail selector. - -2020-01-23 Richard Sandiford - - * gcc.dg/torture/pr93124.c: New test. - -2020-01-22 David Malcolm - - PR analyzer/93382 - * gcc.dg/analyzer/pr93382.c: New test. - -2020-01-22 Andrew Pinski - - * gcc.dg/tree-ssa/pr88497-1.c: Move to ... - * gcc.dg/vect/pr88497-1.c: This. - * gcc.dg/tree-ssa/pr88497-2.c: Move to ... - * gcc.dg/vect/pr88497-2.c: This. - * gcc.dg/tree-ssa/pr88497-3.c: Move to ... - * gcc.dg/vect/pr88497-3.c: This. - * gcc.dg/tree-ssa/pr88497-4.c: Move to ... - * gcc.dg/vect/pr88497-4.c: This. - * gcc.dg/tree-ssa/pr88497-5.c: Move to ... - * gcc.dg/vect/pr88497-5.c: This. - * gcc.dg/tree-ssa/pr88497-6.c: Move to ... - * gcc.dg/vect/pr88497-6.c: This. - * gcc.dg/tree-ssa/pr88497-7.c: Move to ... - * gcc.dg/vect/pr88497-7.c: This. - - Revert: - * tree-ssa.exp: Set DEFAULT_VECTCFLAGS and DEFAULT_VECTCFLAGS. - Call check_vect_support_and_set_flags also. - -2020-01-22 Andrew Pinski - - * tree-ssa.exp: Set DEFAULT_VECTCFLAGS and DEFAULT_VECTCFLAGS. - Call check_vect_support_and_set_flags also. - -2020-01-22 David Malcolm - - PR analyzer/93378 - * gcc.dg/analyzer/setjmp-pr93378.c: Use setjmp rather than - _setjmp. - -2020-01-22 David Malcolm - - PR analyzer/93378 - * gcc.dg/analyzer/setjmp-pr93378.c: New test. - -2020-01-22 David Malcolm - - PR analyzer/93316 - * gcc.dg/analyzer/data-model-1.c: Include . - * gcc.dg/analyzer/malloc-1.c: Likewise. - * gcc.dg/analyzer/malloc-callbacks.c (get_alloca): Return - __builtin_alloca rather than alloca. - * gcc.dg/analyzer/malloc-paths-8.c: Include . - * gcc.dg/analyzer/sensitive-1.c: Define __EXTENSIONS__ before - including unistd.h. - * gcc.dg/analyzer/setjmp-2.c: Replace include of - with "test-setjmp.h" and usage of setjmp with new SETJMP macro. - * gcc.dg/analyzer/setjmp-3.c: Likewise. - * gcc.dg/analyzer/setjmp-4.c: Likewise. - * gcc.dg/analyzer/setjmp-5.c: Likewise. - * gcc.dg/analyzer/setjmp-6.c: Likewise. - * gcc.dg/analyzer/setjmp-7.c: Likewise. - * gcc.dg/analyzer/setjmp-7a.c: Likewise. - * gcc.dg/analyzer/setjmp-8.c: Likewise. - * gcc.dg/analyzer/setjmp-9.c: Likewise. - * gcc.dg/analyzer/test-setjmp.h: New header. - -2020-01-22 Marek Polacek - - PR c++/92907 - noexcept does not consider "const" in member functions. - * parser.c (cp_parser_lambda_declarator_opt): Pass the proper - qualifiers to cp_parser_exception_specification_opt. - (cp_parser_direct_declarator): Pass the function qualifiers to - cp_parser_exception_specification_opt. - (cp_parser_class_specifier_1): Pass the function declaration to - cp_parser_late_noexcept_specifier. - (cp_parser_late_noexcept_specifier): Add a tree parameter. Use it to - pass the qualifiers of the function to - cp_parser_noexcept_specification_opt. - (cp_parser_noexcept_specification_opt): New cp_cv_quals parameter. - Use it in inject_this_parameter. - (cp_parser_exception_specification_opt): New cp_cv_quals parameter. - Use it. - (cp_parser_transaction): Pass TYPE_UNQUALIFIED to - cp_parser_noexcept_specification_opt. - (cp_parser_transaction_expression): Likewise. - -2020-01-22 Marek Polacek - - PR c++/93324 - ICE with -Wall on constexpr if. - * g++.dg/cpp1z/constexpr-if33.C: New test. - -2020-01-22 Richard Sandiford - - * gcc.target/aarch64/sve/acle/general/stack_vars_1.c: New test. - -2020-01-22 Richard Sandiford - - * gcc.target/aarch64/sve/tls_preserve_1.c: Require tls_native. - * gcc.target/aarch64/sve/tls_preserve_2.c: Likewise. - * gcc.target/aarch64/sve/tls_preserve_3.c: Likewise. - -2020-01-22 Richard Sandiford - - * gcc.target/aarch64/sve/sel_3.c (permute_vnx4sf): Take __SVFloat32_t - rather than __SVFloat16_t - -2020-01-22 Richard Sandiford - - * g++.dg/ext/sve-sizeless-1.C: Don't expect an error for alias - templates. - -2020-01-22 Richard Biener - - PR tree-optimization/93381 - * gcc.dg/torture/pr93381.c: New testcase. - -2020-01-22 Jakub Jelinek - - PR target/93335 - * gcc.c-torture/compile/pr93335.c: New test. - - PR target/91298 - * gcc.target/i386/pr91298-1.c: New test. - * gcc.target/i386/pr91298-2.c: New test. - - * gfortran.dg/gomp/target-parallel1.f90: New test. - * gfortran.dg/goacc/pr93329.f90: Enable commented out target parallel - test. - - PR fortran/93329 - * gfortran.dg/goacc/pr93329.f90: New test. - -2020-01-22 Jun Ma - - * g++.dg/coroutines/coro1-missing-await-method.C: New test. - -2020-01-21 Andrew Pinski - - PR target/93119 - * gcc.target/aarch64/pr93119.c: New test. - -2020-01-22 Joseph Myers - - PR c/93348 - * gcc.c-torture/compile/pr93348-1.c: New test. - -2020-01-21 David Malcolm - - PR analyzer/93352 - * gcc.dg/analyzer/pr93352.c: New test. - -2020-01-22 Hans-Peter Nilsson - - * gcc.target/cris/asm-v8.S, gcc.target/cris/inasm-v8.c, - gcc.target/cris/sync-1.c: Apply effective_target_march_option. - -2020-01-21 Uros Bizjak - - PR target/93319 - * gcc.target/i386/pr93319-1a.c: Don't include . - (test1): Replace printf with __builtin_printf. - -2020-01-21 Bin Cheng - - * g++.dg/coroutines/co-await-void_type.C: New test. - -2020-01-21 Jakub Jelinek - - PR target/93333 - * gcc.c-torture/compile/pr93333.c: New test. - -2020-01-21 Sandra Loosemore - - * g++.dg/coroutines/torture/mid-suspend-destruction-0.C: Generalize - line terminators in patterns. - -2020-01-21 Richard Sandiford - - * gcc.target/aarch64/sve/acle/general-c/load_1.c (f1): Cast to - int32_t * rather than int *. - * gcc.target/aarch64/sve/acle/general-c/load_2.c (f1): Likewise. - * gcc.target/aarch64/sve/acle/general-c/load_gather_sv_1.c - (f1): Likewise. - * gcc.target/aarch64/sve/acle/general-c/load_gather_sv_2.c - (f1): Likewise. - * gcc.target/aarch64/sve/acle/general-c/load_gather_sv_restricted_1.c - (f1): Likewise. - * gcc.target/aarch64/sve/acle/general-c/load_replicate_1.c - (f1): Likewise. - * gcc.target/aarch64/sve/acle/general-c/store_1.c (f1): Likewise. - * gcc.target/aarch64/sve/acle/general-c/store_2.c (f1): Likewise. - * gcc.target/aarch64/sve/acle/general-c/store_scatter_index_1.c - (f1): Likewise. - * gcc.target/aarch64/sve/acle/general-c/store_scatter_offset_2.c - (f1): Likewise. - * gcc.target/aarch64/sve/acle/general-c/store_scatter_offset_restricted_1.c - (f1): Likewise. - -2020-01-21 Szabolcs Nagy - - PR target/92424 - * gcc.target/aarch64/pr92424-1.c: New test. - * gcc.target/aarch64/pr92424-2.c: New test. - * gcc.target/aarch64/pr92424-3.c: New test. - -2020-01-21 Matthew Malcomson - - * gcc.target/aarch64/sve/acle/asm/ld1ro_f16.c: Use require - directive. - * gcc.target/aarch64/sve/acle/asm/ld1ro_f32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ro_f64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ro_s16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ro_s32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ro_s64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ro_s8.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ro_u16.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ro_u32.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ro_u64.c: Likewise. - * gcc.target/aarch64/sve/acle/asm/ld1ro_u8.c: Likewise. - * lib/target-supports.exp: Add assembly requirement directive. - -2020-01-21 Tobias Burnus - - PR fortran/93309 - * gfortran.dg/external_implicit_none_2.f90: New. - -2020-01-21 Richard Biener - - PR tree-optimization/92328 - * gcc.dg/torture/pr92328.c: New testcase. - -2020-01-21 Jakub Jelinek - - PR target/93073 - * gcc.target/powerpc/pr93073.c: New test. - -2020-01-20 Bin Cheng - - * g++.dg/coroutines/co-return-warning-1.C: New test. - -2020-01-21 Kito Cheng - - PR target/93304 - * gcc.target/riscv/pr93304.c: New test. - -2020-01-20 Martin Sebor - - PR testsuite/92829 - * g++.dg/warn/Wstringop-overflow-4.C: Adjust test to avoid failures - due to an aparrent VRP limtation. - * gcc.dg/Wstringop-overflow-25.c: Same. - -2020-01-20 Nathan Sidwell - - PR preprocessor/80005 - * g++.dg/cpp1y/feat-cxx14.C: Adjust. - * g++.dg/cpp1z/feat-cxx17.C: Adjust. - * g++.dg/cpp2a/feat-cxx2a.C: Adjust. - * g++.dg/cpp/pr80005.C: New. - -2020-01-20 Mark Eggleston - - * gfortran.dg/pr93263_1.f90: Change scan-tree-dump-not to - scan-tree-dump. - -2020-01-20 H.J. Lu - - PR target/93319 - * gcc.target/i386/pr93319-1a.c: New test. - * gcc.target/i386/pr93319-1b.c: Likewise. - * gcc.target/i386/pr93319-1c.c: Likewise. - * gcc.target/i386/pr93319-1d.c: Likewise. - -2020-01-20 Richard Biener - - PR debug/92763 - * g++.dg/debug/pr92763.C: New testcase. - -2020-01-20 Paolo Carlini - - PR c++/92536 - * g++.dg/cpp1z/pr92536.C: New. - -2020-01-20 Richard Biener - - PR tree-optimization/93094 - * gcc.dg/vect/pr93094.c: New testcase. - -2020-01-19 David Malcolm - - * gcc.dg/analyzer/CVE-2005-1689-dedupe-issue.c: Ensure that all - test names are unique. - * gcc.dg/analyzer/attribute-nonnull.c: Likewise. - * gcc.dg/analyzer/conditionals-notrans.c: Likewise. - * gcc.dg/analyzer/data-model-1.c: Likewise. - * gcc.dg/analyzer/data-model-18.c: Likewise. - * gcc.dg/analyzer/data-model-8.c: Likewise. - * gcc.dg/analyzer/data-model-9.c: Likewise. - * gcc.dg/analyzer/file-1.c: Likewise. - * gcc.dg/analyzer/file-paths-1.c: Likewise. - * gcc.dg/analyzer/loop-2.c: Likewise. - * gcc.dg/analyzer/loop-2a.c: Likewise. - * gcc.dg/analyzer/loop-4.c: Likewise. - * gcc.dg/analyzer/loop.c: Likewise. - * gcc.dg/analyzer/malloc-1.c: Likewise. - * gcc.dg/analyzer/malloc-2.c: Likewise. - * gcc.dg/analyzer/malloc-ipa-10.c: Likewise. - * gcc.dg/analyzer/malloc-ipa-2.c: Likewise. - * gcc.dg/analyzer/malloc-macro-separate-events.c: Likewise. - * gcc.dg/analyzer/malloc-paths-1.c: Likewise. - * gcc.dg/analyzer/malloc-paths-2.c: Likewise. - * gcc.dg/analyzer/malloc-paths-3.c: Likewise. - * gcc.dg/analyzer/malloc-paths-4.c: Likewise. - * gcc.dg/analyzer/malloc-paths-5.c: Likewise. - * gcc.dg/analyzer/malloc-paths-7.c: Likewise. - * gcc.dg/analyzer/malloc-paths-9.c: Likewise. - * gcc.dg/analyzer/operations.c: Likewise. - * gcc.dg/analyzer/params.c: Likewise. - * gcc.dg/analyzer/pattern-test-1.c: Likewise. - * gcc.dg/analyzer/pattern-test-2.c: Likewise. - * gcc.dg/analyzer/sensitive-1.c: Likewise. - * gcc.dg/analyzer/switch.c: Likewise. - * gcc.dg/analyzer/taint-1.c: Likewise. - * gcc.dg/analyzer/unknown-fns.c: Likewise. - -2020-01-19 Hans-Peter Nilsson - - * gcc.dg/torture/pr26515.c (cris*-*-*): Conditionalize - -march=v10 option on target ! march_option. - * gcc.target/cris/asm-v10.S, gcc.target/cris/inasm-v10.c, - gcc.target/cris/sync-1-v10.c: Similar. - * lib/target-supports.exp (effective_target_march_option): New. - -2020-01-19 Thomas König - - PR fortran/44960 - * gfortran.dg/function_reference_1.f90: New test. - * gfortran.dg/function_reference_2.f90: New test. - -2020-01-18 Jakub Jelinek - - PR c/92833 - * c-c++-common/pr92833-4.c: Fix dg-message syntax. - -2020-01-18 Iain Sandoe - - * g++.dg/coroutines/co-await-syntax-00-needs-expr.C: New test. - * g++.dg/coroutines/co-await-syntax-01-outside-fn.C: New test. - * g++.dg/coroutines/co-await-syntax-02-outside-fn.C: New test. - * g++.dg/coroutines/co-await-syntax-03-auto.C: New test. - * g++.dg/coroutines/co-await-syntax-04-ctor-dtor.C: New test. - * g++.dg/coroutines/co-await-syntax-05-constexpr.C: New test. - * g++.dg/coroutines/co-await-syntax-06-main.C: New test. - * g++.dg/coroutines/co-await-syntax-07-varargs.C: New test. - * g++.dg/coroutines/co-await-syntax-08-lambda-auto.C: New test. - * g++.dg/coroutines/co-return-syntax-01-outside-fn.C: New test. - * g++.dg/coroutines/co-return-syntax-02-outside-fn.C: New test. - * g++.dg/coroutines/co-return-syntax-03-auto.C: New test. - * g++.dg/coroutines/co-return-syntax-04-ctor-dtor.C: New test. - * g++.dg/coroutines/co-return-syntax-05-constexpr-fn.C: New test. - * g++.dg/coroutines/co-return-syntax-06-main.C: New test. - * g++.dg/coroutines/co-return-syntax-07-vararg.C: New test. - * g++.dg/coroutines/co-return-syntax-08-bad-return.C: New test. - * g++.dg/coroutines/co-return-syntax-09-lambda-auto.C: New test. - * g++.dg/coroutines/co-yield-syntax-00-needs-expr.C: New test. - * g++.dg/coroutines/co-yield-syntax-01-outside-fn.C: New test. - * g++.dg/coroutines/co-yield-syntax-02-outside-fn.C: New test. - * g++.dg/coroutines/co-yield-syntax-03-auto.C: New test. - * g++.dg/coroutines/co-yield-syntax-04-ctor-dtor.C: New test. - * g++.dg/coroutines/co-yield-syntax-05-constexpr.C: New test. - * g++.dg/coroutines/co-yield-syntax-06-main.C: New test. - * g++.dg/coroutines/co-yield-syntax-07-varargs.C: New test. - * g++.dg/coroutines/co-yield-syntax-08-needs-expr.C: New test. - * g++.dg/coroutines/co-yield-syntax-09-lambda-auto.C: New test. - * g++.dg/coroutines/coro-builtins.C: New test. - * g++.dg/coroutines/coro-missing-gro.C: New test. - * g++.dg/coroutines/coro-missing-promise-yield.C: New test. - * g++.dg/coroutines/coro-missing-ret-value.C: New test. - * g++.dg/coroutines/coro-missing-ret-void.C: New test. - * g++.dg/coroutines/coro-missing-ueh-1.C: New test. - * g++.dg/coroutines/coro-missing-ueh-2.C: New test. - * g++.dg/coroutines/coro-missing-ueh-3.C: New test. - * g++.dg/coroutines/coro-missing-ueh.h: New test. - * g++.dg/coroutines/coro-pre-proc.C: New test. - * g++.dg/coroutines/coro.h: New file. - * g++.dg/coroutines/coro1-ret-int-yield-int.h: New file. - * g++.dg/coroutines/coroutines.exp: New file. - * g++.dg/coroutines/torture/alloc-00-gro-on-alloc-fail.C: New test. - * g++.dg/coroutines/torture/alloc-01-overload-newdel.C: New test. - * g++.dg/coroutines/torture/call-00-co-aw-arg.C: New test. - * g++.dg/coroutines/torture/call-01-multiple-co-aw.C: New test. - * g++.dg/coroutines/torture/call-02-temp-co-aw.C: New test. - * g++.dg/coroutines/torture/call-03-temp-ref-co-aw.C: New test. - * g++.dg/coroutines/torture/class-00-co-ret.C: New test. - * g++.dg/coroutines/torture/class-01-co-ret-parm.C: New test. - * g++.dg/coroutines/torture/class-02-templ-parm.C: New test. - * g++.dg/coroutines/torture/class-03-operator-templ-parm.C: New test. - * g++.dg/coroutines/torture/class-04-lambda-1.C: New test. - * g++.dg/coroutines/torture/class-05-lambda-capture-copy-local.C: New test. - * g++.dg/coroutines/torture/class-06-lambda-capture-ref.C: New test. - * g++.dg/coroutines/torture/co-await-00-trivial.C: New test. - * g++.dg/coroutines/torture/co-await-01-with-value.C: New test. - * g++.dg/coroutines/torture/co-await-02-xform.C: New test. - * g++.dg/coroutines/torture/co-await-03-rhs-op.C: New test. - * g++.dg/coroutines/torture/co-await-04-control-flow.C: New test. - * g++.dg/coroutines/torture/co-await-05-loop.C: New test. - * g++.dg/coroutines/torture/co-await-06-ovl.C: New test. - * g++.dg/coroutines/torture/co-await-07-tmpl.C: New test. - * g++.dg/coroutines/torture/co-await-08-cascade.C: New test. - * g++.dg/coroutines/torture/co-await-09-pair.C: New test. - * g++.dg/coroutines/torture/co-await-10-template-fn-arg.C: New test. - * g++.dg/coroutines/torture/co-await-11-forwarding.C: New test. - * g++.dg/coroutines/torture/co-await-12-operator-2.C: New test. - * g++.dg/coroutines/torture/co-await-13-return-ref.C: New test. - * g++.dg/coroutines/torture/co-ret-00-void-return-is-ready.C: New test. - * g++.dg/coroutines/torture/co-ret-01-void-return-is-suspend.C: New test. - * g++.dg/coroutines/torture/co-ret-03-different-GRO-type.C: New test. - * g++.dg/coroutines/torture/co-ret-04-GRO-nontriv.C: New test. - * g++.dg/coroutines/torture/co-ret-05-return-value.C: New test. - * g++.dg/coroutines/torture/co-ret-06-template-promise-val-1.C: New test. - * g++.dg/coroutines/torture/co-ret-07-void-cast-expr.C: New test. - * g++.dg/coroutines/torture/co-ret-08-template-cast-ret.C: New test. - * g++.dg/coroutines/torture/co-ret-09-bool-await-susp.C: New test. - * g++.dg/coroutines/torture/co-ret-10-expression-evaluates-once.C: New test. - * g++.dg/coroutines/torture/co-ret-11-co-ret-co-await.C: New test. - * g++.dg/coroutines/torture/co-ret-12-co-ret-fun-co-await.C: New test. - * g++.dg/coroutines/torture/co-ret-13-template-2.C: New test. - * g++.dg/coroutines/torture/co-ret-14-template-3.C: New test. - * g++.dg/coroutines/torture/co-yield-00-triv.C: New test. - * g++.dg/coroutines/torture/co-yield-01-multi.C: New test. - * g++.dg/coroutines/torture/co-yield-02-loop.C: New test. - * g++.dg/coroutines/torture/co-yield-03-tmpl.C: New test. - * g++.dg/coroutines/torture/co-yield-04-complex-local-state.C: New test. - * g++.dg/coroutines/torture/co-yield-05-co-aw.C: New test. - * g++.dg/coroutines/torture/co-yield-06-fun-parm.C: New test. - * g++.dg/coroutines/torture/co-yield-07-template-fn-param.C: New test. - * g++.dg/coroutines/torture/co-yield-08-more-refs.C: New test. - * g++.dg/coroutines/torture/co-yield-09-more-templ-refs.C: New test. - * g++.dg/coroutines/torture/coro-torture.exp: New file. - * g++.dg/coroutines/torture/exceptions-test-0.C: New test. - * g++.dg/coroutines/torture/func-params-00.C: New test. - * g++.dg/coroutines/torture/func-params-01.C: New test. - * g++.dg/coroutines/torture/func-params-02.C: New test. - * g++.dg/coroutines/torture/func-params-03.C: New test. - * g++.dg/coroutines/torture/func-params-04.C: New test. - * g++.dg/coroutines/torture/func-params-05.C: New test. - * g++.dg/coroutines/torture/func-params-06.C: New test. - * g++.dg/coroutines/torture/lambda-00-co-ret.C: New test. - * g++.dg/coroutines/torture/lambda-01-co-ret-parm.C: New test. - * g++.dg/coroutines/torture/lambda-02-co-yield-values.C: New test. - * g++.dg/coroutines/torture/lambda-03-auto-parm-1.C: New test. - * g++.dg/coroutines/torture/lambda-04-templ-parm.C: New test. - * g++.dg/coroutines/torture/lambda-05-capture-copy-local.C: New test. - * g++.dg/coroutines/torture/lambda-06-multi-capture.C: New test. - * g++.dg/coroutines/torture/lambda-07-multi-yield.C: New test. - * g++.dg/coroutines/torture/lambda-08-co-ret-parm-ref.C: New test. - * g++.dg/coroutines/torture/local-var-0.C: New test. - * g++.dg/coroutines/torture/local-var-1.C: New test. - * g++.dg/coroutines/torture/local-var-2.C: New test. - * g++.dg/coroutines/torture/local-var-3.C: New test. - * g++.dg/coroutines/torture/local-var-4.C: New test. - * g++.dg/coroutines/torture/mid-suspend-destruction-0.C: New test. - * g++.dg/coroutines/torture/pr92933.C: New test. - -2020-01-17 Jerry DeLisle - - PR libfortran/93234 - * gfortran.dg/inquire_pre.f90: New test. - -2020-01-17 David Malcolm - - PR analyzer/93290 - * gcc.dg/analyzer/pr93290.c: New test. - -2020-01-17 Paolo Carlini - - PR c++/92542 - * g++.dg/pr92542.C: New. - -2020-01-17 Mihail-Calin Ionescu - Sudakshina Das - - * gcc.target/arm/armv8_1m-shift-imm_1.c: New test. - -2020-01-17 Mihail-Calin Ionescu - Sudakshina Das - - * gcc.target/arm/armv8_1m-shift-reg_1.c: New test. - -2020-01-17 Jonathan Wakely - - PR testsuite/93227 - * g++.dg/cpp0x/std-layout1.C: Use -Wno-deprecated-declarations for - C++20, due to std::is_pod being deprecated. - -2020-01-17 Matthew Malcomson - - * gcc.target/aarch64/sve/acle/asm/ld1ro_f16.c: New test. - * gcc.target/aarch64/sve/acle/asm/ld1ro_f32.c: New test. - * gcc.target/aarch64/sve/acle/asm/ld1ro_f64.c: New test. - * gcc.target/aarch64/sve/acle/asm/ld1ro_s16.c: New test. - * gcc.target/aarch64/sve/acle/asm/ld1ro_s32.c: New test. - * gcc.target/aarch64/sve/acle/asm/ld1ro_s64.c: New test. - * gcc.target/aarch64/sve/acle/asm/ld1ro_s8.c: New test. - * gcc.target/aarch64/sve/acle/asm/ld1ro_u16.c: New test. - * gcc.target/aarch64/sve/acle/asm/ld1ro_u32.c: New test. - * gcc.target/aarch64/sve/acle/asm/ld1ro_u64.c: New test. - * gcc.target/aarch64/sve/acle/asm/ld1ro_u8.c: New test. - -2020-01-17 Matthew Malcomson - - * gcc.target/aarch64/pragma_cpp_predefs_2.c: Check for f64mm - predef. - -2020-01-17 Jakub Jelinek - - PR c++/93228 - * g++.dg/cpp1y/attr-deprecated-3.C: New test. - -2020-01-17 Richard Sandiford - - * g++.target/aarch64/sve/acle/general-c++/gimplify_1.C: New test. - -2020-01-17 Mark Eggleston - Tobias Burnus - - PR fortran/93236 - * gfortran.dg/pr93263_1.f90: New test. - * gfortran.dg/pr93263_2.f90: New test. - -2020-01-17 Jakub Jelinek - - PR tree-optimization/93292 - * g++.dg/opt/pr93292.C: New test. - - PR testsuite/93294 - * lib/c-compat.exp (compat-use-alt-compiler): Handle - -fdiagnostics-urls=never similarly to -fdiagnostics-color=never. - (compat_setup_dfp): Likewise. - -2020-01-16 Kerem Kat - - PR c/92833 - * c-c++-common/pr92833-1.c, c-c++-common/pr92833-2.c, - c-c++-common/pr92833-3.c, c-c++-common/pr92833-4.c: New tests. - -2020-01-16 Stam Markianos-Wright - - * g++.target/arm/bfloat_cpp_typecheck.C: New test. - * gcc.target/arm/bfloat16_scalar_typecheck.c: New test. - * gcc.target/arm/bfloat16_vector_typecheck_1.c: New test. - * gcc.target/arm/bfloat16_vector_typecheck_2.c: New test. - -2020-01-16 Stam Markianos-Wright - - * g++.dg/abi/mangle-neon.C: Add BF16 SIMD types. - * g++.dg/ext/arm-bf16/bf16-mangle-1.C: New test. - * gcc.target/arm/bfloat16_scalar_1_1.c: New test. - * gcc.target/arm/bfloat16_scalar_1_2.c: New test. - * gcc.target/arm/bfloat16_scalar_2_1.c: New test. - * gcc.target/arm/bfloat16_scalar_2_2.c: New test. - * gcc.target/arm/bfloat16_scalar_3_1.c: New test. - * gcc.target/arm/bfloat16_scalar_3_2.c: New test. - * gcc.target/arm/bfloat16_scalar_4.c: New test. - * gcc.target/arm/bfloat16_simd_1_1.c: New test. - * gcc.target/arm/bfloat16_simd_1_2.c: New test. - * gcc.target/arm/bfloat16_simd_2_1.c: New test. - * gcc.target/arm/bfloat16_simd_2_2.c: New test. - * gcc.target/arm/bfloat16_simd_3_1.c: New test. - * gcc.target/arm/bfloat16_simd_3_2.c: New test. - -2020-01-16 Mihail Ionescu - Andre Vieira - - * testsuite/gcc.target/arm/multilib.exp: Add v8.1-M entries. - -2020-01-16 Mihail-Calin Ionescu - Thomas Preud'homme - - * gcc.target/arm/cmse/cmse-1.c: Add check for BLXNS when instructions - introduced in Armv8.1-M Mainline Security Extensions are available and - restrict checks for libcall to __gnu_cmse_nonsecure_call to Armv8-M - targets only. Adapt CLRM check to verify register used for BLXNS is - not in the CLRM register list. - * gcc.target/arm/cmse/cmse-14.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/bitfield-4.c: Likewise and adapt - check for LSB clearing bit to be using the same register as BLXNS when - targeting Armv8.1-M Mainline. - * gcc.target/arm/cmse/mainline/8_1m/bitfield-5.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/bitfield-6.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/bitfield-7.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/bitfield-8.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/bitfield-9.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/bitfield-and-union.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-13.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-7.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-8.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-13.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-7.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-8.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-13.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-7.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-8.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/softfp-sp/cmse-7.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/softfp-sp/cmse-8.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-13.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-7.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-8.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/union-1.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/union-2.c: Likewise. - * gcc.target/arm/cmse/cmse-15.c: Count BLXNS when targeting Armv8.1-M - Mainline and restrict libcall count to Armv8-M. - -2020-01-16 Mihail-Calin Ionescu - Thomas Preud'homme - - * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-13.c: Add check for VLSTM and - VLLDM. - * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-7.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-8.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-13.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-7.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-8.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/softfp-sp/cmse-7.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/softfp-sp/cmse-8.c: Likewise. - -2020-01-16 Mihail-Calin Ionescu - Thomas Preud'homme - - * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-13.c: Add check for - VPUSH and VPOP and update expectation for VSCCLRM. - * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-7.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-8.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-13.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-7.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-8.c: Likewise. - -2020-01-16 Mihail-Calin Ionescu - Thomas Preud'homme - - * gcc.target/arm/cmse/cmse-1.c: Add check for PUSH and POP and update - CLRM check. - * gcc.target/arm/cmse/cmse-14.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/bitfield-4.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/bitfield-5.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/bitfield-6.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/bitfield-7.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/bitfield-8.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/bitfield-9.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/bitfield-and-union.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-13.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-7.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-8.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-13.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-7.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-8.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-13.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-7.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-8.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/soft-sp/cmse-7.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/soft-sp/cmse-8.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-13.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-7.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-8.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/softfp/union-1.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/softfp/union-2.c: Likewise. - -2020-01-16 Mihail-Calin Ionescu - Thomas Preud'homme - - * gcc.target/arm/cmse/bitfield-1.c: Add check for VSCCLRM. - * gcc.target/arm/cmse/bitfield-2.c: Likewise. - * gcc.target/arm/cmse/bitfield-3.c: Likewise. - * gcc.target/arm/cmse/cmse-1.c: Likewise. - * gcc.target/arm/cmse/struct-1.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-13.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-5.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-7.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-8.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-13.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-5.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-7.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-8.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-5.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/softfp-sp/cmse-5.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-5.c: Likewise. - -2020-01-16 Mihail-Calin Ionescu - Thomas Preud'homme - - * gcc.target/arm/cmse/bitfield-1.c: Add check for CLRM. - * gcc.target/arm/cmse/bitfield-2.c: Likewise. - * gcc.target/arm/cmse/bitfield-3.c: Likewise. - * gcc.target/arm/cmse/struct-1.c: Likewise. - * gcc.target/arm/cmse/cmse-14.c: Likewise. - * gcc.target/arm/cmse/cmse-1.c: Likewise. Restrict checks for Armv8-M - GPR clearing when CLRM is not available. - * gcc.target/arm/cmse/mainline/8_1m/bitfield-4.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/bitfield-5.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/bitfield-6.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/bitfield-7.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/bitfield-8.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/bitfield-9.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-13.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-5.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-7.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-8.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-13.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-5.c: likewise. - * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-7.c: likewise. - * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-8.c: likewise. - * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-13.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-5.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-7.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-8.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/softfp-sp/cmse-5.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/softfp-sp/cmse-7.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/softfp-sp/cmse-8.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-13.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-5.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-7.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-8.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/union-1.c: Likewise. - * gcc.target/arm/cmse/mainline/8_1m/union-2.c: Likewise. - -2020-01-16 Mihail-Calin Ionescu - Thomas Preud'homme - - * gcc.target/arm/cmse/bitfield-1.c: add checks for VSTR and VLDR. - * gcc.target/arm/cmse/bitfield-2.c: Likewise. - * gcc.target/arm/cmse/bitfield-3.c: Likewise. - * gcc.target/arm/cmse/cmse-1.c: Likewise. - * gcc.target/arm/cmse/struct-1.c: Likewise. - * gcc.target/arm/cmse/cmse.exp: Run existing Armv8-M Mainline tests - from mainline/8m subdirectory and new Armv8.1-M Mainline tests from - mainline/8_1m subdirectory. - * gcc.target/arm/cmse/mainline/bitfield-4.c: Move into ... - * gcc.target/arm/cmse/mainline/8m/bitfield-4.c: This. - * gcc.target/arm/cmse/mainline/bitfield-5.c: Move into ... - * gcc.target/arm/cmse/mainline/8m/bitfield-5.c: This. - * gcc.target/arm/cmse/mainline/bitfield-6.c: Move into ... - * gcc.target/arm/cmse/mainline/8m/bitfield-6.c: This. - * gcc.target/arm/cmse/mainline/bitfield-7.c: Move into ... - * gcc.target/arm/cmse/mainline/8m/bitfield-7.c: This. - * gcc.target/arm/cmse/mainline/bitfield-8.c: Move into ... - * gcc.target/arm/cmse/mainline/8m/bitfield-8.c: This. - * gcc.target/arm/cmse/mainline/bitfield-9.c: Move into ... - * gcc.target/arm/cmse/mainline/8m/bitfield-9.c: This. - * gcc.target/arm/cmse/mainline/bitfield-and-union-1.c: Move and rename - into ... - * gcc.target/arm/cmse/mainline/8m/bitfield-and-union.c: This. - * gcc.target/arm/cmse/mainline/hard-sp/cmse-13.c: Move into ... - * gcc.target/arm/cmse/mainline/8m/hard-sp/cmse-13.c: This. Clean up - dg-skip-if directive for float ABI. - * gcc.target/arm/cmse/mainline/hard-sp/cmse-5.c: Move into ... - * gcc.target/arm/cmse/mainline/8m/hard-sp/cmse-5.c: This. Clean up - dg-skip-if directive for float ABI. - * gcc.target/arm/cmse/mainline/hard-sp/cmse-7.c: Move into ... - * gcc.target/arm/cmse/mainline/8m/hard-sp/cmse-7.c: This. Clean up - dg-skip-if directive for float ABI. - * gcc.target/arm/cmse/mainline/hard-sp/cmse-8.c: Move into ... - * gcc.target/arm/cmse/mainline/8m/hard-sp/cmse-8.c: This. Clean up - dg-skip-if directive for float ABI. - * gcc.target/arm/cmse/mainline/hard/cmse-13.c: Move into ... - * gcc.target/arm/cmse/mainline/8m/hard/cmse-13.c: This. Clean up - dg-skip-if directive for float ABI. - * gcc.target/arm/cmse/mainline/hard/cmse-5.c: Move into ... - * gcc.target/arm/cmse/mainline/8m/hard/cmse-5.c: This. Clean up - dg-skip-if directive for float ABI. - * gcc.target/arm/cmse/mainline/hard/cmse-7.c: Move into ... - * gcc.target/arm/cmse/mainline/8m/hard/cmse-7.c: This. Clean up - dg-skip-if directive for float ABI. - * gcc.target/arm/cmse/mainline/hard/cmse-8.c: Move into ... - * gcc.target/arm/cmse/mainline/8m/hard/cmse-8.c: This. Clean up - dg-skip-if directive for float ABI. - * gcc.target/arm/cmse/mainline/soft/cmse-13.c: Move into ... - * gcc.target/arm/cmse/mainline/8m/soft/cmse-13.c: This. Clean up - dg-skip-if directive for float ABI. - * gcc.target/arm/cmse/mainline/soft/cmse-5.c: Move into ... - * gcc.target/arm/cmse/mainline/8m/soft/cmse-5.c: This. Clean up - dg-skip-if directive for float ABI. - * gcc.target/arm/cmse/mainline/soft/cmse-7.c: Move into ... - * gcc.target/arm/cmse/mainline/8m/soft/cmse-7.c: This. Clean up - dg-skip-if directive for float ABI. - * gcc.target/arm/cmse/mainline/soft/cmse-8.c: Move into ... - * gcc.target/arm/cmse/mainline/8m/soft/cmse-8.c: This. Clean up - dg-skip-if directive for float ABI. - * gcc.target/arm/cmse/mainline/softfp-sp/cmse-5.c: Move into ... - * gcc.target/arm/cmse/mainline/8m/softfp-sp/cmse-5.c: This. Clean up - dg-skip-if directive for float ABI. - * gcc.target/arm/cmse/mainline/softfp-sp/cmse-7.c: Move into ... - * gcc.target/arm/cmse/mainline/8m/softfp-sp/cmse-7.c: This. Clean up - dg-skip-if directive for float ABI. - * gcc.target/arm/cmse/mainline/softfp-sp/cmse-8.c: Move into ... - * gcc.target/arm/cmse/mainline/8m/softfp-sp/cmse-8.c: This. Clean up - dg-skip-if directive for float ABI. - * gcc.target/arm/cmse/mainline/softfp/cmse-13.c: Move into ... - * gcc.target/arm/cmse/mainline/8m/softfp/cmse-13.c: This. Clean up - dg-skip-if directive for float ABI. - * gcc.target/arm/cmse/mainline/softfp/cmse-5.c: Move into ... - * gcc.target/arm/cmse/mainline/8m/softfp/cmse-5.c: This. Clean up - dg-skip-if directive for float ABI. - * gcc.target/arm/cmse/mainline/softfp/cmse-7.c: Move into ... - * gcc.target/arm/cmse/mainline/8m/softfp/cmse-7.c: This. Clean up - dg-skip-if directive for float ABI. - * gcc.target/arm/cmse/mainline/softfp/cmse-8.c: Move into ... - * gcc.target/arm/cmse/mainline/8m/softfp/cmse-8.c: This. Clean up - dg-skip-if directive for float ABI. - * gcc.target/arm/cmse/mainline/union-1.c: Move into ... - * gcc.target/arm/cmse/mainline/8m/union-1.c: This. - * gcc.target/arm/cmse/mainline/union-2.c: Move into ... - * gcc.target/arm/cmse/mainline/8m/union-2.c: This. - * gcc.target/arm/cmse/mainline/8_1m/bitfield-4.c: New file. - * gcc.target/arm/cmse/mainline/8_1m/bitfield-5.c: New file. - * gcc.target/arm/cmse/mainline/8_1m/bitfield-6.c: New file. - * gcc.target/arm/cmse/mainline/8_1m/bitfield-7.c: New file. - * gcc.target/arm/cmse/mainline/8_1m/bitfield-8.c: New file. - * gcc.target/arm/cmse/mainline/8_1m/bitfield-9.c: New file. - * gcc.target/arm/cmse/mainline/8_1m/bitfield-and-union.c: New file. - * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-13.c: New file. - * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-5.c: New file. - * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-7.c: New file. - * gcc.target/arm/cmse/mainline/8_1m/hard-sp/cmse-8.c: New file. - * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-13.c: New file. - * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-5.c: New file. - * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-7.c: New file. - * gcc.target/arm/cmse/mainline/8_1m/hard/cmse-8.c: New file. - * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-13.c: New file. - * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-5.c: New file. - * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-7.c: New file. - * gcc.target/arm/cmse/mainline/8_1m/soft/cmse-8.c: New file. - * gcc.target/arm/cmse/mainline/8_1m/softfp-sp/cmse-5.c: New file. - * gcc.target/arm/cmse/mainline/8_1m/softfp-sp/cmse-7.c: New file. - * gcc.target/arm/cmse/mainline/8_1m/softfp-sp/cmse-8.c: New file. - * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-13.c: New file. - * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-5.c: New file. - * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-7.c: New file. - * gcc.target/arm/cmse/mainline/8_1m/softfp/cmse-8.c: New file. - * gcc.target/arm/cmse/mainline/8_1m/union-1.c: New file. - * gcc.target/arm/cmse/mainline/8_1m/union-2.c: New file. - * lib/target-supports.exp (check_effective_target_arm_cmse_clear_ok): - New procedure. - -2020-01-16 Mihail-Calin Ionescu - Thomas Preud'homme - - * lib/target-supports.exp - (check_effective_target_arm_arch_v8_1m_main_ok): Define. - (add_options_for_arm_arch_v8_1m_main): Likewise. - (check_effective_target_arm_arch_v8_1m_main_multilib): Likewise. - -2020-01-16 Stam Markianos-Wright - - * gcc.target/aarch64/advsimd-intrinsics/bfdot-1.c: New. - * gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c: New. - * gcc.target/aarch64/advsimd-intrinsics/bfdot-3.c: New. - -2020-01-16 Stam Markianos-Wright - - * gcc.target/aarch64/advsimd-intrinsics/vdot-3-1.c: New test. - * gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c: New test. - * gcc.target/aarch64/advsimd-intrinsics/vdot-3-3.c: New test. - * gcc.target/aarch64/advsimd-intrinsics/vdot-3-4.c: New test. - -2020-01-16 Andre Vieira - - PR tree-optimization/92429 - * gcc.dg/vect/pr92429.c: New test. - -2020-01-16 Tobias Burnus - - PR fortran/93253 - * fortran.dg/boz_7.f90: Updated dg-error. - -2020-01-15 Paolo Carlini - - PR c++/91073 - * g++.dg/concepts/pr91073-1.C: New. - * g++.dg/concepts/pr91073-2.C: Likewise. - -2020-01-15 Wilco Dijkstra - - * gcc.dg/pr90838.c: New test. - * gcc.dg/pr93231.c: New test. - * gcc.target/aarch64/pr90838.c: Use #define u 0. - -2020-01-15 Richard Biener - - PR middle-end/93273 - * g++.dg/torture/pr93273.C: New testcase. - -2020-01-15 Richard Sandiford - - PR tree-optimization/93247 - * gcc.dg/vect/pr93247-1.c: New test. - * gcc.dg/vect/pr93247-2.c: Likewise. - -2020-01-15 Martin Sebor - - * gcc.dg/Wstringop-overflow-17.c: Tweak test to avoid unrelated - failures due the absence of loop unrolling. - -2020-01-15 Joseph Myers - - PR c/93072 - * gcc.dg/inline-42.c, gcc.dg/inline-43.c: New tests. - -2020-01-14 David Malcolm - - * gcc.dg/analyzer/signal-6.c: New test. - -2020-01-14 David Malcolm - - * gcc.dg/analyzer/dot-output.c: Add test coverage for a BB with - no statements. - -2020-01-14 David Malcolm - - PR analyzer/58237 - * gcc.dg/analyzer/file-paths-1.c: New test. - -2020-01-14 David Malcolm - - PR analyzer/58237 - * gcc.dg/analyzer/file-1.c (test_4): New. - * gcc.dg/analyzer/file-pr58237.c: New test. - -2020-01-15 Jakub Jelinek - - PR tree-optimization/93262 - * gcc.c-torture/execute/builtins/pr93262-chk.c: New test. - * gcc.c-torture/execute/builtins/pr93262-chk-lib.c: New file. - * gcc.c-torture/execute/builtins/pr93262-chk.x: New file. - - PR tree-optimization/93249 - * gcc.c-torture/execute/pr93249.c: New test. - -2020-01-14 David Malcolm - - * gcc.dg/analyzer/signal-5.c: New test. - -2020-01-14 David Malcolm - - * gcc.dg/analyzer/data-model-1.c: Remove xfail. - * gcc.dg/analyzer/data-model-5b.c: Likewise. - * gcc.dg/analyzer/data-model-5c.c: Likewise. - * gcc.dg/analyzer/setjmp-3.c: Mark "foo" as pure. - * gcc.dg/analyzer/setjmp-4.c: Likewise. - * gcc.dg/analyzer/setjmp-6.c: Likewise. - * gcc.dg/analyzer/setjmp-7.c: Likewise. - * gcc.dg/analyzer/setjmp-7a.c: Likewise. - * gcc.dg/analyzer/setjmp-8.c: Likewise. - * gcc.dg/analyzer/setjmp-9.c: Likewise. - * gcc.dg/analyzer/unknown-fns.c: New test. - -2020-01-14 David Malcolm - - * gcc.dg/analyzer/CVE-2005-1689-dedupe-issue.c: New test. - -2020-01-15 Jakub Jelinek - - PR lto/91576 - * g++.dg/lto/odr-8_1.C: Remove bogus initial lines. - - PR target/93009 - * gcc.target/i386/avx512vl-pr93009.c: New test. - -2020-01-14 Jan Hubicka - - PR lto/91576 - * g++.dg/lto/odr-8_0.C: New testcase. - * g++.dg/lto/odr-8_1.C: New testcase. - -2020-01-14 David Malcolm - - * gcc.dg/analyzer/CVE-2005-1689-minimal.c: New test. - * gcc.dg/analyzer/abort.c: New test. - * gcc.dg/analyzer/alloca-leak.c: New test. - * gcc.dg/analyzer/analyzer-decls.h: New header. - * gcc.dg/analyzer/analyzer-verbosity-0.c: New test. - * gcc.dg/analyzer/analyzer-verbosity-1.c: New test. - * gcc.dg/analyzer/analyzer-verbosity-2.c: New test. - * gcc.dg/analyzer/analyzer.exp: New suite. - * gcc.dg/analyzer/attribute-nonnull.c: New test. - * gcc.dg/analyzer/call-summaries-1.c: New test. - * gcc.dg/analyzer/conditionals-2.c: New test. - * gcc.dg/analyzer/conditionals-3.c: New test. - * gcc.dg/analyzer/conditionals-notrans.c: New test. - * gcc.dg/analyzer/conditionals-trans.c: New test. - * gcc.dg/analyzer/data-model-1.c: New test. - * gcc.dg/analyzer/data-model-2.c: New test. - * gcc.dg/analyzer/data-model-3.c: New test. - * gcc.dg/analyzer/data-model-4.c: New test. - * gcc.dg/analyzer/data-model-5.c: New test. - * gcc.dg/analyzer/data-model-5b.c: New test. - * gcc.dg/analyzer/data-model-5c.c: New test. - * gcc.dg/analyzer/data-model-5d.c: New test. - * gcc.dg/analyzer/data-model-6.c: New test. - * gcc.dg/analyzer/data-model-7.c: New test. - * gcc.dg/analyzer/data-model-8.c: New test. - * gcc.dg/analyzer/data-model-9.c: New test. - * gcc.dg/analyzer/data-model-11.c: New test. - * gcc.dg/analyzer/data-model-12.c: New test. - * gcc.dg/analyzer/data-model-13.c: New test. - * gcc.dg/analyzer/data-model-14.c: New test. - * gcc.dg/analyzer/data-model-15.c: New test. - * gcc.dg/analyzer/data-model-16.c: New test. - * gcc.dg/analyzer/data-model-17.c: New test. - * gcc.dg/analyzer/data-model-18.c: New test. - * gcc.dg/analyzer/data-model-19.c: New test. - * gcc.dg/analyzer/data-model-path-1.c: New test. - * gcc.dg/analyzer/disabling.c: New test. - * gcc.dg/analyzer/dot-output.c: New test. - * gcc.dg/analyzer/double-free-lto-1-a.c: New test. - * gcc.dg/analyzer/double-free-lto-1-b.c: New test. - * gcc.dg/analyzer/double-free-lto-1.h: New header. - * gcc.dg/analyzer/equivalence.c: New test. - * gcc.dg/analyzer/explode-1.c: New test. - * gcc.dg/analyzer/explode-2.c: New test. - * gcc.dg/analyzer/factorial.c: New test. - * gcc.dg/analyzer/fibonacci.c: New test. - * gcc.dg/analyzer/fields.c: New test. - * gcc.dg/analyzer/file-1.c: New test. - * gcc.dg/analyzer/file-2.c: New test. - * gcc.dg/analyzer/function-ptr-1.c: New test. - * gcc.dg/analyzer/function-ptr-2.c: New test. - * gcc.dg/analyzer/function-ptr-3.c: New test. - * gcc.dg/analyzer/gzio-2.c: New test. - * gcc.dg/analyzer/gzio-3.c: New test. - * gcc.dg/analyzer/gzio-3a.c: New test. - * gcc.dg/analyzer/gzio.c: New test. - * gcc.dg/analyzer/infinite-recursion.c: New test. - * gcc.dg/analyzer/loop-2.c: New test. - * gcc.dg/analyzer/loop-2a.c: New test. - * gcc.dg/analyzer/loop-3.c: New test. - * gcc.dg/analyzer/loop-4.c: New test. - * gcc.dg/analyzer/loop.c: New test. - * gcc.dg/analyzer/malloc-1.c: New test. - * gcc.dg/analyzer/malloc-2.c: New test. - * gcc.dg/analyzer/malloc-3.c: New test. - * gcc.dg/analyzer/malloc-callbacks.c: New test. - * gcc.dg/analyzer/malloc-dce.c: New test. - * gcc.dg/analyzer/malloc-dedupe-1.c: New test. - * gcc.dg/analyzer/malloc-ipa-1.c: New test. - * gcc.dg/analyzer/malloc-ipa-10.c: New test. - * gcc.dg/analyzer/malloc-ipa-11.c: New test. - * gcc.dg/analyzer/malloc-ipa-12.c: New test. - * gcc.dg/analyzer/malloc-ipa-13.c: New test. - * gcc.dg/analyzer/malloc-ipa-2.c: New test. - * gcc.dg/analyzer/malloc-ipa-3.c: New test. - * gcc.dg/analyzer/malloc-ipa-4.c: New test. - * gcc.dg/analyzer/malloc-ipa-5.c: New test. - * gcc.dg/analyzer/malloc-ipa-6.c: New test. - * gcc.dg/analyzer/malloc-ipa-7.c: New test. - * gcc.dg/analyzer/malloc-ipa-8-double-free.c: New test. - * gcc.dg/analyzer/malloc-ipa-8-lto-a.c: New test. - * gcc.dg/analyzer/malloc-ipa-8-lto-b.c: New test. - * gcc.dg/analyzer/malloc-ipa-8-lto-c.c: New test. - * gcc.dg/analyzer/malloc-ipa-8-lto.h: New test. - * gcc.dg/analyzer/malloc-ipa-8-unchecked.c: New test. - * gcc.dg/analyzer/malloc-ipa-9.c: New test. - * gcc.dg/analyzer/malloc-macro-inline-events.c: New test. - * gcc.dg/analyzer/malloc-macro-separate-events.c: New test. - * gcc.dg/analyzer/malloc-macro.h: New header. - * gcc.dg/analyzer/malloc-many-paths-1.c: New test. - * gcc.dg/analyzer/malloc-many-paths-2.c: New test. - * gcc.dg/analyzer/malloc-many-paths-3.c: New test. - * gcc.dg/analyzer/malloc-paths-1.c: New test. - * gcc.dg/analyzer/malloc-paths-10.c: New test. - * gcc.dg/analyzer/malloc-paths-2.c: New test. - * gcc.dg/analyzer/malloc-paths-3.c: New test. - * gcc.dg/analyzer/malloc-paths-4.c: New test. - * gcc.dg/analyzer/malloc-paths-5.c: New test. - * gcc.dg/analyzer/malloc-paths-6.c: New test. - * gcc.dg/analyzer/malloc-paths-7.c: New test. - * gcc.dg/analyzer/malloc-paths-8.c: New test. - * gcc.dg/analyzer/malloc-paths-9.c: New test. - * gcc.dg/analyzer/malloc-vs-local-1a.c: New test. - * gcc.dg/analyzer/malloc-vs-local-1b.c: New test. - * gcc.dg/analyzer/malloc-vs-local-2.c: New test. - * gcc.dg/analyzer/malloc-vs-local-3.c: New test. - * gcc.dg/analyzer/malloc-vs-local-4.c: New test. - * gcc.dg/analyzer/operations.c: New test. - * gcc.dg/analyzer/params-2.c: New test. - * gcc.dg/analyzer/params.c: New test. - * gcc.dg/analyzer/paths-1.c: New test. - * gcc.dg/analyzer/paths-1a.c: New test. - * gcc.dg/analyzer/paths-2.c: New test. - * gcc.dg/analyzer/paths-3.c: New test. - * gcc.dg/analyzer/paths-4.c: New test. - * gcc.dg/analyzer/paths-5.c: New test. - * gcc.dg/analyzer/paths-6.c: New test. - * gcc.dg/analyzer/paths-7.c: New test. - * gcc.dg/analyzer/pattern-test-1.c: New test. - * gcc.dg/analyzer/pattern-test-2.c: New test. - * gcc.dg/analyzer/pointer-merging.c: New test. - * gcc.dg/analyzer/pr61861.c: New test. - * gcc.dg/analyzer/pragma-1.c: New test. - * gcc.dg/analyzer/scope-1.c: New test. - * gcc.dg/analyzer/sensitive-1.c: New test. - * gcc.dg/analyzer/setjmp-1.c: New test. - * gcc.dg/analyzer/setjmp-2.c: New test. - * gcc.dg/analyzer/setjmp-3.c: New test. - * gcc.dg/analyzer/setjmp-4.c: New test. - * gcc.dg/analyzer/setjmp-5.c: New test. - * gcc.dg/analyzer/setjmp-6.c: New test. - * gcc.dg/analyzer/setjmp-7.c: New test. - * gcc.dg/analyzer/setjmp-7a.c: New test. - * gcc.dg/analyzer/setjmp-8.c: New test. - * gcc.dg/analyzer/setjmp-9.c: New test. - * gcc.dg/analyzer/signal-1.c: New test. - * gcc.dg/analyzer/signal-2.c: New test. - * gcc.dg/analyzer/signal-3.c: New test. - * gcc.dg/analyzer/signal-4a.c: New test. - * gcc.dg/analyzer/signal-4b.c: New test. - * gcc.dg/analyzer/strcmp-1.c: New test. - * gcc.dg/analyzer/switch.c: New test. - * gcc.dg/analyzer/taint-1.c: New test. - * gcc.dg/analyzer/zlib-1.c: New test. - * gcc.dg/analyzer/zlib-2.c: New test. - * gcc.dg/analyzer/zlib-3.c: New test. - * gcc.dg/analyzer/zlib-4.c: New test. - * gcc.dg/analyzer/zlib-5.c: New test. - * gcc.dg/analyzer/zlib-6.c: New test. - * lib/gcc-defs.exp (dg-check-dot): New procedure. - * lib/target-supports.exp (check_dot_available): New procedure. - (check_effective_target_analyzer): New. - * lib/target-supports-dg.exp (dg-require-dot): New procedure. - -2020-01-14 Jason Merrill - - * lib/prune.exp (prune_gcc_output): Adjust constexpr pattern. - -2020-01-14 Xiong Hu Luo - - PR ipa/69678 - * gcc.dg/tree-prof/indir-call-prof-topn.c: New testcase. - * gcc.dg/tree-prof/crossmodule-indir-call-topn-1.c: New testcase. - * gcc.dg/tree-prof/crossmodule-indir-call-topn-1a.c: New testcase. - * gcc.dg/tree-prof/crossmodule-indir-call-topn-2.c: New testcase. - * lib/scandump.exp: Dump executable file name. - * lib/scanwpaipa.exp: New scan-pgo-wap-ipa-dump. - -2020-01-13 David Malcolm - - * gcc.dg/plugin/diagnostic-test-paths-2.c: Remove unused dg-line - directive. - -2020-01-13 Joseph Myers - - PR c/93241 - * gcc.dg/c11-static-assert-10.c, gcc.dg/c99-const-expr-15.c: New - tests. - -2020-01-13 Martin Sebor - - PR tree-optimization/93213 - * gcc.c-torture/execute/pr93213.c: New test. - -2020-01-10 Thomas Schwinge - - * c-c++-common/goacc/host_data-1.c: Extend. - * gfortran.dg/goacc/host_data-tree.f95: Likewise. - -2020-01-10 Jakub Jelinek - - PR tree-optimization/93210 - * gcc.dg/pr93210.c: New test. - * g++.dg/opt/pr93210.C: New test. - -2020-01-10 Vladimir Makarov - - PR inline-asm/93027 - * gcc.target/i386/pr93027.c: Use the right PR number in the test. - -2020-01-10 Vladimir Makarov - - PR inline-asm/93027 - * gcc.target/i386/pr93207.c: Rename to pr93027.c. - -2020-01-10 Vladimir Makarov - - PR inline-asm/93027 - * gcc.target/i386/pr93207.c: Run it only for x86-64. - -2020-01-10 David Malcolm - - * gcc.dg/format/gcc_diag-10.c (diagnostic_event_id_t): New - typedef. - (test_diag): Add coverage of "%@". - * gcc.dg/plugin/diagnostic-path-format-default.c: New test. - * gcc.dg/plugin/diagnostic-path-format-inline-events-1.c: New test. - * gcc.dg/plugin/diagnostic-path-format-inline-events-2.c: New test. - * gcc.dg/plugin/diagnostic-path-format-inline-events-3.c: New test. - * gcc.dg/plugin/diagnostic-path-format-none.c: New test. - * gcc.dg/plugin/diagnostic-test-paths-1.c: New test. - * gcc.dg/plugin/diagnostic-test-paths-2.c: New test. - * gcc.dg/plugin/diagnostic-test-paths-3.c: New test. - * gcc.dg/plugin/diagnostic-test-paths-4.c: New test. - * gcc.dg/plugin/diagnostic_plugin_test_paths.c: New. - * gcc.dg/plugin/plugin.exp: Add the new plugin and test cases. - -2020-01-10 David Malcolm - - * lib/gcc-dg.exp (cleanup-after-saved-dg-test): Reset global - nn_line_numbers_enabled. - * lib/multiline.exp (nn_line_numbers_enabled): New global. - (dg-enable-nn-line-numbers): New proc. - (maybe-handle-nn-line-numbers): New proc. - * lib/prune.exp (prune_gcc_output): Call maybe-handle-nn-line-numbers. - -2020-01-10 Vladimir Makarov - - PR inline-asm/93027 - * gcc.target/i386/pr93207.c: New test. - -2020-01-10 Wilco Dijkstra - - * testsuite/gcc.target/aarch64/pr90838.c: New test. - -2020-01-10 Stam Markianos-Wright - - * g++.target/aarch64/bfloat_cpp_typecheck.C: New test. - * gcc.target/aarch64/bfloat16_scalar_typecheck.c: New test. - * gcc.target/aarch64/bfloat16_vector_typecheck_1.c: New test. - * gcc.target/aarch64/bfloat16_vector_typecheck_2.c: New test. - -2020-01-10 Stam Markianos-Wright - - * g++.dg/abi/mangle-neon-aarch64.C: Add Bfloat SIMD types to test. - * g++.dg/ext/arm-bf16/bf16-mangle-aarch64-1.C: New test. - * gcc.target/aarch64/bfloat16_scalar_1.c: New test. - * gcc.target/aarch64/bfloat16_scalar_2.c: New test. - * gcc.target/aarch64/bfloat16_scalar_3.c: New test. - * gcc.target/aarch64/bfloat16_scalar_4.c: New test. - * gcc.target/aarch64/bfloat16_simd_1.c: New test. - * gcc.target/aarch64/bfloat16_simd_2.c: New test. - * gcc.target/aarch64/bfloat16_simd_3.c: New test. - -2020-01-10 Richard Sandiford - - * gcc.target/aarch64/sve/struct_vect_1.c (N): Protect with #ifndef. - * gcc.target/aarch64/sve/pcs/return_1_128.c: New test. - * gcc.target/aarch64/sve/pcs/return_4_128.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_5_128.c: Likewise. - * gcc.target/aarch64/sve/pcs/return_6_128.c: Likewise. - * gcc.target/aarch64/sve/pcs/stack_clash_1_128.c: Likewise. - * gcc.target/aarch64/sve/pcs/stack_clash_2_128.c: Likewise. - * gcc.target/aarch64/sve/single_5.c: Likewise. - * gcc.target/aarch64/sve/struct_vect_25.c: Likewise. - * gcc.target/aarch64/sve/struct_vect_26.c: Likewise. - -2020-01-10 Martin Sebor - - PR c/93132 - * gcc.dg/attr-access-read-only-2.c: New test. - -2020-01-10 Richard Sandiford - - * gcc.target/aarch64/sve/sel_1.c: Use SVE types for the arguments and - return values. Use check-function-bodies instead of scan-assembler. - * gcc.target/aarch64/sve/sel_2.c: Likewise - * gcc.target/aarch64/sve/sel_3.c: Likewise. - -2020-01-10 Martin Jambor - - * gcc.dg/ipa/ipa-clone-3.c: Replace struct initializer with - piecemeal initialization. - -2020-01-10 Richard Sandiford - - * gcc.target/aarch64/sve/index_1_run.c: Require aarch64_sve256_hw - rather than aarch64_sve_hw. - -2020-01-10 Richard Biener - - PR testsuite/93216 - * gcc.dg/optimize-bswaphi-1.c: Split previously added - case into a LE and BE variant. - -2020-01-09 Thomas Koenig - - PR fortran/65428 - * gfortran.dg/zero_sized_11.f90: New test. - * gfortran.dg/zero_sized_12.f90: New test. - -2020-01-09 Richard Sandiford - - * g++.target/aarch64/sve/acle/general-c++/mul_lane_1.c: New test. - * g++.target/aarch64/sve2/acle: New directory. - * gcc.target/aarch64/pragma_cpp_predefs_3.c: New test. - * gcc.target/aarch64/sve/acle/asm/test_sve_acle.h (TEST_TYPE_CHANGE_Z) - (TEST_DUAL_ZD, TEST_TYPE_CHANGE_ZX, TEST_TBL2, TEST_TBL2_REV): New - macros. - * gcc.target/aarch64/sve/acle/general-c/binary_lane_1.c: Do not - expect an error saying that the function has no f32 form, but instead - expect an error about SVE2 being required if the current target - doesn't support SVE2. - * gcc.target/aarch64/sve/acle/general-c/ternary_lane_1.c: Likewise. - * gcc.target/aarch64/sve/acle/general-c/ternary_lane_rotate_1.c Likewise. - * gcc.target/aarch64/sve/acle/general-c/binary_long_lane_1.c, - * gcc.target/aarch64/sve/acle/general-c/binary_long_opt_n_1.c, - * gcc.target/aarch64/sve/acle/general-c/binary_narrowb_opt_n_1.c, - * gcc.target/aarch64/sve/acle/general-c/binary_narrowt_opt_n_1.c, - * gcc.target/aarch64/sve/acle/general-c/binary_to_uint_1.c, - * gcc.target/aarch64/sve/acle/general-c/binary_wide_1.c, - * gcc.target/aarch64/sve/acle/general-c/binary_wide_opt_n_1.c, - * gcc.target/aarch64/sve/acle/general-c/compare_1.c, - * gcc.target/aarch64/sve/acle/general-c/compare_ptr_1.c, - * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_index_restricted_1.c, - * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_restricted_1.c, - * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_restricted_2.c, - * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_restricted_3.c, - * gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_restricted_4.c, - * gcc.target/aarch64/sve/acle/general-c/load_gather_sv_restricted_1.c, - * gcc.target/aarch64/sve/acle/general-c/load_gather_sv_restricted_2.c, - * gcc.target/aarch64/sve/acle/general-c/mul_lane_1.c, - * gcc.target/aarch64/sve/acle/general-c/shift_left_imm_long_1.c, - * gcc.target/aarch64/sve/acle/general-c/shift_left_imm_to_uint_1.c, - * gcc.target/aarch64/sve/acle/general-c/shift_left_imm_to_uint_2.c, - * gcc.target/aarch64/sve/acle/general-c/shift_right_imm_narrowb_1.c, - * gcc.target/aarch64/sve/acle/general-c/shift_right_imm_narrowb_to_uint_1.c, - * gcc.target/aarch64/sve/acle/general-c/shift_right_imm_narrowt_1.c, - * gcc.target/aarch64/sve/acle/general-c/shift_right_imm_narrowt_to_uint_1.c, - * gcc.target/aarch64/sve/acle/general-c/store_scatter_index_restricted_1.c, - * gcc.target/aarch64/sve/acle/general-c/store_scatter_offset_restricted_1.c, - * gcc.target/aarch64/sve/acle/general-c/tbl_tuple_1.c, - * gcc.target/aarch64/sve/acle/general-c/ternary_long_lane_1.c, - * gcc.target/aarch64/sve/acle/general-c/ternary_long_opt_n_1.c, - * gcc.target/aarch64/sve/acle/general-c/ternary_qq_lane_rotate_1.c, - * gcc.target/aarch64/sve/acle/general-c/ternary_qq_rotate_1.c, - * gcc.target/aarch64/sve/acle/general-c/ternary_shift_right_imm_1.c, - * gcc.target/aarch64/sve/acle/general-c/ternary_uint_1.c, - * gcc.target/aarch64/sve/acle/general-c/unary_convert_narrowt_1.c, - * gcc.target/aarch64/sve/acle/general-c/unary_narrowb_1.c, - * gcc.target/aarch64/sve/acle/general-c/unary_narrowb_to_uint_1.c, - * gcc.target/aarch64/sve/acle/general-c/unary_narrowt_1.c, - * gcc.target/aarch64/sve/acle/general-c/unary_narrowt_to_uint_1.c, - * gcc.target/aarch64/sve/acle/general-c/unary_to_int_1.c: New tests. - * gcc.target/aarch64/sve2/bcax_1.c: Likewise. - * gcc.target/aarch64/sve2/acle: New directory. - -2020-01-09 Richard Sandiford - - * gcc.target/aarch64/sve/acle/general-c/unary_count_1.c: Rename to... - * gcc.target/aarch64/sve/acle/general-c/unary_to_uint_1.c: ...this. - * gcc.target/aarch64/sve/acle/general-c/unary_count_2.c: Rename to... - * gcc.target/aarch64/sve/acle/general-c/unary_to_uint_2.c: ...this. - * gcc.target/aarch64/sve/acle/general-c/unary_count_3.c: Rename to... - * gcc.target/aarch64/sve/acle/general-c/unary_to_uint_3.c: ...this. - -2020-01-09 Richard Sandiford - - * gcc.target/aarch64/sve/acle/general/nrv_1.c: New test. - -2020-01-09 Richard Sandiford - - * gcc.target/aarch64/sve/pcs/gnu_vectors_1.c: New test. - * gcc.target/aarch64/sve/pcs/gnu_vectors_2.c: Likewise. - -2020-01-09 Tobias Burnus - - PR fortran/84135 - * gfortran.dg/coarray/codimension_3.f90: New. - -2020-01-09 Martin Sebor - - PR middle-end/93200 - * gcc.dg/Wstringop-overflow-30.c: New test. - -2020-01-09 Richard Biener - - PR middle-end/93054 - * gcc.dg/pr93054.c: New testcase. - -2020-01-09 Richard Biener - - PR tree-optimization/93040 - * gcc.dg/optimize-bswaphi-1.c: Amend. - * gcc.dg/optimize-bswapsi-2.c: Likewise. - -2020-01-09 Jakub Jelinek - - PR inline-asm/93202 - * gcc.target/riscv/pr93202.c: New test. - - PR target/93141 - * gcc.target/i386/pr93141-1.c: Add tests with constants that have MSB - of the low half of the constant set. - * gcc.target/i386/pr93141-2.c: New test. - -2020-01-08 Jeff Law - - * gcc.dg/Wstringop-overflow-27.c: Make testnames unique. - -2020-01-08 Joel Brobecker - Olivier Hainque - - * g++.target/aarch64/sve/tls_2.C: Add missing - { dg-require-effective-target fpic } directive. - * gcc.target/aarch64/noplt_2.c: Likewise. - * gcc.target/aarch64/noplt_3.c: Likewise. - * gcc.target/aarch64/pic-constantpool1.c: Likewise. - * gcc.target/aarch64/pic-small.c: Likewise. - * gcc.target/aarch64/pic-symrefplus.c: Likewise. - * gcc.target/aarch64/pr66912.c: Likewise. - * gcc.target/aarch64/sve/tls_1.c: Likewise. - * gcc.target/aarch64/sve/tls_preserve_1.c: Likewise. - * gcc.target/aarch64/sve/tls_preserve_2.c: Likewise. - * gcc.target/aarch64/sve/tls_preserve_3.c: Likewise. - * gcc.target/aarch64/tlsie_tiny_1.c: Likewise. - * gcc.target/aarch64/tlsle12_1.c: Likewise. - * gcc.target/aarch64/tlsle12_tiny_1.c: Likewise. - * gcc.target/aarch64/tlsle24_1.c: Likewise. - * gcc.target/aarch64/tlsle24_tiny_1.c: Likewise. - * gcc.target/aarch64/tlsle32_1.c: Likewise. - * gcc.target/aarch64/tlsle_sizeadj_small_1.c: Likewise. - * gcc.target/aarch64/tlsle_sizeadj_tiny_1.c: Likewise. - -2020-01-08 Jakub Jelinek - - PR target/93187 - * g++.dg/opt/pr93187.C: New test. - - PR target/93174 - * gcc.c-torture/compile/pr93174.c: New test. - -2020-01-08 Olivier Hainque - Alexandre Oliva - - * gcc.target/aarch64/stack-check-alloca.h: Remove - #include alloca.h. #define alloca __builtin_alloca - instead. - * gcc.target/aarch64/stack-check-alloca-1.c: Add - { dg-require-effective-target alloca }. - * gcc.target/aarch64/stack-check-alloca-2.c: Likewise. - * gcc.target/aarch64/stack-check-alloca-3.c: Likewise. - * gcc.target/aarch64/stack-check-alloca-4.c: Likewise. - * gcc.target/aarch64/stack-check-alloca-5.c: Likewise. - * gcc.target/aarch64/stack-check-alloca-6.c: Likewise. - * gcc.target/aarch64/stack-check-alloca-7.c: Likewise. - * gcc.target/aarch64/stack-check-alloca-8.c: Likewise. - * gcc.target/aarch64/stack-check-alloca-9.c: Likewise. - * gcc.target/aarch64/stack-check-alloca-10.c: Likewise. - -2020-01-08 Martin Liska - - * gcc.dg/ipa/ipa-icf-1.c: Update expected scanned output. - * gcc.dg/ipa/ipa-icf-10.c: Likewise. - * gcc.dg/ipa/ipa-icf-11.c: Likewise. - * gcc.dg/ipa/ipa-icf-12.c: Likewise. - * gcc.dg/ipa/ipa-icf-13.c: Likewise. - * gcc.dg/ipa/ipa-icf-16.c: Likewise. - * gcc.dg/ipa/ipa-icf-18.c: Likewise. - * gcc.dg/ipa/ipa-icf-2.c: Likewise. - * gcc.dg/ipa/ipa-icf-20.c: Likewise. - * gcc.dg/ipa/ipa-icf-21.c: Likewise. - * gcc.dg/ipa/ipa-icf-23.c: Likewise. - * gcc.dg/ipa/ipa-icf-25.c: Likewise. - * gcc.dg/ipa/ipa-icf-26.c: Likewise. - * gcc.dg/ipa/ipa-icf-27.c: Likewise. - * gcc.dg/ipa/ipa-icf-3.c: Likewise. - * gcc.dg/ipa/ipa-icf-35.c: Likewise. - * gcc.dg/ipa/ipa-icf-36.c: Likewise. - * gcc.dg/ipa/ipa-icf-37.c: Likewise. - * gcc.dg/ipa/ipa-icf-38.c: Likewise. - * gcc.dg/ipa/ipa-icf-5.c: Likewise. - * gcc.dg/ipa/ipa-icf-7.c: Likewise. - * gcc.dg/ipa/ipa-icf-8.c: Likewise. - * gcc.dg/ipa/ipa-icf-merge-1.c: Likewise. - * gcc.dg/ipa/pr64307.c: Likewise. - * gcc.dg/ipa/pr90555.c: Likewise. - * gcc.dg/ipa/propmalloc-1.c: Likewise. - * gcc.dg/ipa/propmalloc-2.c: Likewise. - * gcc.dg/ipa/propmalloc-3.c: Likewise. - -2020-01-08 Richard Biener - - PR testsuite/92997 - -2020-01-08 Richard Earnshaw - - PR target/93188 - * gcc.target/arm/multilib.exp: Add new tests for rm-profile only. - -2020-01-08 Feng Xue - - PR ipa/93084 - * gcc.dg/ipa/ipa-clone-3.c: New test. - -2020-01-07 Paolo Carlini - - * g++.old-deja/g++.bugs/900208_03.C: Check locations too. - * g++.old-deja/g++.bugs/900519_06.C: Likewise. - -2020-01-07 Andre Vieira - - * gcc.dg/vect/vect-epilogues.c: XFAIL for arm big endian. - -2020-01-07 Richard Sandiford - - * gcc.target/aarch64/sve/pcs/asm_4.c: New test. - -2020-01-07 Richard Sandiford - - * g++.target/aarch64/sve/acle/general-c++/mangle_5.C: New test. - * gcc.target/aarch64/sve/pcs/asm_1.c: Likewise. - * gcc.target/aarch64/sve/pcs/asm_2.c: Likewise. - * gcc.target/aarch64/sve/pcs/asm_3.c: Likewise. - -2020-01-07 Jakub Jelinek - - PR tree-optimization/93156 - * gcc.dg/tree-ssa/pr93156.c: New test. - - PR tree-optimization/93118 - * gcc.dg/tree-ssa/pr93118.c: New test. - -2020-01-07 Martin Liska - - PR tree-optimization/92860 - * gcc.dg/pr92860-2.c: New test. - -2020-01-07 Martin Liska - - PR tree-optimization/92860 - * gcc.dg/pr92860.c: New test. - -2020-01-07 Jakub Jelinek - - PR c++/91369 - * g++.dg/cpp1y/constexpr-new.C: Expect an error explaining why - static_assert failed for C++2a. - * g++.dg/cpp2a/constexpr-new9.C: New test. - -2020-01-06 Richard Sandiford - - * gcc.target/aarch64/sve/asrdiv_1.c: Remove trailing %s. - * gcc.target/aarch64/sve/asrdiv_2.c: New test. - * gcc.target/aarch64/sve/asrdiv_3.c: Likewise. - -2020-01-06 Richard Sandiford - - * gcc.dg/vect/vect-cond-arith-8.c: New test. - * gcc.target/aarch64/sve/cond_fmul_5.c: Likewise. - -2020-01-06 Nathan Sidwell - - PR c++/79592 - * g++.dg/ubsan/vptr-4.C: Add expected error. - -2020-01-06 Richard Sandiford - - * gcc.target/aarch64/sve/acle/general/cpy_1.c: New test. - -2020-01-05 Andrew Pinski - - * gcc.c-torture/compile/20200105-1.c: New testcase. - * gcc.c-torture/compile/20200105-2.c: New testcase. - * gcc.c-torture/compile/20200105-3.c: New testcase. - -2020-01-05 Iain Sandoe - - * gcc.dg/darwin-version-1.c: Adjust test to use different - options for Darwin4-9 and Darwin10+. - -2020-01-05 Jakub Jelinek - - PR target/93141 - * gcc.target/i386/pr93141-1.c: New test. - * gcc.dg/pr67089-6.c: Expect 16 ADD_OVERFLOW calls even on ia32. - - PR c++/93138 - * g++.dg/warn/Wredundant-tags-2.C: New test. - - PR c++/93046 - * g++.dg/ext/cond4.C: New test. - -2020-01-04 Tobias Burnus - - PR fortran/91640 - * gfortran.dg/contiguous_10.f90: New. - -2020-01-03 Iain Sandoe - - * gcc.target/i386/avx512bw-pr92686-vpcmp-intelasm-1.c: Require - effective target masm_intel. - * gcc.target/i386/avx512vl-pr92686-vpcmp-intelasm-1.c: Likewise. - -2020-01-03 Jakub Jelinek - - PR target/93089 - * gcc.target/i386/pr93089-2.c: New test. - * gcc.target/i386/pr93089-3.c: New test. - - PR target/93089 - * gcc.target/i386/pr93089-1.c: New test. - - PR target/93110 - * gcc.dg/torture/pr93110.c: New test. - - PR rtl-optimization/93088 - * gcc.target/i386/pr93088.c: New test. - -2020-01-03 Tobias Burnus - - PR fortran/92994 - * gfortran.dg/associate_50.f90: Update dg-error. - * gfortran.dg/associate_51.f90: New. - -2020-01-03 Jakub Jelinek - - PR fortran/68020 - * gfortran.dg/impled_shape_5.f90: Use dg-do compile rather than dg-do - run. - -2020-01-02 Andrew Pinski - - * gcc.c-torture/execute/bitfld-8.c: New testcase. - * gcc.c-torture/execute/bitfld-9.c: New testcase. - -2020-01-02 Jakub Jelinek - - PR c/90677 - * c-c++-common/pr90677-2.c: New test. - -2020-01-02 Dennis Zhang - - * gcc.target/arm/multilib.exp: Add combination tests for armv8.6-a. - -2020-01-02 Tobias Burnus - - PR fortran/68020 - * gfortran.dg/implied_shape_4.f90: New. - * gfortran.dg/implied_shape_5.f90: New. - -2020-01-02 Jakub Jelinek - - PR ipa/93087 - * c-c++-common/cold-1.c: New test. - -2020-01-01 Jerry DeLisle - - PR libfortran/90374 - * gfortran.dg/fmt_zero_width.f90: Update test case. - -2020-01-01 Thomas Koenig - - PR fortran/93113 - * gfortran.dg/dependency_58.f90: New test. - -2020-01-01 Jakub Jelinek - - Update copyright years. - - PR tree-optimization/93098 - * gcc.c-torture/compile/pr93098.c: New test. -Copyright (C) 2020 Free Software Foundation, Inc. +Copyright (C) 2021 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 4967867bd6d..21e8799b653 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,390 +1,5 @@ -2020-12-05 Iain Sandoe - - PR target/97865 - * configure: Regenerate. - -2020-11-29 John David Anglin - - * configure: Regenerate. - -2020-11-26 Maciej W. Rozycki - - * io/io.h [HAVE_NEWLOCALE]: Also check for HAVE_FREELOCALE and - HAVE_USELOCALE. - [HAVE_FREELOCALE && HAVE_NEWLOCALE && HAVE_USELOCALE] - (HAVE_POSIX_2008_LOCALE): New macro. - (st_parameter_dt) [HAVE_NEWLOCALE]: Check for - HAVE_POSIX_2008_LOCALE instead. - * io/transfer.c (data_transfer_init_worker, finalize_transfer) - [HAVE_USELOCALE]: Check for HAVE_POSIX_2008_LOCALE instead. - * io/unit.c [HAVE_NEWLOCALE]: Likewise. - (init_units) [HAVE_NEWLOCALE]: Likewise. - (close_units) [HAVE_FREELOCALE]: Likewise. - * runtime/error.c (gf_strerror) [HAVE_USELOCALE]: Likewise. - -2020-11-26 Maciej W. Rozycki - - * libgfortran.h: Use #if rather than #ifdef with - __FLT_HAS_INFINITY__, __DBL_HAS_INFINITY__, - __LDBL_HAS_INFINITY__, __FLT_HAS_QUIET_NAN__, - __DBL_HAS_QUIET_NAN__, and __LDBL_HAS_QUIET_NAN__. - -2020-11-21 Iain Sandoe - - * intrinsics/execute_command_line.c (environ): Use - _NSGetEnviron to get the environment pointer on Darwin. - -2020-10-30 Harald Anlauf - - * intrinsics/random.c (SZ_IN_INT_4): Define size of state in int32_t. - (SZ_IN_INT_8): Define size of state in int64_t. - (SZ): Remove. - (random_seed_i4): Use size SZ_IN_INT_4 instead of SZ. - (random_seed_i8): Use size SZ_IN_INT_8 instead of SZ. - -2020-10-18 Harald Anlauf - - * m4/matmul_internal.m4: Move check for rank-1 times rank-2 before - checks on strides for rank-2 times rank-2. - * 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. - -2020-09-28 Tobias Burnus - - * m4/unpack.m4 (unpack0_'rtype_code`, - unpack1_'rtype_code`): Move 'rstride[0]' initialization outside - conditional branch to silence -Wmaybe-uninitialized. - * generated/unpack_c10.c: Regenerate. - * generated/unpack_c16.c: Regenerate. - * generated/unpack_c4.c: Regenerate. - * generated/unpack_c8.c: Regenerate. - * generated/unpack_i1.c: Regenerate. - * generated/unpack_i16.c: Regenerate. - * generated/unpack_i2.c: Regenerate. - * generated/unpack_i4.c: Regenerate. - * generated/unpack_i8.c: Regenerate. - * generated/unpack_r10.c: Regenerate. - * generated/unpack_r16.c: Regenerate. - * generated/unpack_r4.c: Regenerate. - * generated/unpack_r8.c: Regenerate. - -2020-09-27 Clement Chigot - - * config/t-aix: Use $(AR) without -X32_64. - -2020-09-03 Harald Anlauf - - * m4/iall.m4: Initial value for result should be -1. - * generated/iall_i1.c (miall_i1): Generated. - * generated/iall_i16.c (miall_i16): Likewise. - * generated/iall_i2.c (miall_i2): Likewise. - * generated/iall_i4.c (miall_i4): Likewise. - * generated/iall_i8.c (miall_i8): Likewise. - -2020-08-24 Mark Eggleston - - PR fortran/96486 - * intrinsics/env.c: If value_len is > 0 blank the string. - Copy the result only if its length is > 0. - -2020-08-20 Mark Eggleston - - PR fortran/96436 - * io/format.c (parse_format_list): Add new local variable - "standard" to hold the required standard to check. If the - format width is zero select standard depending on descriptor. - Call notification_std using the new standard variable. - -2020-08-17 David Edelsohn - Clement Chigot - - * config/t-aix: Add complementary mode object file to libcaf_single.a. - -2020-08-03 Tobias Burnus - - * caf/single.c (_gfortran_caf_lock): Fix typo. - -2020-07-26 Tobias Burnus - - PR target/96306 - * configure.ac: Add LIBGOMP_CHECKED_INT_KINDS and - LIBGOMP_CHECKED_REAL_KINDS and use it for to skip - integer kind=16 checks for amdgcn. - * Makefile.am (kinds.h, selected_int_kind.inc, - selected_real_kind.inc): Pass them on. - * mk-kinds-h.sh: Takes to-be-check kinds as argument. - * mk-sik-inc.sh: Likewise. - * mk-srk-inc.sh: Likewise. - * Makefile.in: Regenerate. - * configure: Regenerate. - -2020-07-24 Dominique d'Humieres - - PR fortran/93567 - * io/write_float.def (determine_en_precision): Fix switch between - FMT_E and FMT_F. - -2020-07-24 Dominique d'Humieres - - PR fortran/93592 - * io/write_float.def (build_float_string): Do not reset - nbefore for FMT_F and FMT_EN. - -2020-07-14 David Edelsohn - - * config/t-aix: Set BITS from compiler cpp macro. - -2020-06-22 David Edelsohn - - * Makefile.am: Use -include. - * Makefile.in: Regenerate. - -2020-06-21 David Edelsohn - - * Makefile.am (tmake_file): Build and install AIX-style FAT libraries. - * Makefile.in: Regenerate. - * configure.ac (tmake_file): Substitute. - * configure: Regenerate. - * configure.host: Add system configury stanza. Define tmake_file. - * config/t-aix: New file. - -2020-06-13 Thomas Koenig - - PR libfortran/95313 - * io/write.c (ztoa_big): Disable -Wstringop-overflow for one - line. - -2020-06-08 Harald Anlauf - - PR fortran/95091 - * io/transfer.c (finalize_transfer): Fix type in error message. - -2020-06-01 Uroš Bizjak - - PR libfortran/95418 - * config/fpu-387.h (struct fenv): Add __attribute__ ((gcc_struct)). - -2020-05-29 H.J. Lu - - PR bootstrap/95413 - * configure: Regenerated. - -2020-05-29 Jakub Jelinek - - PR libfortran/95390 - * Makefile.am (i_findloc0_c): Add findloc0_i10.c. - (i_findloc1_c): Add findloc1_i10.c. - * gfortran.map (GFORTRAN_10.2): New symbol version, export - _gfortran_{,m,s}findloc{0,1}_c10 symbols. - * Makefile.in: Regenerated. - * generated/findloc0_c10.c: Generated. - * generated/findloc1_c10.c: Generated. - -2020-05-28 Harald Anlauf - - PR libfortran/95104 - * io/unit.c (unlock_unit): Guard by check for NULL pointer. - -2020-05-26 Harald Anlauf - Steven G. Kargl - - PR libfortran/95104 - * io/transfer.c (st_wait_async): Do not dereference NULL pointer. - -2020-05-26 Harald Anlauf - - PR fortran/95195 - * io/transfer.c (finalize_transfer): Generate runtime error for - namelist input/output to unformatted file. - -2020-05-23 Thomas Koenig - - PR libfortran/95191 - * io/async.c (async_wait_id): Generate error if ID is higher - than the highest current ID. - * runtime/error.c (translate_error): Handle LIBERROR_BAD_WAIT_ID. - -2020-05-21 H.J. Lu - - * m4/matmul.m4: Don't include . Use - __builtin_cpu_is/__builtin_cpu_supports - * 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. - -2020-05-15 H.J. Lu - - PR bootstrap/95147 - * configure: Regenerated. - -2020-05-14 Thomas Koenig - - PR libfortran/95119 - * io/close.c (close_status): Add CLOSE_INVALID. - (st_close): Return early on invalid STATUS parameter. - -2020-05-14 H.J. Lu - - * configure: Regenerated. - -2020-05-06 Uroš Bizjak - - * config/fpu-387.h (__math_force_eval): Remove. - (__math_force_eval_div): New define. - (local_feraiseexcept): Use __math_force_eval_div to use - generic division to generate INVALID, DIVZERO and INEXACT - exceptions. - (struct fenv): Define named struct instead of typedef. - -2020-05-01 Uroš Bizjak - - * config/fpu-387.h (__math_force_eval): New define. - (local_feraiseexcept): Use __math_force_eval to evaluate - generic division to generate INVALID and DIVZERO exceptions. - -2020-04-22 Fritz Reese - - * intrinsics/trigd.c, intrinsics/trigd_lib.inc, intrinsics/trigd.inc: - Guard against unavailable math functions. - Use suffixes from kinds.h based on the REAL kind. - -2020-04-22 Jakub Jelinek - - PR libfortran/94694 - PR libfortran/94586 - * configure.ac: Add math func checks for fmaf, fma and fmal. Add - HAVE_INLINE_BUILTIN_COPYSIGN check. - * c99_protos.h (copysign, fmaf, fma, fmal): Provide fallback - prototypes. - (HAVE_COPYSIGN, HAVE_FMAF, HAVE_FMA, HAVE_FMAL): Define if not - defined and fallback version is provided. - * intrinsics/c99_functions.c (copysign, fmaf, fma, fmal): Provide - fallback implementations if possible - * configure: Regenerated. - * config.h.in: Regenerated. - -2020-04-19 Uroš Bizjak - - * config/fpu-387.h (local_feraiseexcept) [__SSE_MATH__]: - Remove unneeded assignments to volatile memory. - -2020-04-01 Fritz Reese - Steven G. Kargl - - PR fortran/93871 - * Makefile.am, Makefile.in: New make rule for intrinsics/trigd.c. - * gfortran.map: New routines for {sind, cosd, tand}X{r4, r8, r10, r16}. - * intrinsics/trigd.c, intrinsics/trigd_lib.inc, intrinsics/trigd.inc: - New files. Defines native degree-valued trig functions. - -2020-02-18 Thomas Koenig - - PR fortran/93599 - * io/async.c (destroy_adv_cond): Do not destroy lock. - (async_io): Make sure au->lock is locked for finishing of thread. - Do not lock/unlock around signalling emptysignal. Unlock au->lock - before return. - (init_adv_cond): Do not initialize lock. - (enqueue_transfer): Unlock after signal. - (enqueue_done_id): Likewise. - (enqueue_done): Likewise. - (enqueue_close): Likewise. - (enqueue_data_transfer): Likewise. - (async_wait_id): Do not lock/unlock around signalling au->work. - (async_wait): Unlock after signal. - * io/async.h (SIGNAL): Add comment about needed au->lock. - Remove locking/unlocking of advcond->lock. - (WAIT_SIGNAL_MUTEX): Add comment. Remove locking/unlocking of - advcond->lock. Unlock mutex only at the end. Loop on - __ghread_cond_wait returning zero. - (REVOKE_SIGNAL): Add comment. Remove locking/unlocking of - advcond->lock. - (struct adv_cond): Remove mutex from struct. - -2020-02-12 Sandra Loosemore - - PR libstdc++/79193 - PR libstdc++/88999 - - * configure: Regenerated. - -2020-01-24 Maciej W. Rozycki - - * configure.ac: Handle `--with-toolexeclibdir='. - * Makefile.in: Regenerate. - * aclocal.m4: Regenerate. - * configure: Regenerate. - -2020-01-17 Jerry DeLisle - - PR libfortran/93234 - * io/unit.c (set_internal_unit): Set round and sign flags - correctly. - -2020-01-17 Jerry DeLisle - - PR libfortran/90374 - * io/format.c (parse_format_list): Zero width not allowed with - FMT_D. - * io/write_float.def (build_float_string): Include range of - higher exponent values that require wider width. - -2020-01-01 Jerry DeLisle - - PR libfortran/90374 - * io/format.c (parse_format_list): Implement the E0 exponent - width to provide smallest possible width for exponent fields. - Refactor code for correct parsing and better readability of the - code. - * io/io.h (write_real_w0): Change interface to pass in pointer - to fnode. - * io/transfer.c: Update all calls to write_real_w0 to use the - new interface. - * io/write.c ((write_real_w0): Use the new interface with fnode - to access both the decimal precision and exponent widths used in - build_float_string. - * io/write_float.def (build_float_string): Use the passed in - exponent width to calculate the used width in the case of E0. - -2020-01-01 Jakub Jelinek - - Update copyright years. -Copyright (C) 2020 Free Software Foundation, Inc. +Copyright (C) 2021 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 5b6b170834e..21e8799b653 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,8775 +1,5 @@ -2020-12-27 Gerald Pfeifer - - * doc/xml/manual/abi.xml: Update link to Arm ABI. - * doc/html/manual/abi.html: Regenerate. - -2020-12-27 Gerald Pfeifer - - * doc/xml/manual/debug.xml: Move Valgrind references to https. - * doc/html/manual/debug.html: Regenerate. - -2020-12-26 Gerald Pfeifer - - * doc/xml/manual/abi.xml: Update link to Intel's compatibility - with GNU compilers document. - * doc/html/manual/abi.html: Regenerate. - -2020-12-25 Gerald Pfeifer - - * doc/xml/manual/messages.xml: Update link to Java docs. - * doc/html/manual/facets.html: Ditto. - -2020-12-25 Gerald Pfeifer - - * doc/xml/manual/documentation_hacking.xml: Convert three links - to doxygen.nl to https. - * doc/html/manual/documentation_hacking.html: Regenerate. - -2020-12-23 Olivier Hainque - - * testsuite/17_intro/names.cc: Account for VxWorks headers. - -2020-12-21 Patrick Palka - - * include/bits/c++config (_GLIBCXX_FLOAT_IS_IEEE_BINARY_32): - Define this macro. - (_GLIBCXX_DOUBLE_IS_IEEE_BINARY_64): Likewise. - * include/std/charconv (to_chars): Use these macros to - conditionally hide the overloads for floating-point types. - * src/c++17/floating_to_chars.cc: Use the macros to - conditionally disable this file. - (floating_type_traits): Remove redundant static assert. - (floating_type_traits): Likewise. - * testsuite/20_util/to_chars/double.cc: Run this test only on - ieee-floats effective targets. - * testsuite/20_util/to_chars/float.cc: Likewise. - * testsuite/20_util/to_chars/long_double.cc: Likewise. - * testsuite/lib/libstdc++.exp - (check_effective_target_ieee-floats): Define new proc for - detecting whether float and double have the IEEE binary32 and - binary64 formats. - -2020-12-20 Jonathan Wakely - - * include/std/semaphore: Fix indentation. - -2020-12-18 Patrick Palka - - PR libstdc++/98377 - * src/c++17/floating_to_chars.cc (__floating_to_chars_precision): - Fix mistake. - -2020-12-18 Patrick Palka - - PR libstdc++/98370 - * src/c++17/floating_to_chars.cc (__floating_to_chars_shortest): - Provide explicit template arguments to the call to std::max. - -2020-12-18 Patrick Palka - - PR libstdc++/98374 - * src/c++17/floating_to_chars.cc: Guard include of - with __has_include. - (__floating_to_chars_precision) [!defined(RADIXCHAR)]: Don't - attempt to obtain the radix character of the current locale, - just assume it's '.'. - -2020-12-18 Patrick Palka - - * src/c++17/floating_from_chars.cc (from_chars_impl) - [!defined(FE_TONEAREST)]: Don't adjust the rounding mode. - * src/c++17/floating_to_chars.cc (__floating_to_chars_precision): - Likewise. - -2020-12-18 Patrick Palka - - * testsuite/20_util/to_chars/double.cc: New test, consisting of - testcases imported from the MSVC STL testsuite. - * testsuite/20_util/to_chars/float.cc: Likewise. - -2020-12-18 Patrick Palka - - * config/abi/pre/gnu.ver: Add new exports. - * include/std/charconv (to_chars): Declare the floating-point - overloads for float, double and long double. - * src/c++17/Makefile.am (sources): Add floating_to_chars.cc. - * src/c++17/Makefile.in: Regenerate. - * src/c++17/floating_to_chars.cc: New file. - (to_chars): Define for float, double and long double. - * testsuite/20_util/to_chars/long_double.cc: New test. - -2020-12-18 Patrick Palka - - * src/c++17/ryu/common.h, src/c++17/ryu/d2fixed.c, - src/c++17/ryu/d2fixed_full_table.h, src/c++17/ryu/d2s.c, - src/c++17/ryu/d2s_intrinsics.h, src/c++17/ryu/f2s.c, - src/c++17/ryu/f2s_intrinsics.h, src/c++17/ryu/generic_128.c: - Apply local modifications. - -2020-12-18 Patrick Palka - - * src/c++17/ryu/MERGE: New file. - * src/c++17/ryu/common.h, src/c++17/ryu/d2fixed.c, - src/c++17/ryu/d2fixed_full_table.h, src/c++17/ryu/d2s.c, - src/c++17/ryu/d2s_full_table.h, src/c++17/ryu/d2s_intrinsics.h, - src/c++17/ryu/digit_table.h, src/c++17/ryu/f2s.c, - src/c++17/ryu/f2s_intrinsics.h, src/c++17/ryu/generic_128.c, - src/c++17/ryu/generic_128.h, src/c++17/ryu/ryu_generic_128.h: - Import these files from the Ryu library. - -2020-12-17 Jonathan Wakely - - * config/os/djgpp/error_constants.h: Test POSIX errno macros - directly, instead of corresponding _GLIBCXX_HAVE_EXXX macros. - * config/os/mingw32-w64/error_constants.h: Likewise. - * config/os/mingw32/error_constants.h: Likewise. - -2020-12-17 Jonathan Wakely - - * testsuite/lib/libstdc++.exp (check_v3_target_gthreads_timed): - Fix condition for _GTHREAD_USE_MUTEX_TIMEDLOCK test. - -2020-12-17 Jonathan Wakely - - * src/c++11/mutex.cc (std::once_flag::_M_finish): Add - maybe_unused attribute to variable used in assertion. - -2020-12-17 Jonathan Wakely - - PR libstdc++/98344 - * include/bits/semaphore_base.h: Fix preprocessor condition. - -2020-12-17 Jonathan Wakely - - * include/bits/std_thread.h (hash): Move here, - from ... - * include/std/thread (hash): ... here. - -2020-12-17 Jonathan Wakely - - * config.h.in: Regenerate. - * configure: Regenerate. - -2020-12-16 Jonathan Wakely - - * Makefile.in: Regenerate. - * config.h.in: Regenerate. - * config/abi/pre/gnu.ver: Make patterns less greedy. - * config/os/gnu-linux/ldbl-ieee128-extra.ver: New file with patterns - for IEEE128 long double symbols. - * configure: Regenerate. - * configure.ac: Enable alternative 128-bit long double format on - powerpc64*-*-linux*. - * doc/Makefile.in: Regenerate. - * fragment.am: Regenerate. - * include/Makefile.am: Set _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT. - * include/Makefile.in: Regenerate. - * include/bits/c++config: Define inline namespace for new long - double symbols. Don't define _GLIBCXX_USE_FLOAT128 when it's the - same type as long double. - * include/bits/locale_classes.h [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT] - (locale::_Impl::_M_init_extra_ldbl128): Declare new member function. - * include/bits/locale_facets.h (_GLIBCXX_NUM_FACETS): Simplify by - only counting narrow character facets. - (_GLIBCXX_NUM_CXX11_FACETS): Likewise. - (_GLIBCXX_NUM_LBDL_ALT128_FACETS): New. - [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT] (num_get::__do_get): Define - vtable placeholder for __ibm128 long double type. - [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT && __LONG_DOUBLE_IEEE128__] - (num_get::__do_get): Declare vtable placeholder for __ibm128 long - double type. - [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT && __LONG_DOUBLE_IEEE128__] - (num_put::__do_put): Likewise. - * include/bits/locale_facets.tcc - [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT && __LONG_DOUBLE_IEEE128__] - (num_get::__do_get, num_put::__do_put): Define. - * include/bits/locale_facets_nonio.h - [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT && __LONG_DOUBLE_IEEE128__] - (money_get::__do_get): Declare vtable placeholder for __ibm128 long - double type. - [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT && __LONG_DOUBLE_IEEE128__] - (money_put::__do_put): Likewise. - * include/bits/locale_facets_nonio.tcc - [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT && __LONG_DOUBLE_IEEE128__] - (money_get::__do_get, money_put::__do_put): Define. - * include/ext/numeric_traits.h [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT] - (__numeric_traits<__ibm128>, __numeric_traits<__ieee128>): Define. - * libsupc++/Makefile.in: Regenerate. - * po/Makefile.in: Regenerate. - * python/Makefile.in: Regenerate. - * src/Makefile.am: Add compatibility-ldbl-alt128.cc and - compatibility-ldbl-alt128-cxx11.cc sources and recipes for objects. - * src/Makefile.in: Regenerate. - * src/c++11/Makefile.in: Regenerate. - * src/c++11/compatibility-ldbl-alt128-cxx11.cc: New file defining - symbols using the old 128-bit long double format, for the cxx11 ABI. - * src/c++11/compatibility-ldbl-alt128.cc: Likewise, for the - gcc4-compatible ABI. - * src/c++11/compatibility-ldbl-facets-aliases.h: New header for long - double compat aliases. - * src/c++11/cow-locale_init.cc: Add comment. - * src/c++11/cxx11-locale-inst.cc: Define C and C_is_char - unconditionally. - * src/c++11/cxx11-wlocale-inst.cc: Add sanity check. Include - locale-inst.cc directly, not via cxx11-locale-inst.cc. - * src/c++11/locale-inst-monetary.h: New header for monetary - category instantiations. - * src/c++11/locale-inst-numeric.h: New header for numeric category - instantiations. - * src/c++11/locale-inst.cc: Include new headers for monetary, - numeric, and long double definitions. - * src/c++11/wlocale-inst.cc: Remove long double compat aliases that - are defined in new header now. - * src/c++17/Makefile.am: Use -mabi=ibmlongdouble for - floating_from_chars.cc. - * src/c++17/Makefile.in: Regenerate. - * src/c++17/floating_from_chars.cc (from_chars_impl): Add - if-constexpr branch for __ieee128. - (from_chars): Overload for __ieee128. - * src/c++20/Makefile.in: Regenerate. - * src/c++98/Makefile.in: Regenerate. - * src/c++98/locale_init.cc (num_facets): Adjust calculation. - (locale::_Impl::_Impl(size_t)): Call _M_init_extra_ldbl128. - * src/c++98/localename.cc (num_facets): Adjust calculation. - (locale::_Impl::_Impl(const char*, size_t)): Call - _M_init_extra_ldbl128. - * src/filesystem/Makefile.in: Regenerate. - * testsuite/Makefile.in: Regenerate. - * testsuite/util/testsuite_abi.cc: Add new symbol versions. - Allow new symbols to be added to GLIBCXX_IEEE128_3.4.29 and - CXXABI_IEEE128_1.3.13 too. - * testsuite/26_numerics/complex/abi_tag.cc: Add u9__ieee128 to - regex matching expected symbols. - -2020-12-16 Jonathan Wakely - - * include/std/utility: Use __has_builtin without checking if - it's defined. - -2020-12-16 Jonathan Wakely - - * include/bits/c++config: Warn if __STRICT_ANSI__ state is - inconsistent with __GLIBCXX_TYPE_INT_N_0. - -2020-12-16 Jonathan Wakely - - PR libstdc++/96083 - * include/ext/throw_allocator.h: Use __has_builtin to check for - __builtin_sprintf support, and use std::sprtinf if necessary. - -2020-12-16 Jonathan Wakely - - PR libstdc++/98319 - * include/experimental/random: Only define contents for C++14 - and later. - * include/experimental/source_location: Likewise. - * include/experimental/utility: Likewise. - * testsuite/experimental/feat-lib-fund.cc: Include all LFTS - headers that are present. Allow test to run for all modes. - -2020-12-16 Jonathan Wakely - - PR libstdc++/46447 - * testsuite/performance/29_atomics/atomic_flag.cc: New test. - -2020-12-16 Jonathan Wakely - - PR libstdc++/93151 - * acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR): Remove. - * configure.ac: Regenerate. - * config/os/generic/error_constants.h: Test POSIX errno macros - directly, instead of corresponding _GLIBCXX_HAVE_EXXX macros. - * testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc: - Likewise. - * testsuite/19_diagnostics/headers/system_error/93151.cc: New - test. - -2020-12-15 Jonathan Wakely - - Revert: - 2020-12-15 Jonathan Wakely - - PR libstdc++/98108 - * include/std/iostream (__ioinit): Add init_priority attribute. - -2020-12-15 Keith Packard - - * acinclude.m4 (GLIBCXX_ENABLE_CSTDIO): Allow "stdio_pure" - option and define _GLIBCXX_USE_PURE_STDIO when it is used. Also - add "stdio_posix" option as an alias for "stdio". - * config/io/basic_file_stdio.cc [_GLIBCXX_USE_PURE_STDIO]: Only - use defined stdio entry points for all I/O operations, without - direct calls to underlying POSIX functions. - * config.h.in: Regenerate. - * configure: Regenerate. - -2020-12-15 Ville Voutilainen - - * testsuite/27_io/rvalue_streams.cc: Run the extraction to a char* - for C++17 and lower only. - -2020-12-15 Jonathan Wakely - - * testsuite/25_algorithms/lexicographical_compare/deque_iterators/1.cc: - Add dg-timeout-factor directive. - * testsuite/ext/pb_ds/regression/tree_map_rand_debug.cc: - Increase timeout factor from 2.0 to 3.0. - * testsuite/ext/pb_ds/regression/tree_set_rand_debug.cc: - Likewise. - * testsuite/lib/libstdc++.exp (check_effective_target_debug-mode): - Define "debug-mode" as an effective-target keyword. - -2020-12-15 Jonathan Wakely - - * include/bits/c++config (__glibcxx_assert_1): Define as empty - for C++11. - -2020-12-15 Marius Hillenbrand - - * testsuite/22_locale/locale/cons/5.cc: Add missing directives - for required locales. - -2020-12-15 Jonathan Wakely - - * include/bits/iterator_concepts.h (incrementable_traits): - Remove workaround for PR c++/78173. - -2020-12-15 Vladimir Vishnevsky - - * configure.ac: Skip AC_LIBTOOL_DLOPEN check if avr-libc is used. - * configure: Regenerate. - -2020-12-15 Jonathan Wakely - - PR libstdc++/98108 - * include/std/iostream (__ioinit): Add init_priority attribute. - -2020-12-15 Gerald Pfeifer - - * doc/xml/manual/codecvt.xml: Update link to Unicode-HOWTO. - * doc/html/manual/facets.html: Regenerate. - -2020-12-14 François Dumont - - * testsuite/23_containers/array/debug/back1_neg.cc: Target c++14 because assertion - is disabled in C++11. - * testsuite/23_containers/array/debug/front1_neg.cc: Likewise. - * testsuite/23_containers/array/debug/square_brackets_operator1_neg.cc: Likewise. - -2020-12-14 Martin Sebor - - * testsuite/ext/vstring/requirements/exception/basic.cc: Suppress - a false positive warning. - * testsuite/ext/vstring/requirements/exception/propagation_consistent.cc: - Same. - -2020-12-14 François Dumont - - * testsuite/23_containers/array/debug/back2_neg.cc: target c++14 because assertion - for constexpr is disabled in C++11. - * testsuite/23_containers/array/debug/front2_neg.cc: Likewise. - * testsuite/23_containers/array/debug/square_brackets_operator2_neg.cc: Likewise. - * testsuite/23_containers/vector/debug/multithreaded_swap.cc: Include - for shared_ptr. - -2020-12-12 François Dumont - - * include/debug/macros.h (__glibcxx_check_can_increment_range): Replace - _GLIBCXX_DEBUG_VERIFY_COND_AT usage with _GLIBCXX_DEBUG_VERIFY_AT_F. - (__glibcxx_check_can_decrement_range): Likewise. - * testsuite/25_algorithms/copy_backward/constexpr.cc (test03): New. - * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: New test. - * testsuite/25_algorithms/copy_backward/debug/constexpr_neg.cc: New test. - * testsuite/25_algorithms/equal/constexpr_neg.cc: New test. - * testsuite/25_algorithms/equal/debug/constexpr_neg.cc: New test. - -2020-12-10 Jonathan Wakely - - PR libstdc++/98226 - * include/std/bit (__countl_one, __countr_one): Remove redundant - branches. - -2020-12-09 Jonathan Wakely - - * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Define NO_SLEEP - if none of nanosleep, sleep and Sleep is available. - * config.h.in: Regenerate. - * configure: Regenerate. - * include/std/thread [_GLIBCXX_NO_SLEEP] (__sleep_for): Do - not declare. - [_GLIBCXX_NO_SLEEP] (sleep_for, sleep_until): Do not - define. - * src/c++11/thread.cc [_GLIBCXX_NO_SLEEP] (__sleep_for): Do - not define. - -2020-12-08 Jason Merrill - - PR c++/96299 - * testsuite/18_support/comparisons/algorithms/partial_order.cc: - One more line needs to use VERIFY instead of static_assert. - -2020-12-08 Jonathan Wakely - - * doc/xml/manual/appendix_contributing.xml: Use consistent - indentation. - * doc/html/manual/source_code_style.html: Regenerate. - -2020-12-05 Iain Sandoe - - PR target/97865 - * configure: Regenerate. - -2020-12-04 Jakub Jelinek - - PR c++/80780 - * testsuite/18_support/source_location/1.cc (main): Adjust for - __builtin_source_location using __PRETTY_FUNCTION__-like names instead - __FUNCTION__-like. - * testsuite/18_support/source_location/consteval.cc (main): Likewise. - -2020-12-03 Martin Sebor - - * testsuite/ext/vstring/modifiers/clear/56166.cc: Suppress a false - positive warning. - -2020-12-03 Jonathan Wakely - - * testsuite/26_numerics/bit/bit.cast/bit_cast.cc: Remove stray - word from copy&paste. - * testsuite/26_numerics/bit/bit.cast/version.cc: Likewise. - -2020-12-03 Jonathan Wakely - - * doc/xml/manual/status_cxx2020.xml: Update C++20 status. - * doc/html/*: Regenerate. - -2020-12-03 JeanHeyd Meneide - - * doc/doxygen/user.cfg.in (INPUT): Add . - * include/Makefile.am: Add . - * include/Makefile.in: Regenerate. - * include/std/version (__cpp_lib_source_location): Define. - * include/std/source_location: New file. - * testsuite/18_support/source_location/1.cc: New test. - * testsuite/18_support/source_location/consteval.cc: New test. - * testsuite/18_support/source_location/srcloc.h: New test. - * testsuite/18_support/source_location/version.cc: New test. - -2020-12-03 Jonathan Wakely - - PR libstdc++/93121 - * include/std/bit (__cpp_lib_bit_cast, bit_cast): Define. - * include/std/version (__cpp_lib_bit_cast): Define. - * testsuite/26_numerics/bit/bit.cast/bit_cast.cc: New test. - * testsuite/26_numerics/bit/bit.cast/version.cc: New test. - -2020-12-03 Jonathan Wakely - - * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: - Update. - * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: - Update. - -2020-12-03 Jonathan Wakely - - * include/std/array (array::operator[](size_t) const, array::front() const) - (array::back() const) [__cplusplus == 201103]: Disable - assertions. - * testsuite/23_containers/array/element_access/constexpr_element_access.cc: - Check for correct values. - * testsuite/23_containers/array/tuple_interface/get_neg.cc: - Adjust dg-error line numbers. - * testsuite/23_containers/array/debug/constexpr_c++11.cc: New test. - -2020-12-02 Jonathan Wakely - - PR libstdc++/65480 - PR libstdc++/68735 - * python/libstdcxx/v6/printers.py (function_pointer_to_name): - New helper function to get the name of a function from its - address. - (StdExpAnyPrinter.__init__): Use it. - -2020-12-02 Jonathan Wakely - - * testsuite/lib/dg-options.exp (add_options_for_libatomic): - Replace powerpc-ibm-aix* and powerpc*-*-darwin* with check for - powerpc && ilp32. - -2020-12-02 Jonathan Wakely - - * testsuite/27_io/basic_istream/ignore/char/94749.cc: Add - dg-timeout-factor for ilp32 targets. - * testsuite/27_io/basic_istream/ignore/wchar_t/94749.cc: - Likewise. - -2020-12-02 Jonathan Wakely - - * include/ext/rope (rope::_S_concat_char_iter) - (rope::_S_destr_concat_char_iter): Add allocator parameter. - (rope::push_back, rope::append, rope::insert, operator+): - Pass allocator. - * include/ext/ropeimpl.h (rope::_S_concat_char_iter) - (rope::_S_destr_concat_char_iter): Add allocator parameter - and use it. - (_Rope_char_ref_proxy::operator=(_CharT)): Pass allocator. - -2020-12-02 Jonathan Wakely - - * include/ext/rope: Fix indentation of access specifiers. - -2020-12-02 Jonathan Wakely - - * include/bits/atomic_timed_wait.h: Use #if instead of #ifdef. - * include/bits/semaphore_base.h: Likewise. - * include/std/version: Remove trailing whitespace. - -2020-12-02 Jonathan Wakely - - * python/libstdcxx/v6/printers.py (StdExpPathPrinter): Store the - name of the type and pass it to the iterator. - (StdPathPrinter): Likewise. - * testsuite/libstdc++-prettyprinters/filesystem-ts.cc: New test. - -2020-12-01 Thomas Rodgers - - * include/bits/atomic_base.h: Replace usage of - _GLIBCXX_HAVE_ATOMIC_WAIT with __cpp_lib_atomic_wait. - * include/bits/atomic_timed_wait.h: Likewise. - * include/bits/atomic_wait.h: Define __cpp_lib_atomic_wait - feature test macro. - * include/bits/semaphore_base.h: Replace usage of - _GLIBCXX_HAVE_ATOMIC_WAIT with __cpp_lib_atomic_wait. - * include/std/atomic: Likewise. - * include/std/latch: Likewise. - * include/std/semaphore: Likewise. - * include/std/version: Define __cpp_lib_atomic wait - feature test macro and replace usage of - _GLIBCXX_HAVE_ATOMIC_WAIT. - * testsuite/29_atomics/atomic/wait_notify/1.cc: New test. - * testsuite/29_atomics/atomic/wait_notify/2.cc: Likewise. - -2020-12-01 Michael Weghorn - - * python/libstdcxx/v6/printers.py (StdBitIteratorPrinter) - (StdBitReferencePrinter): Add pretty-printers for - _Bit_reference, _Bit_iterator and _Bit_const_iterator. - * testsuite/libstdc++-prettyprinters/simple.cc: Test - std::_Bit_reference, std::_Bit_iterator and - std::_Bit_const_iterator. - * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise. - -2020-12-01 Jonathan Wakely - - * include/bits/c++config (_GLIBCXX_HAS_BUILTIN): Define macro to - work around different implementations of __has_builtin. - (_GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP) - (_GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE) - (_GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED) - (_GLIBCXX_HAVE_BUILTIN_IS_SAME, _GLIBCXX_HAVE_BUILTIN_LAUNDER): - Define using _GLIBCXX_HAS_BUILTIN. - -2020-12-01 Jonathan Wakely - - * testsuite/27_io/basic_istream/get/char/lwg3464.cc: Add - dg-timeout-factor directive. - * testsuite/27_io/basic_istream/get/wchar_t/lwg3464.cc: - Likewise. - -2020-12-01 Jonathan Wakely - - PR libstdc++/98003 - * testsuite/27_io/basic_syncbuf/sync_ops/1.cc: Add options for - libatomic. - -2020-11-30 Jonathan Wakely - - * doc/doxygen/user.cfg.in (INPUT): Add and . - -2020-11-30 Jonathan Wakely - - * testsuite/lib/libstdc++.exp (libstdc++_init): Reduce - default tool_timeout to 360. - -2020-11-30 Jonathan Wakely - - * testsuite/20_util/specialized_algorithms/pstl/*: Add - dg-timeout-factor. - * testsuite/25_algorithms/pstl/*: Likewise. - * testsuite/26_numerics/pstl/*: Likewise. - * testsuite/28_regex/*: Likewise. - -2020-11-29 John David Anglin - - * configure: Regenerate. - -2020-11-27 Jonathan Wakely - - * testsuite/lib/libstdc++.exp (v3_try_preprocess): Define - new proc to preprocess a chunk of code. - (v3_check_preprocessor_condition): Define new proc to test - a preprocessor condition depending on GCC or libstdc++ macros. - (check_v3_target_debug_mode, check_v3_target_normal_mode): - Use v3_try_preprocess. - (check_v3_target_normal_namespace) - (check_v3_target_parallel_mode, check_v3_target_cstdint) - (check_v3_target_cmath, check_v3_target_atomic_builtins) - (check_v3_target_gthreads, check_v3_target_gthreads_timed) - (check_v3_target_sleep, check_v3_target_sched_yield) - (check_v3_target_string_conversions, check_v3_target_swprintf) - (check_v3_target_binary_io, check_v3_target_nprocs): Use - v3_check_preprocessor_condition. - (check_effective_target_cxx11): Likewise. - (check_effective_target_random_device): Likewise. - (check_effective_target_tbb-backend): Likewise. - (check_effective_target_futex): Likewise. - (check_v3_target_little_endian) Call check_effective_target_le. - (check_effective_target_atomic-builtins): New proc to define - new effective-target keyword. - (check_effective_target_gthreads-timed): Likewise. - -2020-11-27 Jonathan Wakely - - * testsuite/27_io/filesystem/operations/absolute.cc: Avoid - -Wrange-loop-construct warning. - * testsuite/27_io/filesystem/path/append/source.cc: Likewise. - * testsuite/27_io/filesystem/path/assign/copy.cc: Likewise. - * testsuite/27_io/filesystem/path/compare/path.cc: Likewise. - * testsuite/27_io/filesystem/path/construct/copy.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_path.cc: - Likewise. - * testsuite/27_io/filesystem/path/itr/traversal.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/nonmember/append.cc: Likewise. - * testsuite/27_io/filesystem/path/nonmember/cmp.cc: Likewise. - * testsuite/27_io/filesystem/path/nonmember/cmp_c++20.cc: - Likewise. - * testsuite/27_io/filesystem/path/nonmember/hash_value.cc: - Likewise. - * 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_relative.cc: Likewise. - * testsuite/experimental/filesystem/operations/absolute.cc: - Likewise. - * testsuite/experimental/filesystem/path/assign/copy.cc: Likewise. - * testsuite/experimental/filesystem/path/compare/path.cc: - Likewise. - * testsuite/experimental/filesystem/path/construct/copy.cc: - Likewise. - * testsuite/experimental/filesystem/path/decompose/extension.cc: - Likewise. - * testsuite/experimental/filesystem/path/decompose/filename.cc: - Likewise. - * testsuite/experimental/filesystem/path/decompose/parent_path.cc: - Likewise. - * testsuite/experimental/filesystem/path/decompose/relative_path.cc: - Likewise. - * testsuite/experimental/filesystem/path/decompose/root_directory.cc: - Likewise. - * testsuite/experimental/filesystem/path/decompose/root_path.cc: - Likewise. - * testsuite/experimental/filesystem/path/itr/traversal.cc: - Likewise. - * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc: - Likewise. - * testsuite/experimental/filesystem/path/modifiers/replace_extension.cc: - Likewise. - * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc: - Likewise. - * testsuite/experimental/filesystem/path/nonmember/hash_value.cc: - Likewise. - * testsuite/experimental/filesystem/path/query/has_extension.cc: - Likewise. - * testsuite/experimental/filesystem/path/query/has_filename.cc: - Likewise. - * testsuite/experimental/filesystem/path/query/has_parent_path.cc: - Likewise. - * testsuite/experimental/filesystem/path/query/has_relative_path.cc: - Likewise. - * testsuite/experimental/filesystem/path/query/has_root_directory.cc: - Likewise. - * testsuite/experimental/filesystem/path/query/has_root_name.cc: - Likewise. - * testsuite/experimental/filesystem/path/query/has_root_path.cc: - Likewise. - * testsuite/experimental/filesystem/path/query/has_stem.cc: - Likewise. - * testsuite/experimental/filesystem/path/query/is_relative.cc: - Likewise. - -2020-11-27 Jonathan Wakely - - * src/c++98/locale.cc (locale::facet::_S_get_c_locale()): - Revert change to use __is_single_threaded. - * src/c++98/locale_init.cc (locale::_S_initialize()): - Likewise. - -2020-11-26 Jonathan Wakely - - * include/bits/atomic_wait.h (_GLIBCXX_HAVE_ATOMIC_WAIT): - Define. - * include/bits/atomic_base.h: Check _GLIBCXX_HAVE_ATOMIC_WAIT. - * include/bits/atomic_timed_wait.h: Likewise. - * include/bits/semaphore_base.h: Likewise. - * include/std/atomic: Likewise. - * include/std/latch: Likewise. - * include/std/semaphore: Likewise. - -2020-11-26 Jonathan Wakely - - * include/std/latch: Depend on _GLIBCXX_HAS_GTHREADS and - _GLIBCXX_HAVE_LINUX_FUTEX. - * include/std/version (__cpp_lib_latch): Define conditionally. - -2020-11-26 Jonathan Wakely - - * testsuite/lib/libstdc++.exp (check_effective_target_gthreads): - Call check_v3_target_gthreads not check_v3_target_gthreads_timed. - -2020-11-26 Jonathan Wakely - - * testsuite/28_regex/algorithms/regex_match/basic/string_range_01_03.cc: - Add dg-timeout-factor directive. - * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc: - Likewise. - * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc: - Likewise. - * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc: - Likewise. - * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc: - Likewise. - * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc: - Likewise. - * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc: - Likewise. - * testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc: - Likewise. - * testsuite/28_regex/algorithms/regex_search/61720.cc: Likewise. - * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc: - Likewise. - * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: - Likewise. - * testsuite/28_regex/basic_regex/ctors/deduction.cc: Likewise. - -2020-11-26 Jonathan Wakely - - * testsuite/lib/libstdc++.exp (libstdc++_init): Only set - tool_timeout if it hasn't been set by the user already. - -2020-11-26 Jonathan Wakely - - PR libstdc++/97936 - * testsuite/29_atomics/atomic/wait_notify/bool.cc: Fix missed - notifications by making the new thread wait until the parent - thread is waiting on the condition variable. - * testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise. - * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise. - * testsuite/29_atomics/atomic_ref/wait_notify.cc: Likewise. - -2020-11-26 Jonathan Wakely - - * testsuite/18_support/96817.cc: Use new effective-target - keywords to select supported targets more effectively. - * testsuite/30_threads/call_once/66146.cc: Likewise. - * testsuite/lib/libstdc++.exp (check_effective_target_futex): - Define new proc. - (check_effective_target_gthreads): Define new proc to replace - dg-require-gthreads. - -2020-11-26 Rainer Orth - - * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Remove libposix4 - references. - : Don't use -lrt any longer. - * configure: Regenerate. - * doc/xml/manual/configure.xml (--enable-libstdcxx-time=OPTION): - Remove libposix4 reference. - -2020-11-26 Jonathan Wakely - - PR libstdc++/98001 - * testsuite/ext/stdio_filebuf/char/79820.cc: Do not pass invalid - FILE* to constructor. - -2020-11-26 Jonathan Wakely - - * include/precompiled/stdc++.h: Add new headers. - * include/std/stop_token: Include unconditionally. - -2020-11-25 Jonathan Wakely - - * include/bits/atomic_timed_wait.h (__cond_wait_until): Do not - perform redundant conversions to the same clock. - -2020-11-25 Jonathan Wakely - - * include/bits/atomic_timed_wait.h (__cond_wait_until_impl): - Do not define when _GLIBCXX_HAVE_LINUX_FUTEX is defined. Use - __condvar and mutex instead of __gthread_cond_t and - unique_lock. - (__cond_wait_until): Likewise. Fix test for return value of - __cond_wait_until_impl. - (__timed_waiters::_M_do_wait_until): Use __condvar instead - of __gthread_cond_t. - * include/bits/atomic_wait.h: Remove - include. Only include if not using futexes. - (__platform_wait_max_value): Remove unused variable. - (__waiters::lock_t): Use lock_guard instead of unique_lock. - (__waiters::_M_cv): Use __condvar instead of __gthread_cond_t. - (__waiters::_M_do_wait(__platform_wait_t)): Likewise. - (__waiters::_M_notify()): Likewise. Use notify_one() if not - asked to notify all. - * include/bits/std_mutex.h (__condvar): New type. - * include/std/condition_variable (condition_variable::_M_cond) - (condition_variable::wait_until): Use __condvar instead of - __gthread_cond_t. - * src/c++11/condition_variable.cc (condition_variable): Define - default constructor and destructor as defaulted. - (condition_variable::wait, condition_variable::notify_one) - (condition_variable::notify_all): Forward to corresponding - member function of __condvar. - -2020-11-25 Jonathan Wakely - - PR libstdc++/97936 - * testsuite/29_atomics/atomic/wait_notify/bool.cc: Re-eneable - test. - * testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise. - * testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise. - * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise. - * testsuite/29_atomics/atomic_float/wait_notify.cc: Likewise. - * testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise. - * testsuite/util/atomic/wait_notify_util.h: Fix missed - notifications by making the new thread wait until the parent - thread is waiting on the condition variable. - -2020-11-25 Jonathan Wakely - - PR libstdc++/97935 - * include/bits/iterator_concepts.h (__detail::__iter_without_category): - New helper concept. - (__iterator_traits::__cat): Use __detail::__iter_without_category. - * testsuite/24_iterators/associated_types/iterator.traits.cc: New test. - -2020-11-25 Jonathan Wakely - - * testsuite/17_intro/names.cc: Do not test 'v' on AIX. - -2020-11-25 Jonathan Wakely - - PR libstdc++/97936 - * include/bits/atomic_wait.h (__platform_wait): Check errno, - not just the value of EAGAIN. - (__waiters::__waiters()): Fix name of data member. - -2020-11-25 Jonathan Wakely - - PR libstdc++/97936 - * include/bits/atomic_wait.h (__platform_wait): Return if futex - sets EAGAIN. - * testsuite/30_threads/latch/3.cc: Re-enable test. - * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise. - -2020-11-24 Jonathan Wakely - - PR libstdc++/97936 - PR libstdc++/97944 - * testsuite/29_atomics/atomic_integral/wait_notify.cc: Disable. - Do not require pthreads, but add -pthread when appropriate. - * testsuite/30_threads/jthread/95989.cc: Likewise. - * testsuite/30_threads/latch/3.cc: Likewise. - * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise. - -2020-11-24 Jonathan Wakely - - * testsuite/30_threads/jthread/95989.cc: Run all three test - functions, not just the first one twice. - -2020-11-24 Jonathan Wakely - - PR libstdc++/67791 - * src/c++11/thread.cc (thread::_M_start_thread(_State_ptr, void (*)())): - Check that gthreads is available before calling __gthread_create. - -2020-11-24 Jonathan Wakely - - * src/c++98/locale.cc (locale::facet::_S_get_c_locale()) - (locale::id::_M_id() const): Use __is_single_threaded. - * src/c++98/locale_init.cc (locale::_S_initialize()): - Likewise. - -2020-11-23 Jonathan Wakely - - * include/bits/semaphore_base.h - (__platform_semaphore::_M_try_acquire_until): Fix type of - variable. - -2020-11-23 Stephan Bergmann - - * include/bits/atomic_wait.h (__thread_relax, __thread_yield): - Add 'inline'. - -2020-11-23 Jonathan Wakely - - * acinclude.m4 (GLIBCXX_CHECK_GTHREADS): Check for - * config.h.in: Regenerate. - * configure: Regenerate. - * include/bits/semaphore_base.h (_GLIBCXX_HAVE_POSIX_SEMAPHORE): - Check autoconf macro instead of defining it here. - -2020-11-23 Jonathan Wakely - - * include/bits/atomic_wait.h: Do not define anything unless - gthreads or futexes are available. - * include/bits/atomic_timed_wait.h: Likewise. - * include/bits/semaphore_base.h: Likewise. - * include/std/semaphore: Likewise. - * include/bits/atomic_base.h (atomic_flag::wait) - (atomic_flag::notify_one, atomic_flag::notify_all) - (__atomic_base::wait, __atomic_base::notify_one) - (__atomic_base::notify_all, __atomic_base::wait) - (__atomic_base::notify_one, __atomic_base::notify_all) - (__atomic_impl::wait, __atomic_impl::notify_one) - (__atomic_impl::notify_all, __atomic_float::wait) - (__atomic_float::notify_one, __atomic_float::notify_all) - (__atomic_ref::wait, __atomic_ref::notify_one) - (__atomic_ref::notify_all): Only define if gthreads or futexes - are available. - * include/std/atomic (atomic::wait, atomic::notify_one) - (atomic::notify_all): Likewise. - * include/std/version (__cpp_lib_semaphore): Define - conditionally. - -2020-11-23 Jonathan Wakely - - PR libstdc++/97948 - * testsuite/29_atomics/atomic_float/wait_notify.cc: Add options - for libatomic. - * testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise. - * testsuite/29_atomics/atomic_ref/wait_notify.cc: Likewise. - -2020-11-21 Jonathan Wakely - - * include/bits/atomic_base.h (atomic_flag::wait): Use correct - type for __atomic_wait call. - * include/bits/atomic_timed_wait.h (__atomic_wait_until): Check - _GLIBCXX_HAVE_LINUX_FUTEX. - * include/bits/atomic_wait.h (__atomic_notify): Likewise. - * include/bits/semaphore_base.h (_GLIBCXX_HAVE_POSIX_SEMAPHORE): - Only define if SEM_VALUE_MAX or _POSIX_SEM_VALUE_MAX is defined. - * testsuite/29_atomics/atomic/wait_notify/bool.cc: Disable on - non-linux targes. - * 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. - -2020-11-20 Thomas Rodgers - - * include/Makefile.am (bits_headers): Add new header. - * include/Makefile.in: Regenerate. - * include/bits/atomic_base.h (__atomic_flag::wait): Define. - (__atomic_flag::notify_one): Likewise. - (__atomic_flag::notify_all): Likewise. - (__atomic_base<_Itp>::wait): Likewise. - (__atomic_base<_Itp>::notify_one): Likewise. - (__atomic_base<_Itp>::notify_all): Likewise. - (__atomic_base<_Ptp*>::wait): Likewise. - (__atomic_base<_Ptp*>::notify_one): Likewise. - (__atomic_base<_Ptp*>::notify_all): Likewise. - (__atomic_impl::wait): Likewise. - (__atomic_impl::notify_one): Likewise. - (__atomic_impl::notify_all): Likewise. - (__atomic_float<_Fp>::wait): Likewise. - (__atomic_float<_Fp>::notify_one): Likewise. - (__atomic_float<_Fp>::notify_all): Likewise. - (__atomic_ref<_Tp>::wait): Likewise. - (__atomic_ref<_Tp>::notify_one): Likewise. - (__atomic_ref<_Tp>::notify_all): Likewise. - (atomic_wait<_Tp>): Likewise. - (atomic_wait_explicit<_Tp>): Likewise. - (atomic_notify_one<_Tp>): Likewise. - (atomic_notify_all<_Tp>): Likewise. - * include/bits/atomic_wait.h: New file. - * include/bits/atomic_timed_wait.h: New file. - * include/bits/semaphore_base.h: New file. - * include/std/atomic (atomic::wait): Define. - (atomic::wait_one): Likewise. - (atomic::wait_all): Likewise. - (atomic<_Tp>::wait): Likewise. - (atomic<_Tp>::wait_one): Likewise. - (atomic<_Tp>::wait_all): Likewise. - (atomic<_Tp*>::wait): Likewise. - (atomic<_Tp*>::wait_one): Likewise. - (atomic<_Tp*>::wait_all): Likewise. - * include/std/latch: New file. - * include/std/semaphore: New file. - * include/std/version: Add __cpp_lib_semaphore and - __cpp_lib_latch defines. - * testsuite/29_atomics/atomic/wait_notify/bool.cc: New test. - * testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise. - * testsuite/29_atomics/atomic/wait_notify/generic.cc: Liekwise. - * 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. - * testsuite/30_threads/semaphore/1.cc: New test. - * testsuite/30_threads/semaphore/2.cc: Likewise. - * testsuite/30_threads/semaphore/least_max_value_neg.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_posix.cc: Likewise. - * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise. - * testsuite/30_threads/latch/1.cc: New test. - * testsuite/30_threads/latch/2.cc: New test. - * testsuite/30_threads/latch/3.cc: New test. - * testsuite/util/atomic/wait_notify_util.h: New File. - -2020-11-20 François Dumont - - PR libstdc++/83938 - * include/bits/stl_tempbuf.h (get_temporary_buffer): Change __len - computation in the loop to avoid truncation. - * include/bits/stl_algo.h: - (__inplace_merge): Take temporary buffer length from smallest range. - (__stable_sort): Limit temporary buffer length. - * testsuite/25_algorithms/inplace_merge/1.cc (test4): New. - * testsuite/performance/25_algorithms/stable_sort.cc: Test stable_sort - under different heap memory conditions. - * testsuite/performance/25_algorithms/inplace_merge.cc: New test. - -2020-11-20 François Dumont - - * include/bits/move.h (_GLIBCXX_FWDREF): New. - * include/bits/stl_tree.h: Adapt to use latter. - (_Rb_tree<>::_M_clone_node): Add _MoveValue template parameter. - (_Rb_tree<>::_M_mbegin): New. - (_Rb_tree<>::_M_begin): Use latter. - (_Rb_tree<>::_M_copy): Add _MoveValues template parameter. - * testsuite/23_containers/map/allocator/move_cons.cc: New test. - * testsuite/23_containers/multimap/allocator/move_cons.cc: New test. - * testsuite/23_containers/multiset/allocator/move_cons.cc: New test. - * testsuite/23_containers/set/allocator/move_cons.cc: New test. - -2020-11-20 Jonathan Wakely - - PR libstdc++/92546 - * include/std/regex (pmr::smatch, pmr::wsmatch): Declare using - underlying __normal_iterator type, not nested typedef - basic_string::const_iterator. - -2020-11-19 Jonathan Wakely - - PR libstdc++/95989 - * config/os/gnu-linux/os_defines.h (_GLIBCXX_NATIVE_THREAD_ID): - Define new macro to get reliable thread ID. - * include/bits/std_thread.h: (this_thread::get_id): Use new - macro if it's defined. - * testsuite/30_threads/jthread/95989.cc: New test. - * testsuite/30_threads/this_thread/95989.cc: New test. - -2020-11-19 Jonathan Wakely - - * testsuite/30_threads/async/async.cc: Include . - * testsuite/30_threads/future/members/93456.cc: Likewise. - -2020-11-19 Jonathan Wakely - - PR libstdc++/92546 - * include/Makefile.am: Add new header. - * include/Makefile.in: Regenerate. - * include/std/future: Include new header instead of . - * include/std/stop_token: Include new header instead of - . - (stop_token::_S_yield()): Use this_thread::yield(). - (_Stop_state_t::_M_requester): Change type to std::thread::id. - (_Stop_state_t::_M_request_stop()): Use this_thread::get_id(). - (_Stop_state_t::_M_remove_callback(_Stop_cb*)): Likewise. - Use __is_single_threaded() to decide whether to synchronize. - * include/std/thread (thread, operator==, this_thread::get_id) - (this_thread::yield): Move to new header. - (operator<=>, operator!=, operator<, operator<=, operator>) - (operator>=, hash, operator<<): Define even when - gthreads not available. - * src/c++11/thread.cc: Include . - * include/bits/std_thread.h: New file. - (thread, operator==, this_thread::get_id, this_thread::yield): - Define even when gthreads not available. - [!_GLIBCXX_HAS_GTHREADS] (thread::join, thread::detach) - (thread::hardware_concurrency): Define inline. - -2020-11-19 Jonathan Wakely - - PR libstdc++/93421 - PR libstdc++/93456 - * src/c++11/futex.cc (syscall_time_t): New typedef for - the type of the syscall_timespec::tv_sec member. - (relative_timespec, _M_futex_wait_until) - (_M_futex_wait_until_steady): Use syscall_time_t in overflow - checks, not time_t. - -2020-11-18 Patrick Palka - - * include/std/ranges (join_view::_Iterator::_M_satisfy): Uglify - local variable inner. - (join_view::_Iterator::operator->): Use _Inner_iter instead of - _Outer_iter in the function signature as per LWG 3500. - * testsuite/std/ranges/adaptors/join.cc (test08): Test it. - -2020-11-17 Jonathan Wakely - - PR libstdc++/93421 - * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Fail if struct - timespec isn't compatible with SYS_clock_gettime. - * configure: Regenerate. - * src/c++11/chrono.cc: Revert changes for time64 compatibility. - Add static_assert instead. - * src/c++11/futex.cc (_M_futex_wait_until_steady): Assume - SYS_clock_gettime can use struct timespec. - -2020-11-17 Jonathan Wakely - - PR libstdc++/97869 - * include/precompiled/stdc++.h: Include . - * include/std/version (__cpp_lib_span): Check __cpp_lib_concepts - before defining. - -2020-11-17 Patrick Palka - - PR libstdc++/97828 - * include/bits/ranges_algo.h (__search_n_fn::operator()): Check - random_access_iterator before using the backtracking - implementation. When the backwards scan fails prematurely, - reset __remainder appropriately. - * testsuite/25_algorithms/search_n/97828.cc: New test. - -2020-11-16 Jonathan Wakely - - * src/Makefile.am (libstdc++-symbols.ver-sun): Remove -lrt from - arguments passed to make_sunver.pl script. - * src/Makefile.in: Regenerate. - -2020-11-15 Jason Merrill - - * testsuite/20_util/result_of/sfinae_friendly_1.cc: Adjust. - -2020-11-13 Jonathan Wakely - - PR libstdc++/93421 - * src/c++11/chrono.cc [_GLIBCXX_USE_CLOCK_GETTIME_SYSCALL] - (syscall_timespec): Define a type suitable for SYS_clock_gettime - calls. - (system_clock::now(), steady_clock::now()): Use syscall_timespec - instead of timespec. - * src/c++11/futex.cc (syscall_timespec): Define a type suitable - for SYS_futex and SYS_clock_gettime calls. - (relative_timespec): Use syscall_timespec instead of timespec. - (__atomic_futex_unsigned_base::_M_futex_wait_until): Likewise. - (__atomic_futex_unsigned_base::_M_futex_wait_until_steady): - Likewise. - -2020-11-13 Jonathan Wakely - - PR libstdc++/93456 - * src/c++11/futex.cc (relative_timespec): Remove redundant check - negative values. - * testsuite/30_threads/future/members/wait_until_overflow.cc: Moved to... - * testsuite/30_threads/future/members/93456.cc: ...here. - -2020-11-13 Jonathan Wakely - - * src/c++11/futex.cc (relative_timespec): Add [[unlikely]] - attributes. - (__atomic_futex_unsigned_base::_M_futex_wait_until) - (__atomic_futex_unsigned_base::_M_futex_wait_until_steady): - Check for overflow. - * testsuite/30_threads/future/members/wait_until_overflow.cc: - New test. - -2020-11-13 Jonathan Wakely - - * src/c++11/futex.cc (relative_timespec): New function to - create relative time from two absolute times. - (__atomic_futex_unsigned_base::_M_futex_wait_until) - (__atomic_futex_unsigned_base::_M_futex_wait_until_steady): - Use relative_timespec. - -2020-11-13 Jonathan Wakely - - * testsuite/30_threads/future/members/poll.cc: Require gthreads - and add -pthread for targets that require it. Relax required - ratio of wait_for calls before/after the future is ready. - -2020-11-12 Jonathan Wakely - - * include/std/future (future::wait_for): Do not wait for - durations less than or equal to zero. - * src/c++11/futex.cc (_M_futex_wait_until) - (_M_futex_wait_until_steady): Do not wait for timeouts before - the epoch. - * testsuite/30_threads/future/members/poll.cc: New test. - -2020-11-12 Jonathan Wakely - - * include/ext/numeric_traits.h (__numeric_traits): Change - primary template to always derive from __numeric_traits_integer. - (__numeric_traits, __numeric_traits) - (__numeric_traits): Add explicit specializations. - -2020-11-12 Jonathan Wakely - - PR libstdc++/97798 - * include/ext/numeric_traits.h (__glibcxx_signed) - (__glibcxx_digits, __glibcxx_min, __glibcxx_max): Remove - macros. - (__is_integer_nonstrict::__width): Define new constant. - (__numeric_traits_integer): Define constants in terms of each - other and __is_integer_nonstrict::__width, rather than the - removed macros. - (_GLIBCXX_INT_N_TRAITS): Macro to define explicit - specializations for non-standard integer types. - -2020-11-11 Jonathan Yong <10walls@gmail.com> - - * acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Exclude - cygwin and mingw from relro linker test. - * configure: Regenerate. - -2020-11-11 Paul Scharnofske - - * include/std/thread (jthread::operator=(jthread&&)): Transfer - any existing state to a temporary that will request a stop and - then join. - * testsuite/30_threads/jthread/jthread.cc: Test move assignment. - -2020-11-11 Jonathan Wakely - - * include/std/stop_token (_Stop_state_t::_M_requester): Define - new struct with members to store and check the thread ID. - (_Stop_state_t::_M_request_stop()): Use _M_requester._M_set(). - (_Stop_state_t::_M_remove_callback(_Stop_cb*)): Use - _M_requester._M_is_current_thread(). - -2020-11-11 Jonathan Wakely - - * include/std/ostream (__syncbuf_base): New class template. - (emit_on_flush, noemit_on_flush, flush_emit): New manipulators. - * include/std/syncstream (basic_syncbuf): Derive from - __syncbuf_base instead of basic_streambuf. - (basic_syncbuf::operator=): Remove self-assignment check. - (basic_syncbuf::swap): Remove self-swap check. - (basic_syncbuf::emit): Do not skip pubsync() call if sequence - is empty. - (basic_syncbuf::sync): Remove no-op pubsync on stringbuf. - (basic_syncbuf::overflow): Define override. - * testsuite/27_io/basic_syncstream/basic_ops/1.cc: Test - basic_osyncstream::put(char_type). - * testsuite/27_io/basic_ostream/emit/1.cc: New test. - -2020-11-10 Jonathan Wakely - - * config/locale/generic/c_locale.cc (__set_C_locale()): New function - to set the "C" locale and return the name of the previous locale. - (__convert_to_v, __convert_to_v) - (__convert_to_v): Use __set_C_locale and set failbit on - error. - -2020-11-10 Jonathan Wakely - - * include/std/sstream (basic_stringbug, basic_istringstream) - (basic_ostringstream, basic_stringstream): Reorder C++20 - constructors to be declared next to other constructors. - -2020-11-10 Jonathan Wakely - - * config/abi/pre/gnu.ver (GLIBCXX_3.4.21): Tighten patterns. - (GLIBCXX_3.4.29): Export new symbols. - * include/bits/alloc_traits.h (__allocator_like): New concept. - * include/std/sstream (basic_stringbuf::swap): Add exception - specification. - (basic_stringbuf::str() const): Add ref-qualifier. Use new - _M_high_mark function. - (basic_stringbuf::str(const SAlloc&) const): Define new function. - (basic_stringbuf::str() &&): Likewise. - (basic_stringbuf::str(const basic_string&)): - Likewise. - (basic_stringbuf::str(basic_string&&)): Likewise. - (basic_stringbuf::view() const): Use _M_high_mark. - (basic_istringstream::str, basic_ostringstream::str) - (basic_stringstream::str): Define new overloads. - * src/c++20/sstream-inst.cc (basic_stringbuf::str) - (basic_istringstream::str, basic_ostringstream::str) - (basic_stringstream::str): Explicit instantiation definitions - for new overloads. - * testsuite/27_io/basic_istringstream/view/char/1.cc: Add more - checks. - * testsuite/27_io/basic_istringstream/view/wchar_t/1.cc: - Likewise. - * testsuite/27_io/basic_ostringstream/view/char/1.cc: - Likewise. - * testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc: - Likewise. - * testsuite/27_io/basic_stringstream/view/char/1.cc: - Likewise. - * testsuite/27_io/basic_stringstream/view/wchar_t/1.cc: - Likewise. - * testsuite/27_io/basic_istringstream/str/char/2.cc: New test. - * testsuite/27_io/basic_istringstream/str/wchar_t/2.cc: New test. - * testsuite/27_io/basic_ostringstream/str/char/3.cc: New test. - * testsuite/27_io/basic_ostringstream/str/wchar_t/3.cc: New test. - * testsuite/27_io/basic_stringbuf/str/char/4.cc: New test. - * testsuite/27_io/basic_stringbuf/str/wchar_t/4.cc: New test. - * testsuite/27_io/basic_stringstream/str/char/5.cc: New test. - * testsuite/27_io/basic_stringstream/str/wchar_t/5.cc.cc: New test. - -2020-11-10 Jonathan Wakely - - PR libstdc++/97415 - * include/std/sstream (basic_stringbuf::_M_update_egptr) - (basic_stringbuf::__xfer_bufptrs::__xfer_bufptrs): Check for - null before comparing pointers. - -2020-11-09 François Dumont - - * include/debug/array: Remove. - * include/Makefile.am: Remove . - * include/Makefile.in: Regenerate. - * include/experimental/functional: Adapt. - * include/std/array: Move to _GLIBCXX_INLINE_VERSION namespace. - * include/std/functional: Adapt. - * include/std/span: Adapt. - * testsuite/23_containers/array/debug/back1_neg.cc: - Remove dg-require-debug-mode. Add -D_GLIBCXX_ASSERTIONS option. - * 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/element_access/60497.cc - * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: - Remove. - * testsuite/23_containers/array/tuple_interface/get_neg.cc - * testsuite/23_containers/array/tuple_interface/tuple_element_debug_neg.cc - * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc - -2020-11-09 François Dumont - - * include/debug/assertions.h (__glibcxx_requires_non_empty_range): - Remove __builtin_expect. - (__glibcxx_requires_subscript): Likewise. - (__glibcxx_requires_nonempty): Likewise. - * include/debug/formatter.h (__check_singular): Add C++11 constexpr - qualification. - * include/debug/helper_functions.h (__check_singular): Likewise. Skip - check if constant evaluated. - (__valid_range): Do not skip check if constant evaluated. - * include/debug/macros.h (_GLIBCXX_DEBUG_VERIFY_COND_AT): Add - __builtin_expect. - (_GLIBCXX_DEBUG_VERIFY_AT_F): Use __glibcxx_assert_1. - * testsuite/21_strings/basic_string_view/element_access/char/back_constexpr_neg.cc: - New test. - * testsuite/21_strings/basic_string_view/element_access/char/constexpr.cc: New test. - * testsuite/21_strings/basic_string_view/element_access/char/constexpr_neg.cc: New test. - * testsuite/21_strings/basic_string_view/element_access/char/front_back_constexpr.cc: - New test. - * testsuite/21_strings/basic_string_view/element_access/char/front_constexpr_neg.cc: - New test. - * testsuite/21_strings/basic_string_view/element_access/wchar_t/back_constexpr_neg.cc: - New test. - * testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr.cc: New test. - * testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr_neg.cc: New test. - * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_constexpr_neg.cc: - New test. - * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_neg.cc: New test. - * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_pred_neg.cc: New test. - * testsuite/25_algorithms/lower_bound/debug/constexpr_valid_range_neg.cc: New test. - * testsuite/25_algorithms/lower_bound/debug/partitioned_neg.cc: New test. - * testsuite/25_algorithms/lower_bound/debug/partitioned_pred_neg.cc: New test. - * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_neg.cc: New test. - * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_pred_neg.cc: New test. - * testsuite/25_algorithms/upper_bound/debug/constexpr_valid_range_neg.cc: New test. - * testsuite/25_algorithms/upper_bound/debug/partitioned_neg.cc: New test. - * testsuite/25_algorithms/upper_bound/debug/partitioned_pred_neg.cc: New test. - -2020-11-09 Jonathan Wakely - - * include/bits/uniform_int_dist.h (__detail::_Power_of_2): - Document that true result for zero is intentional. - -2020-11-09 Jonathan Wakely - - * include/std/bit (__popcount): Remove redundant check for zero. - -2020-11-09 Jonathan Wakely - - PR libstdc++/97729 - * libsupc++/exception_ptr.h (exception_ptr::exception_ptr()) - (exception_ptr::exception_ptr(const exception_ptr&)) - (exception_ptr::~exception_ptr()): Remove 'always_inline' - attributes. Use 'inline' unconditionally. - -2020-11-09 Jonathan Wakely - - PR libstdc++/97758 - * include/bits/std_function.h [!__cpp_rtti]: Include . - -2020-11-07 Liu Hao - - * libsupc++/cxxabi.h: (__cxa_atexit): mark with _GLIBCXX_CDTOR_CALLABI - (__cxa_thread_atexit): ditto - * libsupc++/atexit_thread.cc: (__cxa_atexit): mark with - _GLIBCXX_CDTOR_CALLABI - (__cxa_thread_atexit): ditto - (elt): ditto - -2020-11-06 Jonathan Wakely - - * config/abi/pre/gnu.ver (GLIBCXX_3.4.21): Tighten up patterns - for basic_stringbuf that refer to __xfer_bufptrs. - -2020-11-05 Marek Polacek - - PR c++/25814 - * testsuite/20_util/reference_wrapper/lwg2993.cc: Add a dg-warning. - * testsuite/25_algorithms/generate_n/87982_neg.cc: Likewise. - -2020-11-05 Jonathan Wakely - - PR libstdc++/96269 - * include/std/optional (operator==, operator!=, operator<) - (operator>, operator<=, operator>=): Fix types used in - SFINAE constraints. - * testsuite/20_util/optional/relops/96269.cc: New test. - -2020-11-05 Jonathan Wakely - - PR libstdc++/97731 - * src/filesystem/dir.cc (recursive_directory_iterator): Call the - right overload of _Dir::advance. - * testsuite/experimental/filesystem/iterators/97731.cc: New test. - -2020-11-05 Jonathan Wakely - - PR libstdc++/97729 - * include/std/future (__basic_future::_M_get_result): Use - nullptr for null pointer constant. - * libsupc++/eh_ptr.cc (operator==, operator!=): Remove - definitions. - * libsupc++/exception_ptr.h (_GLIBCXX_EH_PTR_USED): Define - macro to conditionally add __attribute__((__used__)). - (operator==, operator!=, exception_ptr::exception_ptr()) - (exception_ptr::exception_ptr(const exception_ptr&)) - (exception_ptr::~exception_ptr()) - (exception_ptr::operator=(const exception_ptr&)) - (exception_ptr::swap(exception_ptr&)): Always define as - inline. Add macro to be conditionally "used". - -2020-11-05 Jonathan Wakely - - PR libstdc++/97729 - * config/abi/pre/gnu.ver (GLIBCXX_3.4.29): Add exports. - * src/c++20/sstream-inst.cc (basic_stringbuf): Instantiate - private constructor taking __xfer_bufptrs. - -2020-11-05 Jonathan Wakely - - * include/std/sstream (basic_stringbuf(const allocator_type&): - Add explicit. - (basic_stringbuf(const basic_string&, openmode, const A&)): - Call _M_stringbuf_init. Construct _M_string from pointer and length - to avoid constraint checks for string view. - (basic_stringbuf::view()): Make __sv_type alias local to the - function. - (basic_istringstream(const basic_string&, openmode, const A&)): - Pass string to _M_streambuf instead of constructing a temporary - with the wrong allocator. - (basic_ostringstream(const basic_string&, openmode, const A&)): - Likewise. - (basic_stringstream(const basic_string&, openmode, const A&)): - Likewise. - * src/c++20/sstream-inst.cc: Use string_view and wstring_view - typedefs in explicit instantiations. - * testsuite/27_io/basic_istringstream/cons/char/1.cc: Add more - tests for constructors. - * testsuite/27_io/basic_ostringstream/cons/char/1.cc: Likewise. - * testsuite/27_io/basic_stringbuf/cons/char/1.cc: Likewise. - * testsuite/27_io/basic_stringbuf/cons/char/2.cc: Likewise. - * testsuite/27_io/basic_stringbuf/cons/wchar_t/1.cc: Likewise. - * testsuite/27_io/basic_stringbuf/cons/wchar_t/2.cc: Likewise. - * testsuite/27_io/basic_stringstream/cons/char/1.cc: Likewise. - -2020-11-05 Jonathan Wakely - - * include/std/sstream: Adjust whitespace. - -2020-11-04 Jonathan Wakely - - PR libstdc++/97719 - * include/std/sstream (basic_stringstream(string_type&&, openmode)): - Fix default argument. - * testsuite/27_io/basic_stringstream/cons/char/97719.cc: New test. - -2020-11-04 Jonathan Wakely - - * testsuite/18_support/96817.cc: Fail fast if the library is - configured to not use futexes. - -2020-11-04 Jonathan Wakely - - PR libstdc++/94971 - * include/bits/stl_algo.h (search(FIter, FIter, const Searcher): - Adjust #if condition. - * include/parallel/algo.h (search(FIter, FIter, const Searcher&): - Define new overload for C++17. - -2020-11-04 Jonathan Wakely - - PR libstdc++/92285 - * doc/xml/manual/evolution.xml: Document change to base class. - * doc/html/manual/api.html: Regenerate. - -2020-11-04 Jonathan Wakely - - * include/bits/uniform_int_dist.h (uniform_int_distribution::_S_nd): - Use qualified-id to refer to static member functions. - -2020-11-03 Jonathan Wakely - - * include/std/syncstream: Include - unconditionally. - -2020-11-03 François Dumont - - * config/abi/pre/gnu-versioned-namespace.ver: - Add __istream_extract and _Safe_local_iterator_base::_M_attach_single - symbols. - -2020-11-03 Jonathan Wakely - - * src/c++11/mutex.cc [_GLIBCXX_HAVE_TLS] (__once_proxy): Define - separately for TLS targets. - [!_GLIBCXX_HAVE_TLS] (__get_once_functor_lock_ptr): Replace with ... - (set_lock_ptr): ... this. Set new value and return previous - value. - [!_GLIBCXX_HAVE_TLS] (__set_once_functor_lock_ptr): Adjust to - use set_lock_ptr. - [!_GLIBCXX_HAVE_TLS] (__once_proxy): Likewise. - -2020-11-03 Jonathan Wakely - - PR libstdc++/55394 - PR libstdc++/66146 - PR libstdc++/84323 - * config/abi/pre/gnu.ver (GLIBCXX_3.4.29): Add new symbols. - * include/std/mutex [!_GLIBCXX_HAS_GTHREADS] (once_flag): Define - even when gthreads is not supported. - (once_flag::_M_once) [_GLIBCXX_HAVE_LINUX_FUTEX]: Change type - from __gthread_once_t to int. - (once_flag::_M_passive(), once_flag::_M_activate()) - (once_flag::_M_finish(bool), once_flag::_Active_execution): - Define new members for futex and non-threaded implementation. - [_GLIBCXX_HAS_GTHREADS] (once_flag::_Prepare_execution): New - RAII helper type. - (call_once): Use new members of once_flag. - * src/c++11/mutex.cc (std::once_flag::_M_activate): Define. - (std::once_flag::_M_finish): Define. - * testsuite/30_threads/call_once/39909.cc: Do not require - gthreads. - * testsuite/30_threads/call_once/49668.cc: Likewise. - * testsuite/30_threads/call_once/60497.cc: Likewise. - * testsuite/30_threads/call_once/call_once1.cc: Likewise. - * testsuite/30_threads/call_once/dr2442.cc: Likewise. - * testsuite/30_threads/call_once/once_flag.cc: Add test for - constexpr constructor. - * testsuite/30_threads/call_once/66146.cc: New test. - * testsuite/30_threads/call_once/constexpr.cc: Removed. - * testsuite/30_threads/once_flag/cons/constexpr.cc: Removed. - -2020-11-03 Jonathan Yong <10walls@gmail.com> - - * src/Makefile.am (libstdc___la_LINK): Add lt_host_flags. - * src/Makefile.in: Regenerate. - -2020-11-02 Thomas Rodgers - - * doc/doxygen/user.cfg.in (INPUT): Add new header. - * include/Makefile.am (std_headers): Add new header. - * include/Makefile.in: Regenerate. - * include/precompiled/stdc++.h: Include new header. - * include/std/syncstream: New header. - * include/std/version: Add __cpp_lib_syncbuf. - * testsuite/27_io/basic_syncbuf/1.cc: New test. - * testsuite/27_io/basic_syncbuf/2.cc: Likewise. - * testsuite/27_io/basic_syncbuf/basic_ops/1.cc: - Likewise. - * testsuite/27_io/basic_syncbuf/requirements/types.cc: - Likewise. - * testsuite/27_io/basic_syncbuf/sync_ops/1.cc: - Likewise. - * testsuite/27_io/basic_syncstream/1.cc: Likewise. - * testsuite/27_io/basic_syncstream/2.cc: Likewise. - * testsuite/27_io/basic_syncstream/basic_ops/1.cc: - Likewise. - * testsuite/27_io/basic_syncstream/requirements/types.cc: - Likewise. - -2020-11-01 Jonathan Wakely - - * include/std/type_traits (is_integral) - (make_unsigned, make_signed): Define based - on #ifdef __WCHAR_TYPE__ instead of _GLIBCXX_USE_WCHAR_T. - * include/bits/cpp_type_traits.h (__is_integer) - (__is_char): Likewise. - -2020-10-31 François Dumont - - * src/c++17/floating_from_chars.cc (_GLIBCXX_USE_CX11_ABI): Add define. - (buffering_string): New. - [!_GLIBCXX_USE_CXX11_ABI](reserve_string): New. - (from_chars): Adapt. - * src/c++20/sstream-inst.cc: Limit instantiations to - _GLIBCXX_USE_CXX11_ABI. - -2020-10-31 Jonathan Wakely - - * include/bits/random.h (independent_bit_engine): Fix typo - in comment. - (shuffle_order_engine): Fix incorrect description in comment. - * include/bits/random.tcc (__representable_as_double - (__p1_representable_as_double): New helper functions. - (shuffle_order_engine::operator()): Use double for calculation - if (max() - min() + 1) is representable as double. - * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error - line number. - -2020-10-31 Jonathan Wakely - - PR libstdc++/96958 - * include/bits/hashtable_policy.h (_Prime_rehash_policy) - (_Power2_rehash_policy): Use ceil and floor instead of ceill and - floorl. - * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy): Likewise. - Use double instead of long double. - -2020-10-31 Patrick Palka - - PR libstdc++/97600 - * include/std/ranges (basic_istream_view::begin): Initialize - _Iterator from 'this' instead of '*this'. - (basic_istream_view::_Iterator::_Iterator): Adjust constructor - accordingly. - (filter_view::_Iterator::_Iterator): Take a filter_view* - argument instead of a filter_view& argument. - (filter_view::_Sentinel::_Sentinel): Likewise. - (filter_view::begin): Initialize _Iterator from 'this' instead - of '*this'. - (filter_view::end): Likewise. - (transform_view::_Iterator::_Iterator): Take a _Parent* instead - of a _Parent&. - (filter_view::_Iterator::operator+): Adjust accordingly. - (filter_view::_Iterator::operator-): Likewise. - (filter_view::begin): Initialize _Iterator from 'this' instead - of '*this'. - (filter_view::end): Likewise. - (join_view::_Iterator): Take a _Parent* instead of a _Parent&. - (join_view::_Sentinel): Likewise. - (join_view::begin): Initialize _Iterator from 'this' instead of - '*this'. - (join_view::end): Initialize _Sentinel from 'this' instead of - '*this'. - (split_view::_OuterIter): Take a _Parent& instead of a _Parent*. - (split_view::begin): Initialize _OuterIter from 'this' instead - of '*this'. - (split_view::end): Likewise. - * testsuite/std/ranges/97600.cc: New test. - -2020-10-30 Jonathan Wakely - - * include/std/ranges (enable_borrowed_view>) - (enable_borrowed_view>) - (enable_borrowed_view>) - (enable_borrowed_view>) - (enable_borrowed_view>) - (enable_borrowed_view>): Add partial - specializations as per P2017R1. - * testsuite/std/ranges/adaptors/conditionally_borrowed.cc: - New test. - -2020-10-30 Jonathan Wakely - - PR libstdc++/96958 - * include/bits/hashtable_policy.h (_Prime_rehash_policy) - (_Power2_rehash_policy): Use double instead of long double. - -2020-10-30 Jonathan Wakely - - * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc: - Avoid -Wcatch-value warnings. - -2020-10-30 Patrick Palka - - * include/std/ranges (__detail::__box): For the partial - specialization used by types that are already semiregular, - make the default constructor value-initialize the underlying - object instead of default-initializing it. Make its in place - constructor explicit. - * testsuite/std/ranges/adaptors/detail/semiregular_box.cc: - Augment test. - -2020-10-30 David Edelsohn - - * testsuite/20_util/unique_ptr/creation/for_overwrite.cc: XFAIL on AIX. - -2020-10-29 Jonathan Wakely - - * config/abi/pre/gnu.ver (GLIBCXX_3.4.21): Tighten patterns - for old symbols some more. - -2020-10-29 Jonathan Wakely - - * include/bits/ranges_util.h (subrange::subrange(R&&)): Use - direct-initialization instead of list-initialization, so a - potential narrowing conversion from ranges::size(r) to the - stored size isn't ill-formed. - -2020-10-29 Jonathan Wakely - - * include/bits/parse_numbers.h (_Select_int_base): Avoid - narrowing conversion in constant expression. - * include/experimental/buffer (buffer_copy): Avoid narrowing - conversion. - * include/experimental/internet (hash<>::operator()): Do not - use deprecated 'argument_type' member. - * include/std/variant (variant::emplace): Use cast instead - of implicit conversion from size_t to narrower unsigned type. - -2020-10-29 Jonathan Wakely - - * include/tr1/shared_ptr.h (__shared_count, __shared_ptr) - (shared_ptr): Add diagnostic pragmas around uses of auto_ptr. - * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: - Adust dg-error line numbers. - -2020-10-29 Jonathan Wakely - - * testsuite/18_support/96817.cc: Avoid -Wunused warnings. - * testsuite/20_util/any/assign/2.cc: Likewise. - * testsuite/20_util/any/cons/2.cc: Likewise. - * testsuite/20_util/align/1.cc: Avoid -Wsign-compare warning. - * testsuite/20_util/function/65760.cc: Avoid -Wunused warning. - * testsuite/20_util/function/1.cc: Avoid -Wcatch-value warning. - * testsuite/20_util/function/cons/move_target.cc: Avoid -Wunused - warning. - * testsuite/20_util/headers/memory/synopsis.cc: Add exception - specification. - * testsuite/20_util/monotonic_buffer_resource/allocate.cc: Avoid - -Wsign-compare warning. - * testsuite/20_util/tuple/cons/deduction.cc: Avoid -Wunused - warning. - * testsuite/20_util/specialized_algorithms/uninitialized_copy/808590-cxx11.cc: - Avoid -Wdeprecated-copy warning. - * testsuite/21_strings/basic_string/56166.cc: Avoid - -Wcatch-value warning. - * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc: - Avoid -Wcatch-value warnings. - * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc: - Likewise. - * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc: - Likewise. - * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc: - Likewise. - * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc: - Likewise. - * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc: - Likewise. - * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc: - Likewise. - * testsuite/21_strings/basic_string/numeric_conversions/char/stoull.cc: - Likewise. - * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stod.cc: - Likewise. - * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stof.cc: - Likewise. - * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoi.cc: - Likewise. - * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stol.cc: - Likewise. - * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stold.cc: - Likewise. - * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoll.cc: - Likewise. - * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoul.cc: - Likewise. - * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoull.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/compare/char/nonnull.cc: - Prune additional diagnostics. - * testsuite/21_strings/basic_string_view/operations/find/char/nonnull.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/rfind/char/nonnull.cc: - Likewise. - * testsuite/21_strings/headers/string/synopsis.cc: Add exception - specifications. - * testsuite/22_locale/locale/cons/12352.cc: Define sized - delete operators to avoid warnings. - * testsuite/23_containers/deque/modifiers/swap/1.cc: Add - exception specification. - * testsuite/23_containers/forward_list/cons/11.cc: Avoid - -Wdeprecated-copy warning. - * testsuite/23_containers/headers/bitset/synopsis.cc: Add - exception specification. - * testsuite/23_containers/headers/deque/synopsis.cc: Likewise. - * testsuite/23_containers/headers/forward_list/synopsis.cc: - Likewise. - * testsuite/23_containers/headers/list/synopsis.cc: Likewise. - * testsuite/23_containers/headers/map/synopsis.cc: Likewise. - * testsuite/23_containers/headers/queue/synopsis.cc: Likewise. - * testsuite/23_containers/headers/set/synopsis.cc: Likewise. - * testsuite/23_containers/headers/vector/synopsis.cc: Likewise. - * testsuite/23_containers/list/modifiers/swap/1.cc: Likewise. - * testsuite/23_containers/map/modifiers/swap/1.cc: Likewise. - * testsuite/23_containers/multimap/modifiers/swap/1.cc: - Likewise. - * testsuite/23_containers/multiset/modifiers/swap/1.cc: - Likewise. - * testsuite/23_containers/set/modifiers/swap/1.cc: Likewise. - * testsuite/23_containers/unordered_set/56267-2.cc: Avoid - -Wdeprecated-copy warning. - * testsuite/23_containers/vector/bool/23632.cc: Avoid - -Wempty-body warning. - * testsuite/23_containers/vector/modifiers/swap/1.cc: Add - exception specification. - * testsuite/25_algorithms/heap/moveable2.cc: Fix misplaced - parentheses around arguments. - * testsuite/25_algorithms/sample/1.cc: Use return value. - * testsuite/25_algorithms/search/searcher.cc: Avoid -Wunused - warnings. - * testsuite/27_io/basic_ostream/exceptions/char/9561.cc: - Likewise. - * testsuite/27_io/basic_ostream/exceptions/wchar_t/9561.cc: - Likewise. - * testsuite/27_io/filesystem/operations/remove_all.cc: Avoid - -Wsign-compare warning. - * testsuite/experimental/any/assign/2.cc: Avoid -Wunused warnings. - * testsuite/experimental/any/cons/2.cc: Likewise. - * testsuite/experimental/filesystem/operations/remove_all.cc: - Avoid -Wign-compare warning. - * testsuite/experimental/memory/observer_ptr/cons/cons.cc: - Likewise. - * testsuite/experimental/memory_resource/null_memory_resource.cc: - Likewise. - * testsuite/experimental/source_location/1.cc: Avoid -Waddress - warning. - * testsuite/ext/pod_char_traits.cc: Avoid -Wunused warning. - * testsuite/ext/vstring/modifiers/clear/56166.cc: Avoid - -Wcatch-value. - * testsuite/std/concepts/concepts.lang/concept.swappable/swap.cc: - Avoid -Wunused warning. - * testsuite/std/concepts/concepts.lang/concept.swappable/swappable.cc: - Likewise. - * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: - Prune additional warnings. - * testsuite/tr1/3_function_objects/function/1.cc: Avoid - -Wcatch-value warning. - * testsuite/util/replacement_memory_operators.h: Define sized - delete to avoid warnings. - * testsuite/util/testsuite_api.h (_NonDefaultConstructible): Add - user-declared assignment operator to stop -Wdeprecated-copy - warnings. - * testsuite/util/testsuite_containers.h: Avoid -Wunused warning. - * testsuite/util/testsuite_iterators.h: Avoid -Wsign-compare - warnings. - * testsuite/util/testsuite_new_operators.h: Define sized deleted. - -2020-10-29 Jonathan Wakely - - * testsuite/25_algorithms/all_of/constexpr.cc: Check result of - the algorithm. - * testsuite/25_algorithms/any_of/constexpr.cc: Likewise. - * testsuite/25_algorithms/binary_search/constexpr.cc: Likewise. - * testsuite/25_algorithms/copy_backward/constexpr.cc: Likewise. - * testsuite/25_algorithms/count/constexpr.cc: Likewise. - * testsuite/25_algorithms/equal/constexpr.cc: Likewise. - * testsuite/25_algorithms/equal_range/constexpr.cc: Likewise. - * testsuite/25_algorithms/fill/constexpr.cc: Likewise. - * testsuite/25_algorithms/find_end/constexpr.cc: Likewise. - * testsuite/25_algorithms/find_if/constexpr.cc: Likewise. - * testsuite/25_algorithms/is_partitioned/constexpr.cc: Likewise. - * testsuite/25_algorithms/is_permutation/constexpr.cc: Likewise. - * testsuite/25_algorithms/is_sorted_until/constexpr.cc: - Likewise. - * testsuite/25_algorithms/lexicographical_compare/constexpr.cc: - Likewise. - * testsuite/25_algorithms/lower_bound/constexpr.cc: Likewise. - * testsuite/25_algorithms/merge/constexpr.cc: Likewise. - * testsuite/25_algorithms/mismatch/constexpr.cc: Likewise. - * testsuite/25_algorithms/none_of/constexpr.cc: Likewise. - * testsuite/25_algorithms/partition_copy/constexpr.cc: Likewise. - * testsuite/25_algorithms/remove_copy/constexpr.cc: Likewise. - * testsuite/25_algorithms/remove_copy_if/constexpr.cc: Likewise. - * testsuite/25_algorithms/remove_if/constexpr.cc: Likewise. - * testsuite/25_algorithms/replace_if/constexpr.cc: Likewise. - * testsuite/25_algorithms/reverse/constexpr.cc: Likewise. - * testsuite/25_algorithms/reverse_copy/constexpr.cc: Likewise. - * testsuite/25_algorithms/rotate_copy/constexpr.cc: Likewise. - * testsuite/25_algorithms/search/constexpr.cc: Likewise. - * testsuite/25_algorithms/set_difference/constexpr.cc: Likewise. - * testsuite/25_algorithms/set_intersection/constexpr.cc: - Likewise. - * testsuite/25_algorithms/set_symmetric_difference/constexpr.cc: - Likewise. - * testsuite/25_algorithms/set_union/constexpr.cc: Likewise. - * testsuite/25_algorithms/unique_copy/constexpr.cc: Likewise. - * testsuite/25_algorithms/upper_bound/constexpr.cc: Likewise. - -2020-10-29 Jonathan Wakely - - * include/bits/uniform_int_dist.h (_Power_of_two): Add - constexpr. - (uniform_int_distribution::_S_nd): Add static_assert to ensure - the wider type is twice as wide as the result type. - (uniform_int_distribution::__generate_impl): Add static_assert - and declare variables as constexpr where appropriate. - (uniform_int_distribution:operator()): Likewise. Only consider - the uniform random bit generator's range of possible results - when deciding whether _S_nd can be used, not the __uctype type. - -2020-10-29 Jonathan Wakely - - * include/ext/rope (_Refcount_Base::_M_ref_count): Remove - volatile qualifier. - (_Refcount_Base::_M_decr()): Likewise. - -2020-10-29 Jonathan Wakely - - * include/bits/std_function.h (_Function_handler): - Define explicit specialization used for invalid target types. - (_Base_manager::_M_manager) [!__cpp_rtti]: Return null. - (function::target_type()): Check for null pointer. - (function::target()): Define unconditionall. Fix bug with - const_cast of function pointer type. - (function::target() const): Define unconditionally, but - only use RTTI if enabled. - * testsuite/20_util/function/target_no_rtti.cc: New test. - -2020-10-29 Patrick Palka - - * testsuite/25_algorithms/lexicographical_compare/constrained.cc: - (test03): Fix initializing the vector vy with the array y of size 4. - -2020-10-29 Jonathan Wakely - - * include/bits/hashtable_policy.h (_Local_iterator_base): Cast - value to avoid -Wsign-compare warnings. - * include/bits/regex.h (sub_match::_M_str): Avoid narrowing - conversion. - * include/bits/regex_compiler.tcc (_Compiler::_M_quantifier): - Initialize variable to avoid -Wmaybe-uninitialized warning. - * include/bits/shared_ptr_base.h (_Sp_counted_deleter::_Impl): - Reorder mem-initializer-list to avoid -Wreorder warning. - * include/bits/stl_tree.h (_Rb_tree_impl): Explicitly - initialize base class in copy constructor. - * include/debug/safe_iterator.h (_Safe_iterator): Likewise. - * include/ext/debug_allocator.h: Reorder mem-initializer-list - to avoid -Wreorder warning. - * include/ext/throw_allocator.h (throw_allocator_limit) - (throw_allocator_random): Add user-declared assignment operators - to avoid -Wdeprecated-copy warnings. - -2020-10-29 Jonathan Wakely - - * include/bits/uniform_int_dist.h (uniform_int_distribution): - Rename _UniformRandomNumberGenerator template parameters to - _UniformRandomBitGenerator, as per P0346R1. - -2020-10-29 Jonathan Wakely - - * include/std/sstream (basic_stringbuf(__string_type&&, openmode)): - Call _M_init_syncbuf to set up get/put areas. Also qualify - std::move. - -2020-10-28 Jonathan Wakely - - * config/abi/pre/gnu.ver (GLIBCXX_3.4.29): Remove duplicate - patterns. - (CXXABI_1.3.13): Restore missing piece. - -2020-10-28 Thomas Rodgers - - * acinclude.m4 (glibcxx_SUBDIRS): Add src/c++20. - * config/abi/pre/gnu.ver (GLIBCXX_3.4.29): New symbols. - * configure: Regenerate. - * include/std/sstream: - (basic_stringbuf::basic_stringbuf(allocator const&)): New constructor. - (basic_stringbuf::basic_stringbuf(openmode, allocator const&)): Likewise. - (basic_stringbuf::basic_stringbuf(basic_string&&, openmode)): Likewise. - (basic_stringbuf::basic_stringbuf(basic_stringbuf&&, allocator const&)): - Likewise. - (basic_stringbuf::get_allocator()): New method. - (basic_stringbuf::view()): Likewise. - (basic_istringstream::basic_istringstream(basic_string&&, openmode)): - New constructor. - (basic_istringstream::basic_istringstream(openmode, allocator const&)): - Likewise - (basic_istringstream::view()): New method. - (basic_ostringstream::basic_ostringstream(basic_string&&, openmode)): - New constructor. - (basic_ostringstream::basic_ostringstream(openmode, allocator const&)): - Likewise - (basic_ostringstream::view()): New method. - (basic_stringstream::basic_stringstream(basic_string&&, openmode)): - New constructor. - (basic_stringstream::basic_stringstream(openmode, allocator const&)): - Likewise - (basic_stringstream::view()): New method. - * src/Makefile.in: Add c++20 directory. - * src/Makefile.am: Regenerate. - * src/c++20/Makefile.am: Add makefile for new sub-directory. - * src/c++20/Makefile.in: Generate. - * src/c++20/sstream-inst.cc: New file defining explicit - instantiations for basic_stringbuf, basic_istringstream, - basic_ostringstream, and basic_stringstream member functions - added in C++20. - * testsuite/27_io/basic_stringbuf/cons/char/2.cc: New test. - * testsuite/27_io/basic_stringbuf/cons/wchar_t/2.cc: Likewise. - * testsuite/27_io/basic_stringbuf/view/char/1.cc: Likewise. - * testsuite/27_io/basic_stringbuf/view/wchar_t/1.cc: Likewise. - * testsuite/27_io/basic_istringstream/cons/char/1.cc: Likewise. - * testsuite/27_io/basic_istringstream/cons/wchar_t/1.cc: Likewise. - * testsuite/27_io/basic_istringstream/view/char/1.cc: Likewise. - * testsuite/27_io/basic_istringstream/view/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_ostringstream/view/char/1.cc: Likewise. - * testsuite/27_io/basic_ostringstream/view/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. - * testsuite/27_io/basic_stringstream/view/char/1.cc: Likewise. - * testsuite/27_io/basic_stringstream/view/wchar_t/1.cc: Likewise. - -2020-10-28 Patrick Palka - - PR libstdc++/97613 - * include/std/chrono (year_month_weekday::operator sys_days): - Cast the result of index() to int so that the initializer for - days{} is sign-extended when it's converted to the underlying - type. - * testsuite/std/time/year_month_weekday/3.cc: New test. - -2020-10-28 Jonathan Wakely - - * libsupc++/new_opnt.cc (new): Add comment about forced unwind - exceptions. - -2020-10-28 Jonathan Wakely - - PR libstdc++/94268 - * config/os/mingw32-w64/os_defines.h (_GLIBCXX_BUFSIZ): - Define. - * config/os/mingw32/os_defines.h (_GLIBCXX_BUFSIZ): - Define. - * include/bits/fstream.tcc: Use _GLIBCXX_BUFSIZ instead - of BUFSIZ. - * include/ext/stdio_filebuf.h: Likewise. - * include/std/fstream (_GLIBCXX_BUFSIZ): Define. - -2020-10-28 Jonathan Wakely - - PR libstdc++/95592 - * include/bits/valarray_after.h (_DEFINE_EXPR_UNARY_OPERATOR) - (_DEFINE_EXPR_BINARY_OPERATOR, _DEFINE_EXPR_BINARY_FUNCTION): - Use elaborated-type-specifier and qualified-id to avoid - ambiguities with QNX system headers. - * testsuite/26_numerics/valarray/95592.cc: New test. - -2020-10-28 Jonathan Wakely - - PR libstdc++/95609 - * include/std/span (span): Reorder data members to match common - implementations of struct iovec. - * testsuite/23_containers/span/layout_compat.cc: New test. - -2020-10-27 Jonathan Wakely - - * include/std/functional (std::_Placeholder): Define for C++98 - as well as later standards. - * include/tr1/functional (std::placeholders::_1 etc): Declare - for C++98. - (tr1::_Placeholder): Replace with using-declaration for - std::_Placeholder. - (tr1::placeholders::_1 etc.): Replace with using-directive for - std::placeholders. - -2020-10-27 Jonathan Wakely - - * include/tr1/ell_integral.tcc (__ellint_rf, __ellint_rd) - (__ellint_rc, __ellint_rj): Remove unused variables. - * include/tr1/modified_bessel_func.tcc (__airy): Likewise. - -2020-10-27 Jonathan Wakely - - * include/bits/locale_conv.h (__str_codecvt_out_all): - Add cast to compare operands of the same signedness. - * include/bits/locale_facets_nonio.tcc - (time_get::_M_extract_wday_or_month): Likewise. - * include/bits/sstream.tcc (basic_stringbuf::overflow): - Likewise. - * include/tr1/legendre_function.tcc (__sph_legendre): Use - unsigned for loop variable. - -2020-10-27 Jonathan Wakely - - * include/std/charconv (from_chars): Add noexcept to match - definitions in src/c++17/floating_from_chars.cc - -2020-10-27 Jonathan Wakely - - * src/c++17/fs_dir.cc (fs::directory_iterator::operator*): - Add noexcept. Do not throw on precondition violation. - -2020-10-27 Jonathan Wakely - - * include/bits/fs_path.h (path::_List::begin, path::_List::end): - Add noexcept to match definitions in src/c++17/fs_path.cc. - -2020-10-27 Jonathan Wakely - - * testsuite/experimental/memory_resource/new_delete_resource.cc: - Add missing header. - * testsuite/experimental/memory_resource/resource_adaptor.cc: - Likewise. - -2020-10-26 Jonathan Wakely - - * include/experimental/executor (strand::_State): Fix thinko. - -2020-10-26 Ville Voutilainen - - * include/std/type_traits (__is_nt_constructible_impl): Remove. - (__is_nothrow_constructible_impl): Adjust. - (is_nothrow_default_constructible): Likewise. - (__is_nt_assignable_impl): Remove. - (__is_nothrow_assignable_impl): Adjust. - -2020-10-26 Jonathan Wakely - - PR libstdc++/97570 - * libsupc++/new_opa.cc: Declare size_t in global namespace. - Remove unused header. - -2020-10-26 Stephan Bergmann - - * include/bits/shared_ptr_base.h - (_Sp_counted_base::_M_add_ref_lock_nothrow(): Add noexcept to - definitions to match declaration. - (__shared_count(const __weak_count&, nothrow_t)): Add noexcept - to declaration to match definition. - -2020-10-23 Patrick Palka - - * include/std/ranges (single_view::single_view): Mark the - in place constructor explicit as per LWG 3428. - (take_view): Remove the constraint on the deduction guide's - template parameter as per LWG 3447. - -2020-10-23 Jonathan Wakely - - * include/experimental/memory_resource: Include . - (polymorphic_allocator::construct): Qualify forward_as_tuple. - * include/std/memory_resource: Likewise. - -2020-10-22 Jonathan Wakely - - * testsuite/30_threads/condition_variable/members/68519.cc: - Define recent_epoch_float_clock::duration to meet the Cpp17Clock - requirements. - -2020-10-22 Jonathan Wakely - - * include/std/shared_mutex: Only include - when pthread_rwlock_t and POSIX timers are not available. - (__cpp_lib_shared_mutex, __cpp_lib_shared_timed_mutex): Change - value to be type 'long'. - * include/std/version (__cpp_lib_shared_mutex) - (__cpp_lib_shared_timed_mutex): Likewise. - -2020-10-22 Jonathan Wakely - - * include/Makefile.am: Add new header. - * include/Makefile.in: Regenerate. - * include/bits/shared_ptr.h: Include . - * include/bits/shared_ptr_base.h: Include required headers here - directly, instead of in . - * include/bits/uses_allocator_args.h: New file. Move utility - functions for uses-allocator construction from to here. - Only define the utility functions when concepts are available. - (__cpp_lib_make_obj_using_allocator): Define non-standard - feature test macro. - * include/std/condition_variable: Remove unused headers. - * include/std/future: Likewise. - * include/std/memory: Remove headers that are not needed - directly, and are now inclkuded where they're needed. Include - new header. - * include/std/memory_resource: Include only the necessary - headers. Use new feature test macro to detect support for the - utility functions. - * include/std/scoped_allocator: Likewise. - * include/std/version (__cpp_lib_make_obj_using_allocator): - Define. - -2020-10-22 Olivier Hainque - - * crossconfig.m4: Turn vxworks matcher into vxworks*. - * configure.host: Likewise. - * configure: Regenerate. - -2020-10-21 Jonathan Wakely - - * include/bits/shared_ptr.h (shared_ptr(const weak_ptr&, nothrow_t)): - Add noexcept. - * include/bits/shared_ptr_base.h (_Sp_counted_base::_M_add_ref_lock): - Remove specializations and just call _M_add_ref_lock_nothrow. - (__shared_count, __shared_ptr): Use nullptr for null pointer - constants. - (__shared_count(const __weak_count&)): Use _M_add_ref_lock_nothrow - instead of _M_add_ref_lock. - (__shared_count(const __weak_count&, nothrow_t)): Add noexcept. - (__shared_ptr::operator bool()): Add noexcept. - (__shared_ptr(const __weak_ptr&, nothrow_t)): Add noexcept. - -2020-10-21 Jonathan Wakely - - PR libstdc++/97512 - * include/bits/ranges_util.h (tuple_size) - (tuple_element): Move here from ... - * include/std/ranges: ... here. - * testsuite/std/ranges/subrange/97512.cc: New test. - -2020-10-21 Thomas Rodgers - - * include/pstl/algorithm_impl.h: Update file. - * include/pstl/execution_impl.h: Likewise. - * include/pstl/glue_algorithm_impl.h: Likewise. - * include/pstl/glue_memory_impl.h: Likewise. - * include/pstl/glue_numeric_impl.h: Likewise. - * include/pstl/memory_impl.h: Likewise. - * include/pstl/numeric_impl.h: Likewise. - * include/pstl/parallel_backend.h: Likewise. - * include/pstl/parallel_backend_serial.h: Likewise. - * include/pstl/parallel_backend_tbb.h: Likewise. - * include/pstl/parallel_backend_utils.h: Likewise. - * include/pstl/pstl_config.h: Likewise. - * include/pstl/unseq_backend_simd.h: Likewise. - -2020-10-20 François Dumont - - * include/bits/hashtable_policy.h - (_Hash_node_value_base<>): Remove _Hash_node_base inheritance. - (_Hash_node_code_cache): New. - (_Hash_node_value): New. - (_Hash_node<>): Inherits _Hash_node_base<> and _Hash_node_value<>. - (_Map_base<>::__node_type): Remove. - (_Map_base<>::iterator): Remove. - (_Insert_base<>::__hash_cached): New. - (_Insert_base<>::__constant_iterators): New. - (_Insert_base<>::__hashtable_alloc): New. - (_Insert_base<>::__node_type): Remove. - (_Insert_base<>::__node_ptr): New. - (_Hash_code_base<>): Remove specializations. - (_Hash_code_base<>::__node_type): Remove. - (_Hash_code_base<>::_M_bucket_index(const __node_type*, size_t)): - Replace by... - (_Hash_code_base<>::_M_bucket_index(const _Hash_node_value<>&, size_t)): - ...this. - (_Hash_code_base<>::_M_store_code(__node_type*, __hash_code)): - Replace by... - (_Hash_code_base<>::_M_store_code(_Hash_node_code_cache<>&, __hash_code)): - ...this. - (_Hash_code_base<>::_M_copy_code(__node_type*, const __node_type*)): - Replace by... - (_Hash_code_base<>::_M_copy_code(_Hash_node_code_cache<>&, - const _Hash_node_code_base<>&)): ...this. - (_Hashtable_base<>::__constant_iterators): Remove. - (_Hashtable_base<>::__unique_keys): Remove. - (_Hashtable_base<>::__node_type): Remove. - (_Hashtable_base<>::iterator): Remove. - (_Hashtable_base<>::const_iterator): Remove. - (_Hashtable_base<>::local_iterator): Remove. - (_Hashtable_base<>::const_local_iterator): Remove. - (_Hashtable_base<>::__ireturn_type): Remove. - (_Hashtable_base<>::_Equal_hash_code<>::_S_equals): Replace by... - (_Hashtable_base<>::_S_equals(__hash_code, const _Hash_node_code_hash<>&)): - ...this. - (_Hashtable_base<>::_Equal_hash_code<>::_S_node_equals): Replace by... - (_Hashtable_base<>::_S_node_equals(__hash_code, - const _Hash_node_code_hash<>&)): ...this. - (_Hashtable_base<>::_Equal_hash_code<>): Remove. - (_Hashtable_base<>::_M_equals): Adapt. - (_Hashtable_baxe<>::_M_node_equals): Adapt. - (_Equality<>::_M_equal): Adapt. - (_Hashtable_alloc<>::__node_ptr): New. - (_Hashtable_alloc<>::__bucket_type): Rename into... - (_Hashtable_alloc<>::__node_base_ptr): ...this. - (_Hashtable_alloc<>::__bucket_alloc_type): Rename into... - (_Hashtable_alloc<>::__buckets_alloc_type): ...this. - (_Hashtable_alloc<>::__bucket_alloc_traits): Rename into... - (_Hashtable_alloc<>::__buckets_alloc_traits): ...this. - (_Hashtable_alloc<>::__buckets_ptr): New. - (_Hashtable_alloc<>::_M_allocate_node): Adapt. - (_Hashtable_alloc<>::_M_deallocate_node): Adapt. - (_Hashtable_alloc<>::_M_deallocate_node_ptr): Adapt. - (_Hashtable_alloc<>::_M_deallocate_nodes): Adapt. - (_Hashtable_alloc<>::_M_allocate_buckets): Adapt. - (_Hashtable_alloc<>::_M_deallocate_buckets): Adapt. - * include/bits/hashtable.h (_Hashtable<>): Adapt. - -2020-10-20 Aldy Hernandez - - * testsuite/21_strings/basic_string/capacity/1.cc: Pass - -Wno-stringop-overflow to test. - -2020-10-20 Jonathan Wakely - - PR libstdc++/95917 - * include/std/coroutine (__noop_coro_frame): Replace with - noop_coroutine_handle::__frame. - (__dummy_resume_destroy): Define inline in __frame. - (__noop_coro_fr): Replace with noop_coroutine_handle::_S_fr - and define as inline. - * testsuite/18_support/coroutines/95917.cc: New test. - -2020-10-20 Jonathan Wakely - - * include/std/coroutine (coroutine_handle<_Promise>): Remove - base class. Add constructors, conversions, accessors etc. as - proposed for LWG 3460. - (coroutine_handle): Likewise. - * testsuite/18_support/coroutines/lwg3460.cc: New test. - -2020-10-19 Jonathan Wakely - - * include/bits/unique_ptr.h (make_unique_for_overwrite): Define - for C++20. - * testsuite/20_util/unique_ptr/creation/array_neg.cc: Remove - unused header. Adjust standard reference. - * testsuite/20_util/unique_ptr/creation/for_overwrite.cc: New test. - * testsuite/20_util/unique_ptr/creation/for_overwrite__neg.cc: New test. - -2020-10-19 Jonathan Wakely - - * include/std/tuple (_Head_base): Use reserved - form of __no_unique_address__ attribute because - no_unique_address is not reserved prior to C++20. - -2020-10-19 Jonathan Wakely - - * include/bits/node_handle.h (_Node_handle_common): Replace - std::optional with custom type. - * testsuite/20_util/variant/exception_safety.cc: Add missing - header include. - -2020-10-19 Jonathan Wakely - - * include/precompiled/expc++.h: Removed. - -2020-10-17 Ville Voutilainen - - PR libstdc++/97449 - * include/std/variant - (__gen_vtable_impl<>::_S_apply_single_alt): - Diagnose visitor return type mismatches here.. - (__gen_vtable_impl::_S_apply): - ..not here. - -2020-10-15 Jonathan Wakely - - * include/std/concepts: Fix typos in copyright notice. - * include/std/ranges: Likewise. - -2020-10-14 Jonathan Wakely - - PR libstdc++/97415 - * include/std/sstream (basic_stringbuf::str()): Check for - null egptr() before comparing to non-null pptr(). - -2020-10-14 Jonathan Wakely - - * testsuite/21_strings/basic_string/modifiers/assign/char/move_assign_optim.cc: - Do not generate debug info. - * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/move_assign_optim.cc: - Likewise. - -2020-10-14 Jonathan Wakely - - * include/bits/basic_string.h (basic_string(const Alloc&)) - (basic_string(const basic_string&) - (basic_string(const CharT*, size_type, const Alloc&)) - (basic_string(const CharT*, const Alloc&)) - (basic_string(size_type, CharT, const Alloc&)) - (basic_string(initializer_list, const Alloc&)) - (basic_string(InputIterator, InputIterator, const Alloc&)): - Define inline in class body. - * include/bits/basic_string.tcc (basic_string(const Alloc&)) - (basic_string(const basic_string&) - (basic_string(const CharT*, size_type, const Alloc&)) - (basic_string(const CharT*, const Alloc&)) - (basic_string(size_type, CharT, const Alloc&)) - (basic_string(initializer_list, const Alloc&)) - (basic_string(InputIterator, InputIterator, const Alloc&)): - Move definitions into class body. - -2020-10-14 Jonathan Wakely - - * testsuite/lib/libstdc++.exp (check_effective_target_cxx11-abi): - Add comments about which test flags get used by the check. - -2020-10-14 Jonathan Wakely - - * testsuite/21_strings/basic_string/allocator/char/copy.cc: Make - comment more precise about what isn't supported by COW strings. - * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc: - Likewise. - * testsuite/21_strings/basic_string/allocator/char/move.cc: - Likewise. - * testsuite/21_strings/basic_string/allocator/char/move_assign.cc: - Likewise. - * testsuite/21_strings/basic_string/allocator/char/noexcept.cc: - Likewise. - * testsuite/21_strings/basic_string/allocator/char/operator_plus.cc: - Likewise. - * testsuite/21_strings/basic_string/allocator/char/swap.cc: - Likewise. - * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc: - Likewise. - * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc: - Likewise. - * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc: - Likewise. - * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc: - Likewise. - * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc: - Likewise. - * testsuite/21_strings/basic_string/allocator/wchar_t/operator_plus.cc: - Likewise. - * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc: - Likewise. - -2020-10-14 Jonathan Wakely - - * testsuite/21_strings/basic_string/allocator/char/minimal.cc: - Do not require cxx11-abi effective target. - * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: - Likewise. - * testsuite/27_io/basic_fstream/cons/base.cc: Likewise. - -2020-10-14 Jonathan Wakely - - * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI] - (basic_string(const _CharT*, const _Alloc&)): Constrain to - require an allocator-like type to fix CTAD ambiguity (LWG 3706). - * testsuite/21_strings/basic_string/cons/char/deduction.cc: - Remove dg-skip-if. - * testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc: - Likewise. - -2020-10-13 Nuno Lopes - - * include/bits/stl_algo.h (any_of): Fix incorrect description - in comment. - -2020-10-13 Jonathan Wakely - - * doc/xml/manual/evolution.xml: Document some API changes - and deprecations. - * doc/xml/manual/intro.xml: Document LWG 2499. - * doc/xml/manual/status_cxx2020.xml: Update status. - * doc/html/*: Regenerate. - -2020-10-13 Jonathan Wakely - - * doc/xml/book.txml: Remove trailing whitespace. - * doc/xml/chapter.txml: Likewise. - * doc/xml/class.txml: Likewise. - * doc/xml/gnu/fdl-1.3.xml: Likewise. - * doc/xml/gnu/gpl-3.0.xml: Likewise. - * doc/xml/manual/abi.xml: Likewise. - * doc/xml/manual/algorithms.xml: Likewise. - * doc/xml/manual/allocator.xml: Likewise. - * doc/xml/manual/appendix_contributing.xml: Likewise. - * doc/xml/manual/appendix_free.xml: Likewise. - * doc/xml/manual/appendix_porting.xml: Likewise. - * doc/xml/manual/atomics.xml: Likewise. - * doc/xml/manual/auto_ptr.xml: Likewise. - * doc/xml/manual/backwards_compatibility.xml: Likewise. - * doc/xml/manual/bitmap_allocator.xml: Likewise. - * doc/xml/manual/build_hacking.xml: Likewise. - * doc/xml/manual/codecvt.xml: Likewise. - * doc/xml/manual/concurrency.xml: Likewise. - * doc/xml/manual/concurrency_extensions.xml: Likewise. - * doc/xml/manual/configure.xml: Likewise. - * doc/xml/manual/containers.xml: Likewise. - * doc/xml/manual/ctype.xml: Likewise. - * doc/xml/manual/debug.xml: Likewise. - * doc/xml/manual/debug_mode.xml: Likewise. - * doc/xml/manual/diagnostics.xml: Likewise. - * doc/xml/manual/documentation_hacking.xml: Likewise. - * doc/xml/manual/evolution.xml: Likewise. - * doc/xml/manual/internals.xml: Likewise. - * doc/xml/manual/intro.xml: Likewise. - * doc/xml/manual/io.xml: Likewise. - * doc/xml/manual/iterators.xml: Likewise. - * doc/xml/manual/locale.xml: Likewise. - * doc/xml/manual/localization.xml: Likewise. - * doc/xml/manual/messages.xml: Likewise. - * doc/xml/manual/mt_allocator.xml: Likewise. - * doc/xml/manual/numerics.xml: Likewise. - * doc/xml/manual/parallel_mode.xml: Likewise. - * doc/xml/manual/policy_data_structures.xml: Likewise. - * doc/xml/manual/prerequisites.xml: Likewise. - * doc/xml/manual/shared_ptr.xml: Likewise. - * doc/xml/manual/spine.xml: Likewise. - * doc/xml/manual/status_cxxtr1.xml: Likewise. - * doc/xml/manual/status_cxxtr24733.xml: Likewise. - * doc/xml/manual/strings.xml: Likewise. - * doc/xml/manual/support.xml: Likewise. - * doc/xml/manual/test.xml: Likewise. - * doc/xml/manual/test_policy_data_structures.xml: Likewise. - * doc/xml/manual/using.xml: Likewise. - * doc/xml/manual/using_exceptions.xml: Likewise. - * doc/xml/manual/utilities.xml: Likewise. - * doc/html/*: Regenerate. - -2020-10-12 Patrick Palka - - * include/std/ranges (take_while_view::begin): Constrain the - const overload further as per LWG 3450. - (take_while_view::end): Likewise. - * testsuite/std/ranges/adaptors/take_while.cc: Add test for LWG - 3450. - -2020-10-12 Patrick Palka - - PR libstdc++/95322 - * include/std/ranges (take_view::_CI): Define this alias - template as per LWG 3449 and remove ... - (take_view::_Sentinel::_CI): ... this type alias. - (take_view::_Sentinel::operator==): Adjust use of _CI - accordingly. Define a second overload that accepts an iterator - of the opposite constness as per LWG 3449. - (take_while_view::_Sentinel::operator==): Likewise. - * testsuite/std/ranges/adaptors/95322.cc: Add tests for LWG 3449. - -2020-10-12 Jonathan Wakely - - * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.20 format. - -2020-10-12 Jonathan Wakely - - * doc/doxygen/user.cfg.in (PREDEFINED): Use __cplusplus=201703L - so that C++17 features are documented. - -2020-10-12 Jonathan Wakely - - * include/bits/stl_algobase.h (copy, move, copy_backward) - (move_backward): Fix documentation for returned iterator. - -2020-10-12 Martin Sebor - - PR c++/97201 - * libsupc++/new (operator new): Add attribute alloc_size and malloc. - -2020-10-11 Clement Chigot - - * config/os/aix/t-aix: Add complementary mode object file to - libstdc++fs.a - -2020-10-10 Jonathan Wakely - - PR libstdc++/97362 - * doc/html/manual/source_code_style.html: Regenerate. - * doc/xml/manual/appendix_contributing.xml: Add __deref to - BADNAMES. - * include/debug/functions.h (_Irreflexive_checker::__deref): - Rename to __ref. - * testsuite/17_intro/badnames.cc: Check __deref. - -2020-10-10 Ville Voutilainen - - * include/std/variant (__check_visitor_result): - Use size_t for indexes. - (__check_visitor_results): Likewise. - -2020-10-09 Ville Voutilainen - - PR libstdc++/95904 - * include/std/variant (__deduce_visit_result): Add a nested ::type. - (__gen_vtable_impl::_S_apply): - Check the visitor return type. - (__same_types): New. - (__check_visitor_result): Likewise. - (__check_visitor_results): Likewise. - (visit(_Visitor&&, _Variants&&...)): Use __check_visitor_results - in case we're visiting just one variant. - * testsuite/20_util/variant/visit_neg.cc: Adjust. - -2020-10-09 Jonathan Wakely - - PR libstdc++/97311 - * include/bits/random.tcc (seed_seq::generate): Use uint32_t for - calculations. Also split the first loop into three loops to - avoid branching on k on every iteration, resolving PR 94823. - * testsuite/26_numerics/random/seed_seq/97311.cc: New test. - * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-erro - line number. - -2020-10-09 Daniel Lemire - - * include/bits/uniform_int_dist.h (uniform_int_distribution::_S_nd): - New member function implementing Lemire's "nearly divisionless" - algorithm. - (uniform_int_distribution::operator()): Use _S_nd when the range - of the URBG is the full width of the result type. - -2020-10-09 Jonathan Wakely - - * testsuite/Makefile.am: Set and export variable separately. - * testsuite/Makefile.in: Regenerate. - -2020-10-09 Jonathan Wakely - - * scripts/check_performance: Use gnu++11 instead of gnu++0x. - * testsuite/Makefile.am (check-performance): Export CXXFLAGS to - child process. - * testsuite/Makefile.in: Regenerate. - -2020-10-09 Jonathan Wakely - - * testsuite/performance/26_numerics/random_dist.cc: New test. - -2020-10-09 Jonathan Wakely - - * testsuite/util/testsuite_performance.h (report_header): Remove - unused variable. - -2020-10-08 Patrick Palka - - PR libstdc++/95788 - * include/bits/ranges_uninitialized.h: - (__construct_at_fn::operator()): Rewrite in terms of - std::construct_at. Declare it conditionally noexcept. Qualify - calls to declval in its requires-clause. - * testsuite/20_util/specialized_algorithms/construct_at/95788.cc: - New test. - -2020-10-08 Jonathan Wakely - - PR libstdc++/82584 - * include/bits/random.tcc - (discrete_distribution::param_type::_M_initialize) - (piecewise_constant_distribution::param_type::_M_initialize) - (piecewise_linear_distribution::param_type::_M_initialize): - Add assertions for positive sums.. - * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error - line. - -2020-10-08 Jonathan Wakely - - * include/bits/ios_base.h (ios_base::failure): Add constructors - takeing error_code argument. Add code() member function. - * testsuite/27_io/ios_base/failure/cxx11.cc: Allow test to - run for the old ABI but do not check for derivation from - std::system_error. - * testsuite/27_io/ios_base/failure/error_code.cc: New test. - -2020-10-08 Jonathan Wakely - - * include/bits/random.h (__detail::_Mod): Revert last change. - (__detail::__mod): Do not use _Mod for a==0 case. - * testsuite/26_numerics/random/linear_congruential_engine/operators/call.cc: - Check other cases with a==0. Also check runtime results. - * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error - line. - -2020-10-07 Jonathan Wakely - - * include/bits/random.h (__detail::_Mod): Avoid divide by zero. - * testsuite/26_numerics/random/linear_congruential_engine/operators/call.cc: - New test. - -2020-10-07 Jonathan Wakely - - * include/bits/random.h (seed_seq(initializer_list)): Rename - parameter to use reserved name. - * include/bits/ranges_algo.h (shift_left, shift_right): Rename - template parameters to use reserved name. - * libsupc++/exception_ptr.h (exception_ptr): Likewise for - parameters and local variables. - * testsuite/17_intro/names.cc: Check "il". Do not check "d" and - "y" in C++20 mode. - -2020-10-06 Jonathan Wakely - - PR libstdc++/90295 - * config/abi/pre/gnu.ver (CXXABI_1.3.13): New symbol version. - (exception_ptr::_M_addref(), exception_ptr::_M_release()): - Export symbols. - * libsupc++/eh_ptr.cc (exception_ptr::exception_ptr()): - Remove out-of-line definition. - (exception_ptr::exception_ptr(const exception_ptr&)): - Likewise. - (exception_ptr::~exception_ptr()): Likewise. - (exception_ptr::operator=(const exception_ptr&)): - Likewise. - (exception_ptr::swap(exception_ptr&)): Likewise. - (exception_ptr::_M_addref()): Add branch prediction. - * libsupc++/exception_ptr.h (exception_ptr::operator bool): - Add noexcept. - [!_GLIBCXX_EH_PTR_COMPAT] (operator==, operator!=): Define - inline as hidden friends. Remove declarations at namespace - scope. - (exception_ptr::exception_ptr()): Define inline. - (exception_ptr::exception_ptr(const exception_ptr&)): - Likewise. - (exception_ptr::~exception_ptr()): Likewise. - (exception_ptr::operator=(const exception_ptr&)): - Likewise. - (exception_ptr::swap(exception_ptr&)): Likewise. - * testsuite/util/testsuite_abi.cc: Add CXXABI_1.3.13. - * testsuite/18_support/exception_ptr/90295.cc: New test. - -2020-10-06 Jonathan Wakely - - * include/std/ranges (join_view): Remove deduction guide. - (views::join): Add explicit template argument list to prevent - deducing the wrong type. - * testsuite/std/ranges/adaptors/join.cc: Move test for LWG 3474 - here, from ... - * testsuite/std/ranges/adaptors/join_lwg3474.cc: Removed. - -2020-10-05 Jonathan Wakely - - * include/bits/regex.h: Use __int_traits instead of - std::numeric_limits. - * include/bits/uniform_int_dist.h: Use __int_traits::__max - instead of std::numeric_limits::max(). - * include/bits/hashtable_policy.h: Use size_t(-1) instead of - std::numeric_limits::max(). - * include/std/regex: Include . - * include/std/string_view: Use typedef for __int_traits. - * src/c++11/hashtable_c++0x.cc: Use size_t(-1) instead of - std::numeric_limits::max(). - * testsuite/std/ranges/iota/96042.cc: Include . - * testsuite/std/ranges/iota/difference_type.cc: Likewise. - * testsuite/std/ranges/subrange/96042.cc: Likewise. - -2020-10-05 Jonathan Wakely - - * include/std/numeric: Move all #include directives to the top - of the header. - * testsuite/26_numerics/gcd/gcd_neg.cc: Adjust dg-error line - numbers. - * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise. - -2020-10-05 Jonathan Wakely - - * config/abi/pre/gnu.ver: Add new symbol. - * include/bits/functexcept.h (__throw_bad_array_new_length): - Declare new function. - * include/ext/malloc_allocator.h (malloc_allocator::allocate): - Throw bad_array_new_length for impossible sizes (LWG 3190). - * include/ext/new_allocator.h (new_allocator::allocate): - Likewise. - * include/std/memory_resource (polymorphic_allocator::allocate) - (polymorphic_allocator::allocate_object): Use new function, - __throw_bad_array_new_length. - * src/c++11/functexcept.cc (__throw_bad_array_new_length): - Define. - * testsuite/20_util/allocator/lwg3190.cc: New test. - -2020-10-05 Mike Crowe - - PR libstdc++/91486 - * include/bits/atomic_futex.h: - (__atomic_futex_unsigned::_M_load_when_equal_until): Use target - clock duration type when rounding. - * testsuite/30_threads/async/async.cc (test_pr91486_wait_for): - Rename from test_pr91486. - (float_steady_clock): New class for test. - (test_pr91486_wait_until): New test. - -2020-10-05 Mike Crowe - - * testsuite/20_util/duration_cast/rounding_c++11.cc: Copy - rounding.cc and alter to support compilation for C++11 and to - test std::chrono::__detail::ceil. - -2020-10-02 Jonathan Wakely - - * testsuite/29_atomics/atomic_float/value_init.cc: Use float - instead of double so that __atomic_load_8 isn't needed. - -2020-10-02 Jonathan Wakely - - * testsuite/18_support/96817.cc: Use terminate handler that - calls _Exit(0). - -2020-10-02 Patrick Palka - - * include/bits/stl_iterator.h (reverse_iterator::iter_move): - Define for C++20 as per P0896. - (reverse_iterator::iter_swap): Likewise. - (move_iterator::operator*): Apply P0896 changes for C++20. - (move_iterator::operator[]): Likewise. - * testsuite/24_iterators/reverse_iterator/cust.cc: New test. - -2020-10-01 Jonathan Wakely - - * config/cpu/arm/cxxabi_tweaks.h (_GLIBCXX_GUARD_TEST_AND_ACQUIRE): - Do not try to dereference return value of __atomic_load_n. - -2020-09-30 Jonathan Wakely - - * config/cpu/arm/cxxabi_tweaks.h (_GLIBCXX_GUARD_TEST_AND_ACQUIRE): - (_GLIBCXX_GUARD_SET_AND_RELEASE): Define for EABI. - -2020-09-30 Jonathan Wakely - - * include/bits/c++config (_GLIBCXX_HAVE_BUILTIN_IS_SAME): - Define for GCC 11 or when !__is_identifier(__is_same). - (_GLIBCXX_BUILTIN_IS_SAME_AS): Remove. - * include/std/type_traits (is_same, is_same_v): Replace uses - of _GLIBCXX_BUILTIN_IS_SAME_AS. - -2020-09-28 Patrick Palka - - * include/std/ranges (filter_view): Declare the data member - _M_base last instead of first, and adjust constructors' member - initializer lists accordingly. - (transform_view): Likewise. - (take_view): Likewise. - (take_while_view): Likewise. - (drop_view): Likewise. - (drop_while_view): Likewise. - (join_view): Likewise. - (split_view): Likewise (and tweak nearby formatting). - (reverse_view): Likewise. - * testsuite/std/ranges/adaptors/sizeof.cc: Update expected - sizes. - -2020-09-28 Patrick Palka - - * testsuite/std/ranges/adaptors/sizeof.cc: New test. - -2020-09-28 Patrick Palka - - * include/bits/ranges_util.h (subrange::_M_end): Give it - [[no_unique_address]]. - * testsuite/std/ranges/subrange/sizeof.cc: New test. - -2020-09-28 Patrick Palka - - * include/std/ranges (iota_view::_M_bound): Give it - [[no_unique_address]]. - * testsuite/std/ranges/iota/iota_view.cc: Check that an - unbounded iota_view has minimal size. - -2020-09-27 Clement Chigot - - * config/os/aix/t-aix: Use $(AR) without -X32_64. - -2020-09-26 Jonathan Wakely - - PR libstdc++/96817 - * include/ext/atomicity.h (__gnu_cxx::__is_single_threaded()): - New function wrapping __libc_single_threaded if available. - (__exchange_and_add_dispatch, __atomic_add_dispatch): Use it. - * libsupc++/guard.cc (__cxa_guard_acquire, __cxa_guard_abort) - (__cxa_guard_release): Likewise. - * testsuite/18_support/96817.cc: New test. - -2020-09-25 Jonathan Wakely - - * libsupc++/Makefile.am: Remove redundant -std=gnu++1z flags. - * libsupc++/Makefile.in: Regenerate. - -2020-09-24 Antony Polukhin - - PR libstdc++/71579 - * include/std/type_traits (invoke_result, is_invocable) - (is_invocable_r, is_nothrow_invocable, is_nothrow_invocable_r): - Add static_asserts to make sure that the arguments of the type - traits are not misused with incomplete types. - * testsuite/20_util/invoke_result/incomplete_args_neg.cc: New test. - * testsuite/20_util/is_invocable/incomplete_args_neg.cc: New test. - * testsuite/20_util/is_invocable/incomplete_neg.cc: New test. - * testsuite/20_util/is_nothrow_invocable/incomplete_args_neg.cc: - New test. - * testsuite/20_util/is_nothrow_invocable/incomplete_neg.cc: Check - for error on incomplete type usage in trait. - -2020-09-24 Patrick Palka - - * include/std/ranges (__detail::__boxable): Split out the - associated constraints of __box into here. - (__detail::__box): Use the __boxable concept. Define a leaner - partial specialization for semiregular types. - (single_view::_M_value): Give it [[no_unique_address]]. - (filter_view::_M_pred): Likewise. - (transform_view::_M_fun): Likewise. - (take_while_view::_M_pred): Likewise. - (drop_while_view::_M_pred):: Likewise. - * testsuite/std/ranges/adaptors/detail/semiregular_box.cc: New - test. - -2020-09-24 Jonathan Wakely - - * doc/xml/manual/configure.xml: Correct name of option. - * doc/html/*: Regenerate. - -2020-09-22 Jonathan Wakely - - PR libstdc++/97167 - * src/c++17/fs_path.cc (path::_Parser::root_path()): Check - for empty string before inspecting the first character. - * testsuite/27_io/filesystem/path/append/source.cc: Append - empty string_view to path. - -2020-09-22 Glen Joseph Fernandes - - * include/bits/align.h (align): Fix overflow handling. - * testsuite/20_util/align/3.cc: New test. - -2020-09-22 Jonathan Wakely - - * include/Makefile.am: Add new headers and adjust for renamed - header. - * include/Makefile.in: Regenerate. - * include/bits/iterator_concepts.h: Adjust for renamed header. - * include/bits/range_access.h (ranges::*): Move to new - header. - * include/bits/ranges_algobase.h: Include new - header instead of . - * include/bits/ranges_algo.h: Include new - header. - * include/bits/range_cmp.h: Moved to... - * include/bits/ranges_cmp.h: ...here. - * include/bits/ranges_base.h: New header. - * include/bits/ranges_util.h: New header. - * include/experimental/string_view: Include new - header. - * include/std/functional: Adjust for renamed header. - * include/std/ranges (ranges::view_base, ranges::enable_view) - (ranges::dangling, ranges::borrowed_iterator_t): Move to new - header. - (ranges::view_interface, ranges::subrange) - (ranges::borrowed_subrange_t): Move to new - header. - * include/std/span: Include new header. - * include/std/string_view: Likewise. - * testsuite/24_iterators/back_insert_iterator/pr93884.cc: Add - missing header. - * testsuite/24_iterators/front_insert_iterator/pr93884.cc: - Likewise. - -2020-09-22 Jonathan Wakely - - PR libstdc++/96803 - * include/std/tuple - (_Tuple_impl(allocator_arg_t, Alloc, const _Tuple_impl&)): - Use correct value category in __use_alloc call. - * testsuite/20_util/tuple/cons/96803.cc: Check with constructors - that require correct value category to be used. - -2020-09-22 Patrick Palka - - * include/std/span (span::front): Remove static_assert. - (span::back): Likewise. - (span::operator[]): Likewise. - * testsuite/23_containers/span/back_neg.cc: Rewrite to verify - that we check the preconditions of back() only when it's called. - * testsuite/23_containers/span/front_neg.cc: Likewise for - front(). - * testsuite/23_containers/span/index_op_neg.cc: Likewise for - operator[]. - -2020-09-22 Patrick Palka - - * include/bits/stl_algo.h (__sample): Exit early when the - input range is empty. - * testsuite/25_algorithms/sample/3.cc: New test. - -2020-09-22 Patrick Palka - - * include/bits/stl_algo.h (for_each_n): Mark constexpr for C++20. - (search): Likewise for the overload that takes a searcher. - * testsuite/25_algorithms/for_each/constexpr.cc: Test constexpr - std::for_each_n. - * testsuite/25_algorithms/search/constexpr.cc: Test constexpr - std::search overload that takes a searcher. - -2020-09-21 Jonathan Wakely - - * include/bits/c++config (__replacement_assert): Add noreturn - attribute. - (__glibcxx_assert_impl): Use __builtin_expect to hint that the - assertion is expected to pass. - -2020-09-21 Jonathan Wakely - - * include/std/ranges (drop_view::begin()): Adjust constraints - to match the correct condition for O(1) ranges::next (LWG 3482). - * testsuite/std/ranges/adaptors/drop.cc: Check that iterator is - cached for non-sized_range. - -2020-09-21 Jonathan Wakely - - * include/std/ranges (transform_view, elements_view): Relax - constraints on operator- for iterators, as per LWG 3483. - * testsuite/std/ranges/adaptors/elements.cc: Check that we - can take the difference of two iterators from a non-random - access range. - * testsuite/std/ranges/adaptors/transform.cc: Likewise. - -2020-09-21 Jonathan Wakely - - PR libstdc++/97132 - * include/bits/align.h (align) [!_GLIBCXX_USE_C99_STDINT_TR1]: - Remove unused code. - (assume_aligned): Do not use __builtin_assume_aligned during - constant evaluation. - * testsuite/20_util/assume_aligned/1.cc: Improve test. - * testsuite/20_util/assume_aligned/97132.cc: New test. - -2020-09-20 Jonathan Wakely - - PR libstdc++/97101 - * include/std/functional (bind_front): Fix order of parameters - in is_nothrow_constructible_v specialization. - * testsuite/20_util/function_objects/bind_front/97101.cc: New test. - -2020-09-11 Thomas Rodgers - - * include/std/memory: Move #include inside C++11 - conditional includes. - -2020-09-11 Thomas Rodgers - - * include/Makefile.am (bits_headers): Add new header. - * include/Makefile.in: Regenerate. - * include/bits/align.h: New file. - * include/std/memory (align): Move definition to bits/align.h. - (assume_aligned): Likewise. - -2020-09-11 Jonathan Wakely - - * include/std/chrono [C++17] (chrono::__detail::ceil): Add - using declaration to make chrono::ceil available for internal - use with a consistent name. - (chrono::__detail::__ceil_impl): New function template. - (chrono::__detail::ceil): Use __ceil_impl to compare and - increment the value. Remove SFINAE constraint. - -2020-09-11 Jonathan Wakely - - * include/bits/regex_error.h (__throw_regex_error): Fix - parameter declaration and use reserved attribute names. - -2020-09-11 Mike Crowe - - * include/std/condition_variable (condition_variable::wait_until): - Convert delta to steady_clock duration before adding to current - steady_clock time to avoid rounding errors described in PR68519. - (condition_variable::wait_for): Simplify calculation of absolute - time by using chrono::__detail::ceil in both overloads. - * testsuite/30_threads/condition_variable/members/68519.cc: - (test_wait_for): Renamed from test01. Replace unassigned val - variable with constant false. Reduce scope of mx and cv - variables to just test_wait_for function. - (test_wait_until): Add new test case. - -2020-09-11 Mike Crowe - - PR libstdc++/91486 - * include/bits/atomic_futex.h - (__atomic_futex_unsigned::_M_load_when_equal_for) - (__atomic_futex_unsigned::_M_load_when_equal_until): Use - __detail::ceil to convert delta to the reference clock - duration type to avoid resolution problems. - * include/std/chrono (__detail::ceil): Move implementation - of std::chrono::ceil into private namespace so that it's - available to pre-C++17 code. - * testsuite/30_threads/async/async.cc (test_pr91486): - Test __atomic_futex_unsigned::_M_load_when_equal_for. - -2020-09-11 Mike Crowe - - * include/bits/atomic_futex.h - (__atomic_futex_unsigned::_M_load_when_equal_until): Add - loop on generic _Clock to check the timeout against _Clock - again after _M_load_when_equal_until returns indicating a - timeout. - * testsuite/30_threads/async/async.cc: Invent slow_clock - that runs at an eleventh of steady_clock's speed. Use it - to test the user-supplied-clock variant of - __atomic_futex_unsigned::_M_load_when_equal_until works - generally with test03 and loops correctly when the timeout - time hasn't been reached in test04. - -2020-09-11 Mike Crowe - - PR libstdc++/93542 - * include/bits/atomic_futex.h (__atomic_futex_unsigned): Change - __clock_t typedef to use steady_clock so that unknown clocks are - synced to it rather than system_clock. Change existing __clock_t - overloads of _M_load_and_text_until_impl and - _M_load_when_equal_until to use system_clock explicitly. Remove - comment about DR 887 since these changes address that problem as - best as we currently able. - -2020-09-11 Mike Crowe - - PR libstdc++/93542 - * config/abi/pre/gnu.ver: Update for addition of - __atomic_futex_unsigned_base::_M_futex_wait_until_steady. - * include/bits/atomic_futex.h (__atomic_futex_unsigned_base): - Add comments to clarify that _M_futex_wait_until and - _M_load_and_test_until use CLOCK_REALTIME. - (__atomic_futex_unsigned_base::_M_futex_wait_until_steady) - (__atomic_futex_unsigned_base::_M_load_and_text_until_steady): - New member functions that use CLOCK_MONOTONIC. - (__atomic_futex_unsigned_base::_M_load_and_test_until_impl) - (__atomic_futex_unsigned_base::_M_load_when_equal_until): Add - overloads that accept a steady_clock time_point and use the - new member functions. - * src/c++11/futex.cc: Include headers required for - clock_gettime. - (futex_clock_monotonic_flag): New constant to tell futex to - use CLOCK_MONOTONIC to match existing futex_clock_realtime_flag. - (futex_clock_monotonic_unavailable): New global to store the - result of trying to use CLOCK_MONOTONIC. - (__atomic_futex_unsigned_base::_M_futex_wait_until_steady): Add - new variant of _M_futex_wait_until that uses CLOCK_MONOTONIC to - support waiting using steady_clock. - -2020-09-11 Mike Crowe - - * src/c++11/futex.cc: Add new constants for required futex - flags. Add futex_clock_realtime_unavailable flag to store - result of trying to use FUTEX_CLOCK_REALTIME. - (__atomic_futex_unsigned_base::_M_futex_wait_until): Try to - use FUTEX_WAIT_BITSET with FUTEX_CLOCK_REALTIME and only - fall back to using gettimeofday and FUTEX_WAIT if that's not - supported. - -2020-09-11 Mike Crowe - - * testsuite/30_threads/async/async.cc (test02): Test steady_clock - with std::future::wait_until. - (test03): Add new test templated on clock type waiting for future - associated with async to resolve. - (main): Call test03 to test both system_clock and steady_clock. - -2020-09-11 Torbjörn SVENSSON - Christophe Lyon - - * libsupc++/eh_call.cc: Avoid warning with -fno-exceptions. - -2020-09-11 Torbjörn SVENSSON - Christophe Lyon - - * libsupc++/eh_call.cc: Avoid warning with -fno-exceptions. - -2020-09-11 Christophe Lyon - - * include/bits/regex_error.h: Avoid warning with -fno-exceptions. - -2020-09-10 Jonathan Wakely - - * include/bits/locale_conv.h (__do_str_codecvt, __str_codecvt_in_all): - Add casts to compare types of the same signedness. - -2020-09-10 Jonathan Wakely - - * include/bits/ranges_algobase.h (__equal_fn): Remove unused - typedef. - -2020-09-10 Jonathan Wakely - - * include/std/version (__cpp_lib_array_constexpr): - (__cpp_lib_constexpr_char_traits): Only define C++17 value when - compiling C++17. - -2020-09-10 Jonathan Wakely - - * include/experimental/bits/shared_ptr.h (shared_ptr(auto_ptr&&)) - (operator=(auto_ptr&&)): Add diagnostic pragmas to suppress - warnings for uses of std::auto_ptr. - * include/experimental/type_traits (is_literal_type_v): - Likewise, for use of std::is_literal_type. - * include/std/condition_variable (condition_variable_any::_Unlock): - Likewise, for use of std::uncaught_exception. - -2020-09-10 Jonathan Wakely - - * include/bits/fs_path.h (path::_List::type()): Avoid narrowing - conversion. - * include/std/chrono (operator+(const year&, const years&)): - Likewise. - -2020-09-10 Jonathan Wakely - - * include/bits/codecvt.h (codecvt_byname): Remove names of - unused parameters. - -2020-09-10 Jonathan Wakely - - * include/bits/locale_facets_nonio.tcc: Adjust whitespace. - -2020-09-10 Krystian Kuźniarek - - * include/c_global/cmath (__lerp): Avoid -Wparentheses warnings. - -2020-09-10 Krystian Kuźniarek - - * include/bits/atomic_base.h: Fix -Wunused-variable - warnings. - * include/ext/new_allocator.h: Fix -Wunused-parameter - warnings. - -2020-09-10 Jonathan Wakely - - * include/bits/stl_iterator.h (counted_iterator): Add assertions - to check preconditions added by LWG 3472. - -2020-09-10 Jonathan Wakely - - PR libstdc++/94160 - * src/c++17/memory_resource.cc (munge_options): Round - max_blocks_per_chunk to a multiple of four. - (__pool_resource::_M_alloc_pools()): Simplify slightly. - * testsuite/20_util/unsynchronized_pool_resource/allocate.cc: - Check that valid pointers are returned when small values are - used for max_blocks_per_chunk. - -2020-09-10 Jonathan Wakely - - PR libstdc++/96942 - * include/std/memory_resource (monotonic_buffer_resource::do_allocate): - Use __builtin_expect when checking if a new buffer needs to be - allocated from the upstream resource, and for checks for edge - cases like zero sized buffers and allocations. - * src/c++17/memory_resource.cc (aligned_size): New class template. - (aligned_ceil): New helper function to round up to a given - alignment. - (monotonic_buffer_resource::chunk): Replace _M_size and _M_align - with an aligned_size member. Remove _M_canary member. Change _M_next - to pointer instead of unaligned buffer. - (monotonic_buffer_resource::chunk::allocate): Round up to multiple - of 64 instead of to power of two. Check for size overflow. Remove - redundant check for minimum required alignment. - (monotonic_buffer_resource::chunk::release): Adjust for changes - to data members. - (monotonic_buffer_resource::_M_new_buffer): Use aligned_ceil. - (big_block): Replace _M_size and _M_align with aligned_size - member. - (big_block::big_block): Check for size overflow. - (big_block::size, big_block::align): Adjust to use aligned_size. - (big_block::alloc_size): Use aligned_ceil. - (munge_options): Use aligned_ceil. - (__pool_resource::allocate): Use big_block::align for alignment. - * testsuite/20_util/monotonic_buffer_resource/allocate.cc: Check - upstream resource gets expected values for impossible sizes. - * testsuite/20_util/unsynchronized_pool_resource/allocate.cc: - Likewise. Adjust checks for expected alignment in existing test. - -2020-09-07 Jonathan Wakely - - * include/std/chrono (duration::_S_gcd): Use invariant that - neither value is zero initially. - -2020-09-07 Jonathan Wakely - - * include/std/ranges (__box): Simplify constraints as per LWG 3477. - -2020-09-03 Jonathan Wakely - - PR libstdc++/96592 - * include/std/tuple (_TupleConstraints): Use - alternative is_constructible instead of std::is_constructible. - * testsuite/20_util/tuple/cons/96592.cc: New test. - -2020-09-03 Jonathan Wakely - - * include/std/chrono (duration::_S_gcd): Use iterative algorithm - for C++14 and later. - * include/std/numeric (__detail::__gcd): Replace recursive - Euclidean algorithm with iterative version of binary GCD algorithm. - * testsuite/26_numerics/gcd/1.cc: Test additional inputs. - * testsuite/26_numerics/gcd/gcd_neg.cc: Adjust dg-error lines. - * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise. - * testsuite/experimental/numeric/gcd.cc: Test additional inputs. - * testsuite/26_numerics/gcd/2.cc: New test. - -2020-09-02 Jonathan Wakely - - PR libstdc++/92978 - * testsuite/experimental/numeric/92978.cc: Use experimental::lcm - not std::lcm. - -2020-09-02 Jonathan Wakely - - PR libstdc++/96851 - * include/bits/cpp_type_traits.h (__is_memcmp_ordered): - New trait that says if memcmp can be used for ordering. - (__is_memcmp_ordered_with): Likewise, for two types. - * include/bits/deque.tcc (__lex_cmp_dit): Use new traits - instead of __is_byte and __numeric_traits. - (__lexicographical_compare_aux1): Likewise. - * include/bits/ranges_algo.h (__lexicographical_compare_fn): - Likewise. - * include/bits/stl_algobase.h (__lexicographical_compare_aux1) - (__is_byte_iter): Likewise. - * include/std/array (operator<=>): Likewise. Only use memcmp - when std::is_constant_evaluated() is false. - * testsuite/23_containers/array/comparison_operators/96851.cc: - New test. - * testsuite/23_containers/array/tuple_interface/get_neg.cc: - Adjust dg-error line numbers. - -2020-09-02 Jonathan Wakely - - * include/bits/stl_iterator.h: Include - for definitions of __try, __catch and __throw_exception_again. - (counted_iterator::operator++(int)): Use __throw_exception_again - instead of throw. - * libsupc++/new: Include not . - * libsupc++/new_opvnt.cc: Include . - * testsuite/18_support/destroying_delete.cc: Include - for std::is_same_v definition. - * testsuite/20_util/variant/index_type.cc: Qualify size_t. - -2020-09-01 Jonathan Wakely - - PR libstdc++/71960 - * include/bits/c++config (__glibcxx_assert_impl): Remove - do-while so that uses of the macro need to add it. - (__glibcxx_assert): Rename macro for runtime assertions - to __glibcxx_assert_2. - (__glibcxx_assert_1): Define macro for constexpr assertions. - (__glibcxx_assert): Define macro for constexpr and runtime - assertions. - * include/bits/range_access.h (ranges::advance): Remove - redundant precondition checks during constant evaluation. - * include/parallel/base.h (_GLIBCXX_PARALLEL_ASSERT): Always - use do-while in macro expansion. - * include/std/ranges (iota_view::iota_view(W, B)): Remove - redundant braces. - -2020-09-01 Jonathan Wakely - - * include/std/chrono (duration::_S_gcd(intmax_t, intmax_t)): - New helper function for finding GCD of two positive intmax_t - values. - (duration::__divide): New helper alias for dividing one period - by another. - (duration::__is_harmonic): Use __divide not ratio_divide. - (duration(const duration&)): Require the duration rep - types to be convertible. - * testsuite/20_util/duration/cons/dr2094.cc: New test. - * testsuite/20_util/duration/requirements/reduced_period.cc: - Fix definition of unused member functions in test type. - * testsuite/20_util/duration/requirements/typedefs_neg2.cc: - Adjust expected errors. - -2020-08-29 Jonathan Wakely - - * include/std/numeric (__detail::__absu(bool)): Make deleted - function a function template, so it will be chosen for calls - with an explicit template argument list. - * testsuite/26_numerics/gcd/gcd_neg.cc: Add dg-prune-output. - * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise. - -2020-08-28 Jonathan Wakely - - * include/std/chrono (common_type): Fix partial specializations - for a single duration type to use the common_type of the rep. - (duration::operator+, duration::operator-): Fix return types - to also use the common_type of the rep. - * testsuite/20_util/duration/requirements/reduced_period.cc: - Check duration using a rep that has common_type specialized. - -2020-08-28 Jonathan Wakely - - PR libstdc++/92978 - * include/std/numeric (__abs_integral): Replace with ... - (__detail::__absu): New function template that returns an - unsigned type, guaranteeing it can represent the most - negative signed value. - (__detail::__gcd, __detail::__lcm): Require arguments to - be unsigned and therefore already non-negative. - (gcd, lcm): Convert arguments to absolute value as unsigned - type before calling __detail::__gcd or __detail::__lcm. - * include/experimental/numeric (gcd, lcm): Likewise. - * testsuite/26_numerics/gcd/gcd_neg.cc: Adjust expected - errors. - * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise. - * testsuite/26_numerics/gcd/92978.cc: New test. - * testsuite/26_numerics/lcm/92978.cc: New test. - * testsuite/experimental/numeric/92978.cc: New test. - -2020-08-27 Jonathan Wakely - - * include/std/chrono (__duration_common_type): Ensure the - reduced ratio is used. Remove unused partial specialization - using __failure_type. - (common_type): Pass reduced ratios to __duration_common_type. - Add partial specializations for simple cases involving a single - duration or time_point type. - (duration::period): Use reduced ratio. - (duration::operator+(), duration::operator-()): Return duration - type using the reduced ratio. - * testsuite/20_util/duration/requirements/typedefs_neg2.cc: - Adjust expected errors. - * testsuite/20_util/duration/requirements/reduced_period.cc: New test. - -2020-08-27 Patrick Palka - - * include/std/chrono (year_month::operator+): Properly handle a - month value of 0 by casting the month value to int before - subtracting 1 from it so that the difference is sign-extended in - the subsequent addition. - * testsuite/std/time/year_month/1.cc: Test adding months to a - year_month whose month component is below or above the - normalized range of [1,12]. - -2020-08-27 Patrick Palka - - * include/std/chrono - (__detail::__months_years_conversion_disambiguator): Define. - (year_month::operator+=): Templatize the 'months'-based overload - so that the 'years'-based overload is selected in case of - equally-ranked implicit conversion sequences to both 'months' - and 'years' from the supplied argument. - (year_month::operator-=): Likewise. - (year_month::operator+): Likewise. - (year_month::operator-): Likewise. - (year_month_day::operator+=): Likewise. - (year_month_day::operator-=): Likewise. - (year_month_day::operator+): Likewise. - (year_month_day::operator-): Likewise. - (year_month_day_last::operator+=): Likewise. - (year_month_day_last::operator-=): Likewise. - (year_month_day_last::operator+): Likewise - (year_month_day_last::operator-): Likewise. - (year_month_day_weekday::operator+=): Likewise - (year_month_day_weekday::operator-=): Likewise. - (year_month_day_weekday::operator+): Likewise. - (year_month_day_weekday::operator-): Likewise. - (year_month_day_weekday_last::operator+=): Likewise - (year_month_day_weekday_last::operator-=): Likewise. - (year_month_day_weekday_last::operator+): Likewise. - (year_month_day_weekday_last::operator-): Likewise. - (testsuite/std/time/year_month/2.cc): New test. - (testsuite/std/time/year_month_day/2.cc): New test. - (testsuite/std/time/year_month_day_last/2.cc): New test. - (testsuite/std/time/year_month_weekday/2.cc): New test. - (testsuite/std/time/year_month_weekday_last/2.cc): New test. - * testsuite/std/time/year_month/2.cc: New file. - * testsuite/std/time/year_month_day/2.cc: New file. - * testsuite/std/time/year_month_day_last/2.cc: New file. - * testsuite/std/time/year_month_weekday/2.cc: New file. - * testsuite/std/time/year_month_weekday_last/2.cc: New file. - -2020-08-27 Patrick Palka - - PR libstdc++/95322 - * include/std/ranges (transform_view::sentinel::__distance_from): - Give this a deduced return type. - (transform_view::sentinel::operator-): Adjust the return type so - that it's based on the constness of the iterator rather than - that of the sentinel. - * testsuite/std/ranges/adaptors/95322.cc: Refer to LWG 3488. - -2020-08-27 Patrick Palka - - * include/std/ranges (elements_view::begin): Adjust constraints. - (elements_view::end): Likewise. - (elements_view::_Sentinel::operator==): Templatize to take both - _Iterator and _Iterator. - (elements_view::_Sentinel::operator-): Likewise. - * testsuite/std/ranges/adaptors/elements.cc: Add testcase for - the example from P1994R1. - * testsuite/std/ranges/adaptors/lwg3406.cc: New test. - -2020-08-27 Patrick Palka - - * include/std/ranges (elements_view::end): Replace these two - overloads with four new overloads. - (elements_view::_Iterator::operator==): Remove. - (elements_view::_Iterator::operator-): Likewise. - (elements_view::_Sentinel): Define. - -2020-08-26 Jonathan Wakely - - * include/std/tuple (_Tuple_impl): Whitespaces changes for - consistent indentation. Also use __enable_if_t alias template. - -2020-08-26 Jonathan Wakely - - PR libstdc++/96803 - * include/std/tuple - (_Tuple_impl(allocator_arg_t, Alloc, const _Tuple_impl&)): - Replace parameter pack with a type parameter and a pack and pass - the first type to __use_alloc. - * testsuite/20_util/tuple/cons/96803.cc: New test. - -2020-08-26 Patrick Palka - - * include/std/chrono (year_month_weekday::operator==): Compare - weekday_indexed instead of weekday. - * testsuite/std/time/year_month_weekday/1.cc: Augment testcase. - -2020-08-26 Jonathan Wakely - - * include/bits/hashtable_policy.h (_Hash_code_base): Change - index of _Hashtable_ebo_helper base class. - * testsuite/23_containers/unordered_map/dup_types.cc: New test. - -2020-08-26 Jonathan Wakely - - PR libstdc++/71960 - * include/experimental/string_view (basic_string_view): - Enable debug assertions. - * include/std/string_view (basic_string_view): - Likewise. - -2020-08-26 François Dumont - - * include/bits/hashtable_policy.h (_Hashtable<>): Rename _H1 into _Hash - _H2 into _RangeHash and _Hash into _Unused. - (_Hastable_base<>): Likewise. - (_Map_base<>): Likewise. - (_Insert_base<>): Likewise. - (_Insert<>): Likewise. - (_Rehash_base<>): Likewise. - (_Local_iterator_base<>): Likewise. - (_Hash_code_base<>): Likewise. - (_Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, _Hash, false>): - Remove. - (_Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, _Hash, true>): - Remove. - (_Hash_code_base<_Key, _Value, _ExtractKey, _Hash, _RangeHas, _Unused, - bool>): Remove _Hashtable_ebo_helper<2, _RangeHash> base type.. - (_Hash_code_base<>::_M_bucket_index(const _Key&, __hash_code, size_t)): - Replace by... - (_Hash_code_base<>::_M_bucket_index(__hash_code, size_t)): ...this. - (_Local_iterator<>): Remove _H1 and _H2 template parameters. - (_Local_const_iterator<>): Likewise. - (_Equality<>): Likewise. - (_Map_base<>::operator[](const key_type&): Adapt. - (_Map_base<>::operator[](key_type&&): Adapt. - (_Identity::operator()): Add noexcept. - (_Select1st::operator()): Likewise. - (_Hash_code_base<>): Remove _Hashtable_ebo_helper<0, _ExtractKey> base - type. - (_Hash_code_base::_M_extract): Remove. - * include/bits/hashtable.h (_Hashtable<>): Remove _H1 and _H2 template - parameters. Remove _ExtractKey from constructors. - (_Hashtable<>::_M_insert_unique_node(const key_type&, size_t, - __hash_code, __node_type*, size_t)): Replace by... - (_Hashtable<>::_M_insert_unique_node(size_t, __hash_code, - __node_type*, size_t)): ...this. - (_Hashtable<>::_M_insert_muti_node(__node_type*, const key_type&, - __hash_code, __node_type*)): Replace by... - (_Hashtable<>::_M_insert_multi_node(__node_type*, __hash_code, - __node_type*)): ...this. - (_Hashtable<>::__key_extract): Remove. - * include/bits/node_handle.h: Adapt. - -2020-08-25 Jonathan Wakely - - * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc: Removed. - * testsuite/21_strings/debug/self_move_assign_neg.cc: Removed. - * testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc: Removed. - * testsuite/23_containers/deque/debug/self_move_assign_neg.cc: Removed. - * testsuite/23_containers/forward_list/debug/iterator_self_move_assign_neg.cc: Removed. - * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc: Removed. - * testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc: Removed. - * testsuite/23_containers/list/debug/self_move_assign_neg.cc: Removed. - * testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc: Removed. - * testsuite/23_containers/map/debug/self_move_assign_neg.cc: Removed. - * testsuite/23_containers/multimap/debug/iterator_self_move_assign_neg.cc: Removed. - * testsuite/23_containers/multimap/debug/self_move_assign_neg.cc: Removed. - * testsuite/23_containers/multiset/debug/iterator_self_move_assign_neg.cc: Removed. - * testsuite/23_containers/multiset/debug/self_move_assign_neg.cc: Removed. - * testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc: Removed. - * testsuite/23_containers/set/debug/self_move_assign_neg.cc: Removed. - * testsuite/23_containers/unordered_map/debug/iterator_self_move_assign_neg.cc: Removed. - * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc: Removed. - * testsuite/23_containers/unordered_multimap/debug/iterator_self_move_assign_neg.cc: - Removed. - * testsuite/23_containers/unordered_multimap/debug/self_move_assign_neg.cc: Removed. - * testsuite/23_containers/unordered_multiset/debug/iterator_self_move_assign_neg.cc: - Removed. - * testsuite/23_containers/unordered_multiset/debug/self_move_assign_neg.cc: Removed. - * testsuite/23_containers/unordered_set/debug/iterator_self_move_assign_neg.cc: Removed. - * testsuite/23_containers/unordered_set/debug/self_move_assign_neg.cc: Removed. - * testsuite/23_containers/vector/debug/iterator_self_move_assign_neg.cc: Removed. - * testsuite/23_containers/vector/debug/self_move_assign_neg.cc: Removed. - -2020-08-25 Patrick Palka - - * include/std/chrono (year_month_weekday::ok): Fix assert. - -2020-08-25 Jonathan Wakely - - * include/std/future (future, shared_future. promise): Add - is_destructible assertion (LWG 3466). Adjust string-literal for - !is_array and !is_function assertions. - * testsuite/30_threads/future/requirements/lwg3458.cc: Check - types with no accessible destructor. Adjust expected errors. - * testsuite/30_threads/promise/requirements/lwg3466.cc: - Likewise. - * testsuite/30_threads/shared_future/requirements/lwg3458.cc: - Likewise. - -2020-08-25 Patrick Palka - Ed Smith-Rowland <3dw4rd@verizon.net> - Jonathan Wakely - - * include/std/chrono (time_point::operator++) - (time_point::operator--): Define. - (utc_clock, tai_clock, gps_clock): Forward declare. - (utc_time, utc_seconds, tai_time, tai_seconds, gps_time) - (gps_seconds): Define. - (is_clock, is_clock, is_clock) - (is_clock_v, is_clock_v) - (is_clock_v): Define these specializations. - (leap_second_info): Define. - (day, month, year, weekday, weekday_indexed) - (weekday_last, month_day, month_day_last, month_weekday) - (month_weekday_last, year_month, year_month_day) - (year_month_day_last, year_month_weekday, year_month_weekday_last): - Declare and later define. - (last_spec, last, __detail::__days_per_month) - (__detail::__days_per_month, __detail::__last_day): Define. - (January, February, March, April, May, June, July, August) - (September, October, November, December, Sunday, Monday, Tuesday) - (Wednesday, Thursday, Friday, Saturday): Define. - (weekday::operator[]): Define out-of-line. - (year_month_day::_S_from_days, year_month_day::M_days_since_epoch): - Likewise. - (year_month_day::year_month_day, year_month_day::ok): Likewise. - (__detail::__pow10, hh_mm_ss): Define. - (literals::chrono_literals::operator""d) - (literals::chrono_literals::operator""y): Define. - (is_am, is_pm, make12, make24): Define. - * testsuite/20_util/time_point/4.cc: New test. - * testsuite/std/time/day/1.cc: New test. - * testsuite/std/time/hh_mm_ss/1.cc: New test. - * testsuite/std/time/is_am/1.cc: New test. - * testsuite/std/time/is_pm/1.cc: New test. - * testsuite/std/time/make12/1.cc: New test. - * testsuite/std/time/make24/1.cc: New test. - * testsuite/std/time/month/1.cc: New test. - * testsuite/std/time/month_day/1.cc: New test. - * testsuite/std/time/month_day_last/1.cc: New test. - * testsuite/std/time/month_weekday/1.cc: New test. - * testsuite/std/time/month_weekday_last/1.cc: New test. - * testsuite/std/time/weekday/1.cc: New test. - * testsuite/std/time/weekday_indexed/1.cc: New test. - * testsuite/std/time/weekday_last/1.cc: New test. - * testsuite/std/time/year/1.cc: New test. - * testsuite/std/time/year_month/1.cc: New test. - * testsuite/std/time/year_month_day/1.cc: New test. - * testsuite/std/time/year_month_day_last/1.cc: New test. - * testsuite/std/time/year_month_weekday/1.cc: New test. - * testsuite/std/time/year_month_weekday_last/1.cc: New test. - -2020-08-24 Jonathan Wakely - - * include/std/ranges (join_view): Add deduction guide (LWG 3474). - * testsuite/std/ranges/adaptors/join_lwg3474.cc: New test. - -2020-08-24 Jonathan Wakely - - * include/bits/iterator_concepts.h (indirectly_readable): Add - partial specializations to resolve ambiguities (LWG 3446). - * testsuite/24_iterators/associated_types/readable.traits.cc: - Check types with both value_type and element_type. - -2020-08-24 Jonathan Wakely - - * include/std/ranges (ranges::iota_view::size()): Perform all - calculations in the right unsigned types. - * testsuite/std/ranges/iota/size.cc: New test. - -2020-08-24 Jonathan Wakely - - PR libstdc++/96766 - * include/std/variant (_Variant_storage): Replace implicit - conversions from size_t to __index_type with explicit casts. - -2020-08-24 Jonathan Wakely - - * testsuite/30_threads/packaged_task/cons/alloc.cc: Run for - C++11 and skip for C++17 or later. - -2020-08-24 Corentin Gay - - * testsuite/20_util/shared_ptr/atomic/3.cc: Do not require POSIX - threads and add -pthread only on targets supporting them. - * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: - Likewise. - * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: - Likewise. - * testsuite/30_threads/async/42819.cc: Likewise. - * testsuite/30_threads/async/49668.cc: Likewise. - * testsuite/30_threads/async/54297.cc: Likewise. - * testsuite/30_threads/async/any.cc: Likewise. - * testsuite/30_threads/async/async.cc: Likewise. - * testsuite/30_threads/async/except.cc: Likewise. - * testsuite/30_threads/async/launch.cc: Likewise. - * testsuite/30_threads/async/lwg2021.cc: Likewise. - * testsuite/30_threads/async/sync.cc: Likewise. : Likewise. - * testsuite/30_threads/call_once/39909.cc: Likewise. - * testsuite/30_threads/call_once/49668.cc: Likewise. - * testsuite/30_threads/call_once/60497.cc: Likewise. - * testsuite/30_threads/call_once/call_once1.cc: Likewise. - * testsuite/30_threads/call_once/dr2442.cc: Likewise. - * testsuite/30_threads/condition_variable/54185.cc: Likewise. - * testsuite/30_threads/condition_variable/cons/1.cc: Likewise. - * testsuite/30_threads/condition_variable/members/1.cc: Likewise. - * testsuite/30_threads/condition_variable/members/2.cc: Likewise. - * testsuite/30_threads/condition_variable/members/3.cc: Likewise. - * testsuite/30_threads/condition_variable/members/53841.cc: Likewise. - * testsuite/30_threads/condition_variable/members/68519.cc: Likewise. - * testsuite/30_threads/condition_variable/native_handle/typesizes.cc: - Likewise. - * testsuite/30_threads/condition_variable_any/50862.cc: Likewise. - * testsuite/30_threads/condition_variable_any/53830.cc: Likewise. - * testsuite/30_threads/condition_variable_any/cond.cc: Likewise. - * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise. - * testsuite/30_threads/condition_variable_any/members/1.cc: Likewise. - * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise. - * testsuite/30_threads/future/cons/move.cc: Likewise. - * testsuite/30_threads/future/members/45133.cc: Likewise. - * testsuite/30_threads/future/members/get.cc: Likewise. - * testsuite/30_threads/future/members/get2.cc: Likewise. - * testsuite/30_threads/future/members/share.cc: Likewise. - * testsuite/30_threads/future/members/valid.cc: Likewise. - * testsuite/30_threads/future/members/wait.cc: Likewise. - * testsuite/30_threads/future/members/wait_for.cc: Likewise. - * testsuite/30_threads/future/members/wait_until.cc: Likewise. - * testsuite/30_threads/lock/1.cc: Likewise. - * testsuite/30_threads/lock/2.cc: Likewise. - * testsuite/30_threads/lock/3.cc: Likewise. - * testsuite/30_threads/lock/4.cc: Likewise. - * testsuite/30_threads/mutex/cons/1.cc: Likewise. - * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise. - * testsuite/30_threads/mutex/lock/1.cc: Likewise. - * testsuite/30_threads/mutex/native_handle/1.cc: Likewise. - * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise. - * testsuite/30_threads/mutex/try_lock/1.cc: Likewise. - * testsuite/30_threads/mutex/try_lock/2.cc: Likewise. - * testsuite/30_threads/mutex/unlock/1.cc: Likewise. - * testsuite/30_threads/mutex/unlock/2.cc: Likewise. - * testsuite/30_threads/packaged_task/49668.cc: Likewise. - * testsuite/30_threads/packaged_task/60564.cc: Likewise. - * testsuite/30_threads/packaged_task/cons/1.cc: Likewise. - * testsuite/30_threads/packaged_task/cons/2.cc: Likewise. - * testsuite/30_threads/packaged_task/cons/3.cc: Likewise. - * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise. - * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise. - * testsuite/30_threads/packaged_task/cons/move.cc: Likewise. - * testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise. - * testsuite/30_threads/packaged_task/members/at_thread_exit.cc: - Likewise. - * testsuite/30_threads/packaged_task/members/get_future.cc: Likewise. - * testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise. - * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise. - * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise. - * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise. - * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise. - * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise. - * testsuite/30_threads/packaged_task/members/reset.cc: Likewise. - * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise. - * testsuite/30_threads/packaged_task/members/swap.cc: Likewise. - * testsuite/30_threads/packaged_task/members/valid.cc: Likewise. - * testsuite/30_threads/promise/60966.cc: Likewise. - * testsuite/30_threads/promise/cons/1.cc: Likewise. - * testsuite/30_threads/promise/cons/alloc.cc: Likewise. - * testsuite/30_threads/promise/cons/move.cc: Likewise. - * testsuite/30_threads/promise/cons/move_assign.cc: Likewise. - * testsuite/30_threads/promise/members/at_thread_exit.cc: Likewise. - * testsuite/30_threads/promise/members/at_thread_exit2.cc: Likewise. - * testsuite/30_threads/promise/members/get_future.cc: Likewise. - * testsuite/30_threads/promise/members/get_future2.cc: Likewise. - * testsuite/30_threads/promise/members/set_exception.cc: Likewise. - * testsuite/30_threads/promise/members/set_exception2.cc: Likewise. - * testsuite/30_threads/promise/members/set_value.cc: Likewise. - * testsuite/30_threads/promise/members/set_value2.cc: Likewise. - * testsuite/30_threads/promise/members/set_value3.cc: Likewise. - * testsuite/30_threads/promise/members/swap.cc: Likewise. - * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise. - * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc: - Likewise. - * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise. - * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise. - * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc: - Likewise. - * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise. - * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise. - * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise. - * testsuite/30_threads/recursive_mutex/unlock/2.cc: Likewise. - * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise. - * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc: - Likewise. - * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise. - * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise. - * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc: - Likewise. - * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc: - Likewise. - * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise. - * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise. - * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc: - Likewise. - * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc: - Likewise. - * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc: - Likewise. - * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc: - Likewise. - * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc: - Likewise. - * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise. - * testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Likewise. - * testsuite/30_threads/shared_future/cons/move.cc: Likewise. - * testsuite/30_threads/shared_future/members/45133.cc: Likewise. - * testsuite/30_threads/shared_future/members/get.cc: Likewise. - * testsuite/30_threads/shared_future/members/get2.cc: Likewise. - * testsuite/30_threads/shared_future/members/valid.cc: Likewise. - * testsuite/30_threads/shared_future/members/wait.cc: Likewise. - * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise. - * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise. - * testsuite/30_threads/shared_lock/cons/1.cc: Likewise. - * testsuite/30_threads/shared_lock/cons/2.cc: Likewise. - * testsuite/30_threads/shared_lock/cons/3.cc: Likewise. - * testsuite/30_threads/shared_lock/cons/4.cc: Likewise. - * testsuite/30_threads/shared_lock/cons/5.cc: Likewise. - * testsuite/30_threads/shared_lock/cons/6.cc: Likewise. - * testsuite/30_threads/shared_lock/locking/1.cc: Likewise. - * testsuite/30_threads/shared_lock/locking/2.cc: Likewise. - * testsuite/30_threads/shared_lock/locking/3.cc: Likewise. - * testsuite/30_threads/shared_lock/locking/4.cc: Likewise. - * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise. - * testsuite/30_threads/shared_mutex/cons/1.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/shared_timed_mutex/cons/1.cc: Likewise. - * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc: Likewise. - * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise. - * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: Likewise. - * testsuite/30_threads/shared_timed_mutex/unlock/1.cc: Likewise. - * testsuite/30_threads/this_thread/1.cc: Likewise. - * testsuite/30_threads/this_thread/sleep_for-mt.cc: Likewise. - * testsuite/30_threads/this_thread/sleep_until-mt.cc: Likewise. - * testsuite/30_threads/thread/cons/1.cc: Likewise. - * testsuite/30_threads/thread/cons/2.cc: Likewise. - * testsuite/30_threads/thread/cons/3.cc: Likewise. - * testsuite/30_threads/thread/cons/4.cc: Likewise. - * testsuite/30_threads/thread/cons/49668.cc: Likewise. - * testsuite/30_threads/thread/cons/5.cc: Likewise. - * testsuite/30_threads/thread/cons/6.cc: Likewise. - * testsuite/30_threads/thread/cons/7.cc: Likewise. - * testsuite/30_threads/thread/cons/8.cc: Likewise. - * testsuite/30_threads/thread/cons/9.cc: Likewise. - * testsuite/30_threads/thread/cons/moveable.cc: Likewise. - * testsuite/30_threads/thread/cons/terminate.cc: Likewise. - * testsuite/30_threads/thread/members/1.cc: Likewise. - * testsuite/30_threads/thread/members/2.cc: Likewise. - * testsuite/30_threads/thread/members/3.cc: Likewise. - * testsuite/30_threads/thread/members/4.cc: Likewise. - * testsuite/30_threads/thread/members/5.cc: Likewise. - * testsuite/30_threads/thread/members/hardware_concurrency.cc: - Likewise. - * testsuite/30_threads/thread/native_handle/typesizes.cc: Likewise. - * testsuite/30_threads/thread/swap/1.cc: Likewise. - * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise. - * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: - Likewise. - * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise. - * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise. - * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: - Likewise. - * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise. - * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise. - * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise. - * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise. - * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise. - * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise. - * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise. - * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise. - * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise. - * testsuite/30_threads/timed_mutex/unlock/2.cc: Likewise. - * testsuite/30_threads/try_lock/1.cc: Likewise. - * testsuite/30_threads/try_lock/2.cc: Likewise. - * testsuite/30_threads/try_lock/3.cc: Likewise. - * testsuite/30_threads/try_lock/4.cc: Likewise. - * testsuite/30_threads/unique_lock/cons/1.cc: Likewise. - * testsuite/30_threads/unique_lock/cons/2.cc: Likewise. - * testsuite/30_threads/unique_lock/cons/3.cc: Likewise. - * testsuite/30_threads/unique_lock/cons/4.cc: Likewise. - * testsuite/30_threads/unique_lock/cons/5.cc: Likewise. - * testsuite/30_threads/unique_lock/cons/6.cc: Likewise. - * testsuite/30_threads/unique_lock/locking/1.cc: Likewise. - * testsuite/30_threads/unique_lock/locking/2.cc: Likewise. - * testsuite/30_threads/unique_lock/locking/3.cc: Likewise. - * testsuite/30_threads/unique_lock/locking/4.cc: Likewise. - * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise. - -2020-08-21 Jonathan Wakely - - PR libstdc++/96736 - * testsuite/17_intro/headers/c++1998/all_attributes.cc: Do not - test "cold" on darwin. - * testsuite/17_intro/headers/c++2011/all_attributes.cc: - Likewise. - * testsuite/17_intro/headers/c++2014/all_attributes.cc: - Likewise. - * testsuite/17_intro/headers/c++2017/all_attributes.cc: - Likewise. - * testsuite/17_intro/headers/c++2020/all_attributes.cc: - Likewise. - -2020-08-21 Jonathan Wakely - - PR libstdc++/96718 - * testsuite/25_algorithms/pstl/feature_test-2.cc: Require - tbb-backend effective target. - * testsuite/25_algorithms/pstl/feature_test-3.cc: Likewise. - * testsuite/25_algorithms/pstl/feature_test-5.cc: Likewise. - * testsuite/25_algorithms/pstl/feature_test.cc: Likewise. - -2020-08-20 Jonathan Wakely - - * include/bits/iterator_concepts.h [__STRICT_ANSI__] - (incrementable_traits<__int128>): Define specialization. - (incrementable_traits): Likewise. - * testsuite/std/ranges/iota/96042.cc: Test iota_view with - __int128. - -2020-08-19 Jonathan Wakely - Patrick Palka - - PR libstdc++/96042 - * include/bits/range_access.h (__detail::__to_unsigned_like): - Do not use make_unsigned_t in the return type, as it can - result in an error before the integral constraint is checked. - [__STRICT_ANSI__]: Add overloads for 128-bit integer types. - (__detail::__make_unsigned_like_t): Define as the return type - of __to_unsigned_like. - * testsuite/std/ranges/subrange/96042.cc: New test. - -2020-08-19 Jonathan Wakely - - * include/bits/stl_tree.h (operator!=, operator>, operator<=) - (operator>=): Remove deprecated functions. - -2020-08-19 Jonathan Wakely - - PR libstdc++/96042 - * include/ext/numeric_traits.h (__is_integer_nonstrict): New - trait which is true for 128-bit integers even in strict modes. - (__numeric_traits_integer, __numeric_traits): Use - __is_integer_nonstrict instead of __is_integer. - * include/std/limits [__STRICT_ANSI__ && __SIZEOF_INT128__] - (numeric_limits<__int128>, (numeric_limits): - Define. - * testsuite/std/ranges/iota/96042.cc: New test. - -2020-08-19 Jonathan Wakely - - * include/bits/c++config (_GLIBCXX_DEPRECATED_SUGGEST) - (_GLIBCXX11_DEPRECATED, _GLIBCXX11_DEPRECATED_SUGGEST) - (_GLIBCXX17_DEPRECATED_SUGGEST, _GLIBCXX20_DEPRECATED_SUGGEST): - Add new macros to comment. - -2020-08-19 Patrick Palka - - * include/Makefile.am (bits_headers): Add new header - . - * include/Makefile.in: Regenerate. - * include/bits/iterator_concepts.h - (ranges::__detail::__max_diff_type): Remove definition, replace - with forward declaration of class __max_diff_type. - (__detail::__max_size_type): Remove definition, replace with - forward declaration of class __max_size_type. - (__detail::__is_unsigned_int128, __is_signed_int128) - (__is_int128): New concepts. - (__detail::__is_integer_like): Accept __int128 and unsigned - __int128. - (__detail::__is_signed_integer_like): Accept __int128. - * include/bits/max_size_type.h: New header. - * include/bits/range_access.h: Include . - (__detail::__to_unsigned_like): Two new overloads. - * testsuite/std/ranges/iota/difference_type.cc: New test. - * testsuite/std/ranges/iota/max_size_type.cc: New test. - -2020-08-19 Jonathan Wakely - - * include/bits/c++config (_GLIBCXX_DEPRECATED): Define for all - standard modes. - (_GLIBCXX_DEPRECATED_SUGGEST): New macro for "use 'foo' instead" - message in deprecated warnings. - (_GLIBCXX11_DEPRECATED, _GLIBCXX11_DEPRECATED_SUGGEST): New - macros for marking features deprecated in C++11. - (_GLIBCXX17_DEPRECATED_SUGGEST, _GLIBCXX20_DEPRECATED_SUGGEST): - New macros. - * include/backward/auto_ptr.h (auto_ptr_ref, auto_ptr): - Use _GLIBCXX11_DEPRECATED instead of _GLIBCXX_DEPRECATED. - (auto_ptr): Use _GLIBCXX11_DEPRECATED_SUGGEST. - * include/backward/binders.h (binder1st, binder2nd): Likewise. - * include/bits/ios_base.h (io_state, open_mode, seek_dir) - (streampos, streamoff): Use _GLIBCXX_DEPRECATED_SUGGEST. - * include/std/streambuf (stossc): Replace C++11 attribute - with _GLIBCXX_DEPRECATED_SUGGEST. - * include/std/type_traits (__is_nullptr_t): Use - _GLIBCXX_DEPRECATED_SUGGEST instead of _GLIBCXX_DEPRECATED. - * testsuite/27_io/types/1.cc: Check for deprecated warnings. - Also check for io_state, open_mode and seek_dir typedefs. - -2020-08-19 Antony Polukhin - - PR libstdc++/71579 - * include/std/type_traits (invoke_result, is_nothrow_invocable_r) - Add static_asserts to make sure that the argument of the type - trait is not misused with incomplete types. - (is_swappable_with, is_nothrow_swappable_with): Add static_asserts - to make sure that the first and second arguments of the type trait - are not misused with incomplete types. - * testsuite/20_util/invoke_result/incomplete_neg.cc: New test. - * testsuite/20_util/is_nothrow_invocable/incomplete_neg.cc: New test. - * testsuite/20_util/is_nothrow_swappable/incomplete_neg.cc: New test. - * testsuite/20_util/is_nothrow_swappable_with/incomplete_neg.cc: New - test. - * testsuite/20_util/is_swappable_with/incomplete_neg.cc: New test. - -2020-08-18 David Edelsohn - Clement Chigot - - * config/os/aix/t-aix: Add complementary mode object files to - libsupc++.a - -2020-08-18 Jonathan Wakely - - * testsuite/17_intro/headers/c++1998/all_attributes.cc: Check - "cold" isn't used in the library. Also check . - * testsuite/17_intro/headers/c++2011/all_attributes.cc: - Likewise. - * testsuite/17_intro/headers/c++2014/all_attributes.cc: - Likewise. - * testsuite/17_intro/headers/c++2017/all_attributes.cc: - Likewise. - * testsuite/17_intro/headers/c++2020/all_attributes.cc: - Likewise. - -2020-08-18 Jonathan Wakely - - PR libstdc++/69724 - * include/std/future (__future_base::_S_make_deferred_state) - (__future_base::_S_make_async_state): Remove. - (__future_base::_Deferred_state): Change constructor to accept a - parameter pack of arguments and forward them to the call - wrapper. - (__future_base::_Async_state_impl): Likewise. Replace lambda - expression with a named member function. - (async): Construct state object directly from the arguments, - instead of using thread::__make_invoker, _S_make_deferred_state - and _S_make_async_state. Move shared state into the returned - future. - * include/std/thread (thread::_Call_wrapper): New alias - template for use by constructor and std::async. - (thread::thread(Callable&&, Args&&...)): Create state object - directly instead of using _S_make_state. - (thread::__make_invoker, thread::__decayed_tuple) - (thread::_S_make_state): Remove. - * testsuite/30_threads/async/69724.cc: New test. - -2020-08-17 Jonathan Wakely - - PR libstdc++/55713 - PR libstdc++/71096 - PR libstdc++/93147 - * include/std/tuple [__has_cpp_attribute(no_unique_address)] - (_Head_base): New definition of the partial - specialization, using [[no_unique_address]] instead of - inheritance. - * testsuite/libstdc++-prettyprinters/48362.cc: Adjust expected - output. - * testsuite/20_util/tuple/comparison_operators/93147.cc: New test. - * testsuite/20_util/tuple/creation_functions/55713.cc: New test. - * testsuite/20_util/tuple/element_access/71096.cc: New test. - -2020-08-14 Lewis Hyatt - - * testsuite/lib/libstdc++.exp: Use the new option - -fdiagnostics-plain-output. - -2020-08-13 Jonathan Wakely - - * acinclude.m4 (GLIBCXX_ENABLE_CHEADERS): Warn if the c_std - option is used and fail unless --enable-cheaders-obsolete is - also used. - * configure: Regenerate. - -2020-08-12 Jonathan Wakely - - PR libstdc++/85828 - * include/bits/basic_string.h (operator=(basic_string&&)): Check - for self-move before copying with char_traits::copy. - * include/bits/hashtable.h (operator=(_Hashtable&&)): Check for - self-move. - * include/bits/stl_deque.h (_M_move_assign1(deque&&, false_type)): - Check for equal allocators. - * include/bits/stl_list.h (_M_move_assign(list&&, true_type)): - Call clear() instead of _M_clear(). - * include/debug/formatter.h (__msg_self_move_assign): Change - comment. - * include/debug/macros.h (__glibcxx_check_self_move_assign): - (_GLIBCXX_DEBUG_VERIFY): Remove. - * include/debug/safe_container.h (operator=(_Safe_container&&)): - Remove assertion check for safe move and make it well-defined. - * include/debug/safe_iterator.h (operator=(_Safe_iterator&&)): - Remove assertion check for self-move. - * include/debug/safe_local_iterator.h - (operator=(_Safe_local_iterator&&)): Likewise. - * testsuite/21_strings/basic_string/cons/char/self_move.cc: New test. - * testsuite/23_containers/deque/cons/self_move.cc: New test. - * testsuite/23_containers/forward_list/cons/self_move.cc: New test. - * testsuite/23_containers/list/cons/self_move.cc: New test. - * testsuite/23_containers/set/cons/self_move.cc: New test. - * testsuite/23_containers/unordered_set/cons/self_move.cc: New test. - * testsuite/23_containers/vector/cons/self_move.cc: New test. - -2020-08-11 François Dumont - - PR libstdc++/91620 - * include/bits/forward_list.tcc (forward_list<>::remove): Collect nodes - to destroy in an intermediate forward_list. - (forward_list<>::remove_if, forward_list<>::unique): Likewise. - * include/bits/list.tcc (list<>::remove, list<>::unique): Likewise. - (list<>::remove_if): Likewise. - * include/debug/forward_list (forward_list<>::_M_erase_after): Remove. - (forward_list<>::erase_after): Adapt. - (forward_list<>::remove, forward_list<>::remove_if): Collect nodes to - destroy in an intermediate forward_list. - (forward_list<>::unique): Likewise. - * include/debug/list (list<>::remove, list<>::unique): Likewise. - (list<>::remove_if): Likewise. - * testsuite/23_containers/forward_list/operations/91620.cc: New test. - * testsuite/23_containers/list/operations/91620.cc: New test. - -2020-08-11 Jonathan Wakely - - * testsuite/30_threads/thread/cons/84535.cc: Use a custom - namespace. - * testsuite/30_threads/thread/cons/lwg2097.cc: Likewise. - -2020-08-11 Jonathan Wakely - - PR libstdc++/89760 - * include/experimental/executor [!_GLIBCXX_HAS_GTHREADS]: - (execution_context::mutex_type): Define dummy mutex type. - (system_context): Use execution_context::mutex_type. - (system_context) [!_GLIBCXX_HAS_GTHREADS]: Define dummy - thread and condition variable types. - [!_GLIBCXX_HAS_GTHREADS] (system_context::_M_run()): Do not - define. - (system_context::_M_post) [!_GLIBCXX_HAS_GTHREADS]: Throw - an exception when threads aren't available. - (strand::running_in_this_thread()): Defer to _M_state. - (strand::_State::running_in_this_thread()): New function. - (use_future_t): Do not depend on _GLIBCXX_USE_C99_STDINT_TR1. - * include/experimental/io_context (io_context): Use the - execution_context::mutex_type alias. Replace stack of thread - IDs with counter. - * testsuite/experimental/net/execution_context/use_service.cc: - Enable test for non-pthread targets. - -2020-08-11 Jonathan Wakely - - * include/experimental/executor (system_context::a__tag): Make - default constructor explicit. - -2020-08-11 Jonathan Wakely - - * include/experimental/executor (system_context::_M_run()): - Fix predicate. - * testsuite/experimental/net/system_context/1.cc: New test. - -2020-08-11 Jonathan Wakely - - * include/std/stop_token: Check _GLIBCXX_HAS_GTHREADS using - #ifdef instead of #if. - (stop_token::_S_yield()): Check _GLIBCXX_HAS_GTHREADS before - using __gthread_yield. - -2020-08-11 Jonathan Wakely - - * include/std/thread [!_GLIBCXX_HAS_GTHREADS] (this_thread::yield) - (this_thread::sleep_until): Define. - [!_GLIBCXX_HAS_GTHREADS] (this_thread::sleep_for): Define. Replace - use of __gthread_time_t typedef with timespec. - * src/c++11/thread.cc [!_GLIBCXX_HAS_GTHREADS] (__sleep_for): - Likewise. - * testsuite/30_threads/this_thread/2.cc: Moved to... - * testsuite/30_threads/this_thread/yield.cc: ...here. - * testsuite/30_threads/this_thread/3.cc: Moved to... - * testsuite/30_threads/this_thread/sleep_for-mt.cc: ...here. - * testsuite/30_threads/this_thread/4.cc: Moved to... - * testsuite/30_threads/this_thread/sleep_until-mt.cc: ...here. - * testsuite/30_threads/this_thread/58038.cc: Add - dg-require-sleep. - * testsuite/30_threads/this_thread/60421.cc: Likewise. - * testsuite/30_threads/this_thread/sleep_for.cc: New test. - * testsuite/30_threads/this_thread/sleep_until.cc: New test. - -2020-08-10 Jonathan Wakely - - PR libstdc++/94681 - * src/c++17/fs_ops.cc (read_symlink): Use posix::lstat instead - of calling ::lstat directly. - * src/filesystem/ops.cc (read_symlink): Likewise. - -2020-08-10 Jonathan Wakely - - * python/libstdcxx/v6/printers.py (UniquePointerPrinter.__init__): - Use gdb.Type.strip_typedefs(). - * testsuite/libstdc++-prettyprinters/compat.cc: Use a typedef in - the emulated old type. - -2020-08-10 Jonathan Wakely - - PR libstdc++/94681 - * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Do not depend on - $enable_libstdcxx_filesystem_ts. - * configure: Regenerate. - -2020-08-10 Jonathan Wakely - - PR libstdc++/93904 - * include/bits/stl_iterator.h (inserter): Do not deduce - iterator type (LWG 561). - * testsuite/24_iterators/insert_iterator/dr561.cc: New test. - -2020-08-10 Jonathan Wakely - - * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI=0] - (basic_string::reserve()): Do nothing if exceptions are not - enabled. - -2020-08-10 Jonathan Wakely - - PR libstdc++/95749 - * src/filesystem/ops-common.h [_GLIBCXX_FILESYSTEM_IS_WINDOWS] - (stat_type): Change to __stat64. - (stat): Use _wstat64. - -2020-08-07 Jonathan Wakely - - PR libstdc++/96303 - * include/debug/bitset (bitset::operator==): Call _M_base() on - right operand. - (bitset::operator!=): Likewise, but don't define it at all when - default comparisons are supported by the compiler. - * testsuite/23_containers/bitset/operations/96303.cc: New test. - -2020-08-07 Jonathan Wakely - - * testsuite/18_support/comparisons/algorithms/partial_order.cc: - Replace VERIFY with static_assert where the compiler now - allows it. - * testsuite/18_support/comparisons/algorithms/weak_order.cc: - Likewise. - -2020-08-07 Jonathan Wakely - - * config/abi/pre/gnu.ver: Fix wildcards for wstring symbols. - -2020-08-06 Andrew Luo - Jonathan Wakely - - * config/abi/pre/gnu.ver (GLIBCXX_3.4): Use less greedy - patterns for basic_string members. - (GLIBCXX_3.4.29): Export new basic_string::reserve symbols. - * doc/xml/manual/status_cxx2020.xml: Update P0966 status. - * include/bits/basic_string.h (shrink_to_fit()): Call reserve(). - (reserve(size_type)): Remove default argument. - (reserve()): Declare new overload. - [!_GLIBCXX_USE_CXX11_ABI] (shrink_to_fit, reserve): Likewise. - * include/bits/basic_string.tcc (reserve(size_type)): Remove - support for shrinking capacity. - (reserve()): Perform shrink-to-fit operation. - [!_GLIBCXX_USE_CXX11_ABI] (reserve): Likewise. - * testsuite/21_strings/basic_string/capacity/1.cc: Adjust to - reflect new behavior. - * testsuite/21_strings/basic_string/capacity/char/1.cc: - Likewise. - * testsuite/21_strings/basic_string/capacity/char/18654.cc: - Likewise. - * testsuite/21_strings/basic_string/capacity/char/2.cc: - Likewise. - * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: - Likewise. - * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc: - Likewise. - * testsuite/21_strings/basic_string/capacity/wchar_t/2.cc: - Likewise. - -2020-08-06 Jonathan Wakely - - * include/bits/basic_string.tcc - (operator>>(basic_istream&, basic_string&)): Do not set eofbit - if extraction stopped after in.width() characters. - * src/c++98/istream-string.cc (operator>>(istream&, string&)): - Likewise. - * include/bits/istream.tcc (__istream_extract): Do not set - eofbit if extraction stopped after n-1 characters. - * src/c++98/istream.cc (__istream_extract): Likewise. - * testsuite/21_strings/basic_string/inserters_extractors/char/13.cc: New test. - * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/13.cc: New test. - * testsuite/27_io/basic_istream/extractors_character/char/5.cc: New test. - * testsuite/27_io/basic_istream/extractors_character/wchar_t/5.cc: New test. - -2020-08-06 Jonathan Wakely - - PR libstdc++/96484 - * src/c++17/fs_ops.cc (fs::read_symlink): Return an error - immediately for non-symlinks. - * src/filesystem/ops.cc (fs::read_symlink): Likewise. - -2020-08-06 Jonathan Wakely - - * include/std/istream (operator>>(istream&, char*)): Add - attributes to get warnings for pointers that are null or known - to point to the end of a buffer. Request upper bound from - __builtin_object_size check and handle zero-sized buffer case. - (operator>>(istream&, signed char)) - (operator>>(istream&, unsigned char*)): Add attributes. - * testsuite/27_io/basic_istream/extractors_character/char/overflow.cc: - Check extracting into the middle of a buffer. - * testsuite/27_io/basic_istream/extractors_character/wchar_t/overflow.cc: New test. - -2020-08-05 Jonathan Wakely - - * include/std/atomic (atomic::store): Reformat. - -2020-08-05 Jonathan Wakely - - * doc/xml/manual/status_cxx2017.xml: Replace oneAPI DPC++ link - with LLVM repo for PSTL. - * doc/html/manual/status.html: Regenerate. - -2020-08-05 Jonathan Wakely - - * config/abi/pre/gnu.ver (GLIBCXX_3.4.29): Export new symbols. - * include/bits/istream.tcc (__istream_extract): New function - template implementing both of operator>>(istream&, char*) and - operator>>(istream&, char(&)[N]). Add explicit instantiation - declaration for it. Remove explicit instantiation declarations - for old function templates. - * include/std/istream (__istream_extract): Declare. - (operator>>(basic_istream&, C*)): Define inline and simply - call __istream_extract. - (operator>>(basic_istream&, signed char*)): Likewise. - (operator>>(basic_istream&, unsigned char*)): Likewise. - (operator>>(basic_istream&, C(7)[N])): Define for LWG 2499. - (operator>>(basic_istream&, signed char(&)[N])): - Likewise. - (operator>>(basic_istream&, unsigned char(&)[N])): - Likewise. - * include/std/streambuf (basic_streambuf): Declare char overload - of __istream_extract as a friend. - * src/c++11/istream-inst.cc: Add explicit instantiation - definition for wchar_t overload of __istream_extract. Remove - explicit instantiation definitions of old operator>> overloads - for versioned-namespace build. - * src/c++98/istream.cc (operator>>(istream&, char*)): Replace - with __istream_extract(istream&, char*, streamsize). - * testsuite/27_io/basic_istream/extractors_character/char/3.cc: - Do not use variable-length array. - * testsuite/27_io/basic_istream/extractors_character/char/4.cc: - Do not run test for C++20. - * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc: - Do not test writing to pointers for C++20. - * testsuite/27_io/basic_istream/extractors_character/char/9826.cc: - Use array instead of pointer. - * testsuite/27_io/basic_istream/extractors_character/wchar_t/3.cc: - Do not use variable-length array. - * testsuite/27_io/basic_istream/extractors_character/wchar_t/4.cc: - Do not run test for C++20. - * testsuite/27_io/basic_istream/extractors_character/wchar_t/9555-ic.cc: - Do not test writing to pointers for C++20. - * testsuite/27_io/basic_istream/extractors_character/char/lwg2499.cc: - New test. - * testsuite/27_io/basic_istream/extractors_character/char/lwg2499_neg.cc: - New test. - * testsuite/27_io/basic_istream/extractors_character/char/overflow.cc: - New test. - * testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499.cc: - New test. - * testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499_neg.cc: - New test. - -2020-08-01 Gerald Pfeifer - - * doc/xml/manual/using_exceptions.xml: Move www.stroustrup.com to - https. - * doc/html/manual/using_exceptions.html: Regenerate. - -2020-07-31 Gerald Pfeifer - - * doc/xml/manual/status_cxx2017.xml: ParallelSTL is now part - of oneAPI DPC++ Library on Github. - * doc/html/manual/status.html: Regenerate. - -2020-07-31 François Dumont - - * include/bits/stl_bvector.h - [_GLIBCXX_INLINE_VERSION](_Bvector_impl_data::_M_start): Define as - _Bit_type*. - (_Bvector_impl_data(const _Bvector_impl_data&)): Default. - (_Bvector_impl_data(_Bvector_impl_data&&)): Delegate to latter. - (_Bvector_impl_data::operator=(const _Bvector_impl_data&)): Default. - (_Bvector_impl_data::_M_move_data(_Bvector_impl_data&&)): Use latter. - (_Bvector_impl_data::_M_reset()): Likewise. - (_Bvector_impl_data::_M_swap_data): New. - (_Bvector_impl::_Bvector_impl(_Bvector_impl&&)): Implement explicitely. - (_Bvector_impl::_Bvector_impl(_Bit_alloc_type&&, _Bvector_impl&&)): New. - (_Bvector_base::_Bvector_base(_Bvector_base&&, const allocator_type&)): - New, use latter. - (vector::vector(vector&&, const allocator_type&, true_type)): New, use - latter. - (vector::vector(vector&&, const allocator_type&, false_type)): New. - (vector::vector(vector&&, const allocator_type&)): Use latters. - (vector::vector(const vector&, const allocator_type&)): Adapt. - [__cplusplus >= 201103](vector::vector(_InputIt, _InputIt, - const allocator_type&)): Use _M_initialize_range. - (vector::operator[](size_type)): Use iterator operator[]. - (vector::operator[](size_type) const): Use const_iterator operator[]. - (vector::swap(vector&)): Add assertions on allocators. Use _M_swap_data. - [__cplusplus >= 201103](vector::insert(const_iterator, _InputIt, - _InputIt)): Use _M_insert_range. - (vector::_M_initialize(size_type)): Adapt. - [__cplusplus >= 201103](vector::_M_initialize_dispatch): Remove. - [__cplusplus >= 201103](vector::_M_insert_dispatch): Remove. - * python/libstdcxx/v6/printers.py (StdVectorPrinter._iterator): Stop - using start _M_offset. - (StdVectorPrinter.to_string): Likewise. - * testsuite/23_containers/vector/bool/allocator/swap.cc: Adapt. - * testsuite/23_containers/vector/bool/cons/noexcept_move_construct.cc: - Add check. - -2020-07-31 Jonathan Wakely - - * testsuite/27_io/basic_istream/ignore/char/94749.cc: Use 0 - instead of nullptr. - * testsuite/27_io/basic_istream/ignore/wchar_t/94749.cc: - Likewise. - -2020-07-31 Jonathan Wakely - - * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/sizes.cc: - Move struct to namespace scope. - -2020-07-31 Jonathan Wakely - - * testsuite/26_numerics/numbers/float128.cc: Check - __STRICT_ANSI__ before using __float128. - * testsuite/std/concepts/concepts.lang/concept.arithmetic/floating_point.cc: - Likewise. - -2020-07-31 Jonathan Wakely - - * testsuite/18_support/set_terminate.cc: Require C++11 or - higher. - * testsuite/28_regex/simple_c++11.cc: Likewise. - * testsuite/tr1/headers/c++200x/complex.cc: Likewise. - * testsuite/24_iterators/headers/iterator/synopsis.cc: - Require C++14 or lower. - -2020-07-31 Jonathan Wakely - - * testsuite/23_containers/span/back_assert_neg.cc: Split c++2a - effective-target from xfail selector. - * testsuite/23_containers/span/first_2_assert_neg.cc: Likewise. - * testsuite/23_containers/span/first_assert_neg.cc: Likewise. - * testsuite/23_containers/span/front_assert_neg.cc: Likewise. - * testsuite/23_containers/span/index_op_assert_neg.cc: Likewise. - * testsuite/23_containers/span/last_2_assert_neg.cc: Likewise. - * testsuite/23_containers/span/last_assert_neg.cc: Likewise. - * testsuite/23_containers/span/subspan_2_assert_neg.cc: - Likewise. - * testsuite/23_containers/span/subspan_3_assert_neg.cc: - Likewise. - * testsuite/23_containers/span/subspan_4_assert_neg.cc: - Likewise. - * testsuite/23_containers/span/subspan_5_assert_neg.cc: - Likewise. - * testsuite/23_containers/span/subspan_6_assert_neg.cc: - Likewise. - * testsuite/23_containers/span/subspan_assert_neg.cc: Likewise. - -2020-07-31 Jonathan Wakely - - * testsuite/20_util/reference_wrapper/83427.cc: Adjust - effective-target to specific language mode only. - * testsuite/24_iterators/headers/iterator/range_access_c++11.cc: - Likewise. - * testsuite/24_iterators/headers/iterator/range_access_c++14.cc: - Likewise. - * testsuite/24_iterators/headers/iterator/synopsis_c++11.cc: - Likewise. - * testsuite/24_iterators/headers/iterator/synopsis_c++14.cc: - Likewise. - * testsuite/26_numerics/valarray/69116.cc: - Likewise. - * testsuite/30_threads/headers/condition_variable/std_c++0x_neg.cc: - Remove whitespace at end of file. - * testsuite/30_threads/headers/future/std_c++0x_neg.cc: - Likewise. - -2020-07-31 Jonathan Wakely - - * testsuite/17_intro/headers/c++2017/all_attributes.cc: Add - c++17 effective-target. - * testsuite/17_intro/headers/c++2017/all_no_exceptions.cc: - Likewise. - * testsuite/17_intro/headers/c++2017/all_no_rtti.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/stdc++.cc: Likewise. - * testsuite/17_intro/headers/c++2017/stdc++_multiple_inclusion.cc: - Likewise. - * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: - Likewise. - * testsuite/19_diagnostics/error_code/is_error_code_v.cc: - Likewise. - * testsuite/20_util/any/assign/1.cc: Likewise. - * 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/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_no_rtti.cc: Likewise. - * testsuite/20_util/any/misc/swap.cc: Likewise. - * testsuite/20_util/any/modifiers/1.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/as_const/1.cc: Likewise. - * testsuite/20_util/as_const/rvalue_neg.cc: Likewise. - * testsuite/20_util/bind/is_placeholder_v.cc: Likewise. - * testsuite/20_util/bool_constant/requirements.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/function_objects/invoke/59768.cc: Likewise. - * testsuite/20_util/function_objects/not_fn/1.cc: Likewise. - * testsuite/20_util/function_objects/searchers.cc: Likewise. - * testsuite/20_util/in_place/requirements.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_nothrow_invocable/requirements/explicit_instantiation.cc: - Likewise. - * testsuite/20_util/is_nothrow_invocable/requirements/typedefs.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/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/optional/constexpr/make_optional.cc: Likewise. - * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise. - * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise. - * testsuite/20_util/optional/hash.cc: Likewise. - * testsuite/20_util/pair/swap_cxx17.cc: Likewise. - * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise. - * testsuite/20_util/shared_ptr/requirements/weak_type.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/memory_management_tools/1.cc: - Likewise. - * testsuite/20_util/tuple/apply/1.cc: Likewise. - * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise. - * testsuite/20_util/tuple/swap_cxx17.cc: Likewise. - * testsuite/20_util/tuple/tuple_size_v.cc: Likewise. - * testsuite/20_util/unique_ptr/specialized_algorithms/swap_cxx17.cc: - Likewise. - * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc: - Likewise. - * testsuite/20_util/variant/any.cc: Likewise. - * testsuite/20_util/variant/compile.cc: Likewise. - * testsuite/20_util/variant/hash.cc: Likewise. - * testsuite/20_util/variant/index_type.cc: Likewise. - * testsuite/20_util/variant/run.cc: Likewise. - * testsuite/20_util/void_t/1.cc: Likewise. - * testsuite/21_strings/basic_string/79162.cc: Likewise. - * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise. - * testsuite/21_strings/basic_string/cons/wchar_t/7.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/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/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/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/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/empty.cc: - Likewise. - * testsuite/21_strings/basic_string_view/element_access/char/front_back.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/empty.cc: - Likewise. - * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc: - Likewise. - * testsuite/21_strings/basic_string_view/include.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/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/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/copy/char/1.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.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/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/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/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/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/typedefs.cc: - Likewise. - * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise. - * testsuite/21_strings/basic_string_view/types/1.cc: Likewise. - * testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc: - Likewise. - * testsuite/23_containers/map/modifiers/extract.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/modifiers/extract.cc: Likewise. - * testsuite/23_containers/multimap/modifiers/merge.cc: Likewise. - * testsuite/23_containers/multiset/modifiers/extract.cc: Likewise. - * testsuite/23_containers/multiset/modifiers/merge.cc: Likewise. - * testsuite/23_containers/set/modifiers/extract.cc: Likewise. - * testsuite/23_containers/set/modifiers/merge.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/modifiers/extract.cc: - Likewise. - * testsuite/23_containers/unordered_multimap/modifiers/merge.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/modifiers/extract.cc: - Likewise. - * testsuite/23_containers/unordered_set/modifiers/merge.cc: - Likewise. - * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: - Likewise. - * testsuite/24_iterators/headers/iterator/synopsis_c++17.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/26_numerics/headers/cmath/functions_std_c++17.cc: - Likewise. - * testsuite/26_numerics/headers/cmath/special_functions_global.cc: - Likewise. - * testsuite/27_io/basic_ostream/inserters_other/char/lwg2221.cc: - Likewise. - * testsuite/29_atomics/atomic/is_always_lock_free.cc: Likewise. - * testsuite/29_atomics/atomic_integral/is_always_lock_free.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. - -2020-07-31 Jonathan Wakely - - PR libstdc++/96382 - * include/bits/stl_iterator.h (reverse_iterator): Friend - declaration should not depend on __cplusplus. - -2020-07-31 Jonathan Wakely - - * testsuite/experimental/filesystem/filesystem_error/cons.cc: - Remove -std=gnu++17 option. - -2020-07-31 Jonathan Wakely - - * testsuite/20_util/is_aggregate/value.cc: Adjust for changes to - definition of aggregates in C++20. - * testsuite/20_util/optional/requirements.cc: Adjust for - defaulted comparisons in C++20. - -2020-07-31 Jonathan Wakely - - * testsuite/20_util/tuple/78939.cc: Suppress warnings about - deprecation of volatile-qualified structured bindings in C++20. - * testsuite/20_util/variable_templates_for_traits.cc: Likewise - for deprecation of is_pod in C++20 - -2020-07-31 Jonathan Wakely - - * testsuite/20_util/time_point_cast/rounding.cc: Remove - duplicate dg-do directive and add c++17 effective target. - -2020-07-31 Jonathan Wakely - - * src/c++17/floating_from_chars.cc (from_chars_impl): Use - LC_ALL_MASK not LC_ALL. - -2020-07-31 Richard Biener - - PR debug/96383 - * testsuite/20_util/assume_aligned/3.cc: Use -g0. - -2020-07-30 Jonathan Wakely - - * include/bits/basic_string.h (size_type, difference_type): - Use allocator_traits to obtain the allocator's size_type and - difference_type. - -2020-07-30 Jonathan Wakely - - PR libstdc++/96279 - * src/c++17/floating_from_chars.cc (from_chars_impl): Use - isinf unqualified. - [!_GLIBCXX_USE_C99_STDLIB]: Use strtod for float and long - double. - -2020-07-30 Jonathan Wakely - - * testsuite/23_containers/unordered_multiset/cons/noexcept_default_construct.cc: - Use allocator with the correct value type. - * testsuite/23_containers/unordered_set/cons/noexcept_default_construct.cc: - Likewise. - -2020-07-30 Jonathan Wakely - - * testsuite/20_util/from_chars/4.cc: Pass non-const iterator - to string::insert. - -2020-07-30 Jonathan Wakely - - * include/bits/iterator_concepts.h (__detail::__cv_bool): New - helper concept. - (__detail::__integral_nonbool): Likewise. - (__detail::__is_integer_like): Use __integral_nonbool. - * testsuite/std/ranges/access/lwg3467.cc: New test. - -2020-07-30 Jonathan Wakely - - * testsuite/20_util/from_chars/4.cc: Use dg-add-options ieee. - * testsuite/29_atomics/atomic_float/1.cc: Likewise. - -2020-07-30 Jonathan Wakely - - * testsuite/23_containers/vector/bool/72847.cc: Use the - exceptions_enabled effective-target keyword instead of - checking for an explicit -fno-exceptions option. - * testsuite/util/testsuite_abi.cc (examine_symbol): Remove - redundant try-catch. - * testsuite/util/testsuite_allocator.h [!__cpp_exceptions]: - Do not define check_allocate_max_size and memory_resource. - * testsuite/util/testsuite_containers.h: Replace comment with - #error if wrong standard dialect used. - * testsuite/util/testsuite_shared.cc: Likewise. - -2020-07-29 François Dumont - - * include/bits/hashtable_policy.h (_Node_iterator_base()): New. - (operator==(const _Node_iterator_base&, const _Node_iterator_base&)): - Make hidden friend. - (operator!=(const _Node_iterator_base&, const _Node_iterator_base&)): - Make hidden friend. - (_Local_iterator_base<>): Inherits _Node_iterator_base. - (_Local_iterator_base<>::_M_cur): Remove. - (_Local_iterator_base<>::_M_curr()): Remove. - (operator==(const _Local_iterator_base&, const _Local_iterator_base&)): - Remove. - (operator!=(const _Local_iterator_base&, const _Local_iterator_base&)): - Remove. - * include/debug/unordered_map (unordered_map<>::_M_invalidate): Adapt. - (unordered_multimap<>::_M_invalidate): Adapt. - * include/debug/unordered_set (unordered_set<>::_M_invalidate): Adapt. - (unordered_multiset<>::_M_invalidate): Adapt. - -2020-07-29 David Edelsohn - Jonathan Wakely - Rainer Orth - - * testsuite/lib/dg-options.exp (add_options_for_libatomic): Add - target powerpc-ibm-aix* and powerpc*-*-darwin*. - * testsuite/29_atomics/atomic_float/value_init.cc: Add options - for libatomic. - -2020-07-29 François Dumont - - * include/bits/hashtable.h - (_Hashtable(_Hashtable&& __ht, __node_alloc_type&& __a, true_type)): - Add noexcept qualification. - (_Hashtable(_Hashtable&&)): Fix noexcept qualification. - (_Hashtable(_Hashtable&&, const allocator_type&)): Add noexcept - qualification. - * include/bits/unordered_map.h - (unordered_map(unordered_map&&, const allocator_type&)): Add noexcept - qualification. - (unordered_multimap(unordered_multimap&&, const allocator_type&)): - Likewise. - * include/bits/unordered_set.h - (unordered_set(unordered_set&&, const allocator_type&)): Likewise. - (unordered_multiset(unordered_multiset&&, const allocator_type&)): - Likewise. - * include/debug/unordered_map - (unordered_map(unordered_map&&, const allocator_type&)): Likewise. - (unordered_multimap(unordered_multimap&&, const allocator_type&)): - Likewise. - * include/debug/unordered_set - (unordered_set(unordered_set&&, const allocator_type&)): Likewise. - (unordered_multiset(unordered_multiset&&, const allocator_type&)): - Likewise. - * testsuite/23_containers/unordered_map/allocator/default_init.cc: - New test. - * testsuite/23_containers/unordered_map/cons/noexcept_default_construct.cc: - New test. - * testsuite/23_containers/unordered_map/cons/noexcept_move_construct.cc: - New test. - * testsuite/23_containers/unordered_map/modifiers/move_assign.cc: - New test. - * testsuite/23_containers/unordered_multimap/cons/noexcept_default_construct.cc: - New test. - * testsuite/23_containers/unordered_multimap/cons/noexcept_move_construct.cc: - New test. - * testsuite/23_containers/unordered_multiset/cons/noexcept_default_construct.cc: - New test. - * testsuite/23_containers/unordered_multiset/cons/noexcept_move_construct.cc: - New test. - * testsuite/23_containers/unordered_set/allocator/default_init.cc: - New test. - * testsuite/23_containers/unordered_set/cons/noexcept_default_construct.cc: - New test. - * testsuite/23_containers/unordered_set/cons/noexcept_move_construct.cc: - New test. - -2020-07-28 François Dumont - - * include/bits/hashtable.h - (_Hashtable<>(_InputIterator, _InputIterator, size_t, const _H1&, - const _H2&, const _Hash&, const _Equal&, const _ExtractKey&, - const allocator_type&, true_type)): New. - (_Hashtable<>(_InputIterator, _InputIterator, size_t, const _H1&, - const _H2&, const _Hash&, const _Equal&, const _ExtractKey&, - const allocator_type&, false_type)): New. - (_Hashtable<>(_InputIterator, _InputIterator, size_t, const _H1&, - const _H2&, const _Hash&, const _Equal&, const _ExtractKey&, - const allocator_type&)): Delegate to latters. - (operator=(initializer_list)): Rehash if too small. - (_M_insert(_Arg&&, const _NodeGenerator&, true_type)): Remove - size_t len parameter. - * include/bits/hashtable_policy.h (_Insert_base<>::_M_insert_range): - Do not try to get input range distance. - * testsuite/23_containers/unordered_set/cons/bucket_hint.cc: New test. - * testsuite/23_containers/unordered_set/modifiers/insert.cc: New test. - -2020-07-27 François Dumont - - * include/bits/hashtable_policy.h (_Map_base<>::at): Use - _Hashtable<>::find. - (_Hashtable_base<>::_Equal_hash_code<>::_S_node_equals):New. - (_Hashtable_base<>::_M_node_equals): New, use latter. - (_Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, - _RehashPolicy, false>::_M_equal): Adapt to use latter. - * include/bits/hashtable.h (_Hashtable<>::_M_update_bbegin): New. - (_Hashtable<>::_M_assign): Use latter. - (_Hashtable<>::_M_move_assign): Likewise. - (_Hashtable<>(_Hashtable<>&&)): Likewise. - (_Hashtable<>(_Hashtable<>&&, const allocator_type&)): Likewise. - (_Hashtable<>::swap): Likewise. - (_Hashtable<>::find): Build iterator directly from _M_find_node result. - (_Hashtable<>::count): Use _Hashtable<>::find. - (_Hashtable<>::equal_range): Likewise. - (_Hashtable<>::_M_erase(false_type, const key_type&)): Use - _M_node_equals. - -2020-07-27 Jonathan Wakely - - * src/c++17/floating_from_chars.cc (from_chars_impl): Ensure - that FE_NEAREST is used. - * testsuite/20_util/from_chars/4.cc: Do not use if constexpr in - a { target c++14 } test. - [!_GLIBCXX_HAVE_USELOCALE]: Disable all tests. - * testsuite/20_util/from_chars/5.cc [!_GLIBCXX_HAVE_USELOCALE]: - Likewise. - * testsuite/20_util/from_chars/6.cc: New test. - -2020-07-22 Jonathan Wakely - - * include/std/future (future, shared_future, promise): Add - static assertions to the primary template to reject array and - function types. - * testsuite/30_threads/future/requirements/lwg3458.cc: New test. - * testsuite/30_threads/promise/requirements/lwg3466.cc: New test. - * testsuite/30_threads/shared_future/requirements/lwg3458.cc: New test. - -2020-07-22 Jonathan Wakely - - * include/bits/stl_iterator.h (reverse_iterator): Constrain - converting constructor and converting assignment operator. - Access source iterator's data member directly instead of - calling base(). - (move_iterator): Likewise. - * testsuite/24_iterators/move_iterator/dr3435.cc: New test. - * testsuite/24_iterators/reverse_iterator/dr3435.cc: New test. - -2020-07-20 Jonathan Wakely - - * acinclude.m4 (libtool_VERSION): Bump version. - * config.h.in: Regenerate. - * config/abi/pre/gnu.ver: Add GLIBCXX_3.4.29 version and new - exports. - * config/os/gnu-linux/ldbl-extra.ver: Add _GLIBCXX_LDBL_3.4.29 - version and new export. - * configure: Regenerate. - * configure.ac: Check for and uselocale. - * crossconfig.m4: Add macro or checks for uselocale. - * include/std/charconv (from_chars): Declare overloads for - float, double, and long double. - * src/c++17/Makefile.am: Add new file. - * src/c++17/Makefile.in: Regenerate. - * src/c++17/floating_from_chars.cc: New file. - (from_chars): Define for float, double, and long double. - * testsuite/20_util/from_chars/1_c++20_neg.cc: Prune extra - diagnostics caused by new overloads. - * testsuite/20_util/from_chars/1_neg.cc: Likewise. - * testsuite/20_util/from_chars/2.cc: Check leading '+'. - * testsuite/20_util/from_chars/4.cc: New test. - * testsuite/20_util/from_chars/5.cc: New test. - * testsuite/util/testsuite_abi.cc: Add new symbol versions. - -2020-07-20 Jonathan Wakely - - * include/bits/istream.tcc - (basic_istream::get(__streambuf_type&, char_type): Use unsigned - long long for counter and check if it would overflow _M_gcount. - * testsuite/27_io/basic_istream/get/char/lwg3464.cc: New test. - * testsuite/27_io/basic_istream/get/wchar_t/lwg3464.cc: New test. - -2020-07-17 Iain Sandoe - - * include/std/coroutine: Mark the methods of the - trivial awaitables as constexpr. - -2020-07-14 David Edelsohn - - * config/os/aix/t-aix: Set BITS from compiler cpp macro. - -2020-07-13 Jonathan Wakely - - PR libstdc++/94749 - PR libstdc++/96161 - * include/bits/istream.tcc (basic_istream::ignore(streamsize)) - [n == max]: Check overflow conditions on _M_gcount. Rely on - the fact that either EOF or the delimiter was reached. - [n < max]: Check _M_gcount < n before checking for EOF or - delimiter. - (basic_istream::ignore(streamsize, char_type): Likewise. - * src/c++98/compatibility.cc (istream::ignore(streamsize)) - (wistream::ignore(streamsize)): Likewise. - * src/c++98/istream.cc (istream::ignore(streamsize, char_type)) - (wistream::ignore(streamsize, char_type)): Likewise. - * testsuite/27_io/basic_istream/ignore/char/94749.cc: Check that - delimiter is discarded if the number of characters ignored - doesn't fit in streamsize. - * testsuite/27_io/basic_istream/ignore/wchar_t/94749.cc: - Likewise. - * testsuite/27_io/basic_istream/ignore/char/96161.cc: New test. - * testsuite/27_io/basic_istream/ignore/wchar_t/96161.cc: New test. - -2020-07-08 François Dumont - - * include/bits/stl_tree.h (_Rb_tree_impl(_Rb_tree_impl&&)): Add noexcept - qualification based only on _Compare one. - * testsuite/23_containers/map/cons/noexcept_move_construct.cc: Add - static asserts. - * testsuite/23_containers/multimap/cons/noexcept_move_construct.cc: - Likewise. - * testsuite/23_containers/multiset/cons/noexcept_move_construct.cc: - Likewise. - * testsuite/23_containers/set/cons/noexcept_move_construct.cc: Likewise. - -2020-07-07 Jonathan Wakely - - * include/std/limits: Whitespace changes. - -2020-07-07 Jonathan Wakely - - * include/Makefile.am: Remove bits/int_limits.h. - * include/Makefile.in: Regenerate. - * include/bits/int_limits.h: Removed. - * include/bits/parse_numbers.h (_Select_int_base): Replace - __int_limits with __int_traits. - * include/bits/range_access.h (_SSize::operator()): Likewise. - * include/ext/numeric_traits.h (__numeric_traits_integer): Add - static assertion. - (__int_traits): New alias template. - * include/std/bit (__rotl, __rotr, __countl_zero, __countl_one) - (__countr_zero, __countr_one, __popcount, __bit_ceil) - (__bit_floor, __bit_width) Replace __int_limits with - __int_traits. - * include/std/charconv (__to_chars_8, __from_chars_binary) - (__from_chars_alpha_to_num, from_chars): Likewise. - * include/std/memory_resource (polymorphic_allocator::allocate) - (polymorphic_allocator::allocate_object): Likewise. - * include/std/string_view (basic_string_view::_S_compare): - Likewise. - * include/std/utility (cmp_equal, cmp_less, in_range): Likewise. - -2020-07-07 Jonathan Wakely - - * include/std/limits: Whitespace changes. - -2020-07-06 Jonathan Wakely - - * include/std/optional (_Optional_payload_base, _Optional_base) - (optional, __optional_hash_call_base): Adjust whitespace and - other formatting. Remove redundant && tokens on template - arguments to type traits. - -2020-07-06 Jonathan Wakely - - * include/std/optional (make_optional): Add enable_if - constraints and noexcept-specifier to each overload. - * testsuite/20_util/optional/make_optional-2.cc: New test. - -2020-07-06 Jonathan Wakely - - PR libstdc++/96036 - * include/std/optional (optional): Add noexcept-specifier to - every constructor, assignment operator, emplace function and - dereference operator. - * testsuite/20_util/optional/assignment/noexcept.cc: New test. - * testsuite/20_util/optional/cons/noexcept.cc: New test. - -2020-07-06 Jonathan Wakely - - PR libstdc++/96063 - * include/bits/fs_dir.h: Use consistent tag in class-head. - * include/bits/localefwd.h: Likewise. - * include/bits/regex.h: Likewise. - * include/bits/stl_map.h: Likewise. - * include/bits/stl_multimap.h: Likewise. - * include/bits/stl_multiset.h: Likewise. - * include/bits/stl_set.h: Likewise. - * include/std/complex: Likewise. - * include/std/functional: Likewise. - * include/std/future: Likewise. - * include/std/system_error: Likewise. - * include/std/thread: Likewise. - * include/std/tuple: Likewise. - * include/std/type_traits: Likewise. - * include/std/valarray: Likewise. - -2020-07-02 Jonathan Wakely - - * testsuite/27_io/basic_ios/conv/voidptr.cc: Add c++98_only - target selector. - -2020-07-02 Jonathan Wakely - - * testsuite/18_support/headers/cstdalign/std_c++0x_neg.cc: Add - c++98_only target selector. - * testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc: - Likewise. - * testsuite/18_support/headers/cstdint/std_c++0x_neg.cc: - Likewise. - * testsuite/18_support/headers/new/synopsis_cxx98.cc: Likewise. - * testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc: - Likewise. - * testsuite/20_util/headers/type_traits/std_c++0x_neg.cc: - Likewise. - * testsuite/23_containers/headers/array/std_c++0x_neg.cc: - Likewise. - * testsuite/23_containers/headers/tuple/std_c++0x_neg.cc: - Likewise. - * testsuite/23_containers/headers/unordered_map/std_c++0x_neg.cc: - Likewise. - * testsuite/23_containers/headers/unordered_set/std_c++0x_neg.cc: - Likewise. - * testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc: - Likewise. - * testsuite/26_numerics/headers/cfenv/std_c++0x_neg.cc: - Likewise. - * testsuite/26_numerics/headers/cmath/c99_classification_macros_c++98.cc: - Likewise. - * testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc: - Likewise. - * testsuite/26_numerics/headers/random/std_c++0x_neg.cc: - Likewise. - * testsuite/27_io/headers/cinttypes/std_c++0x_neg.cc: Likewise. - * testsuite/28_regex/headers/regex/std_c++0x_neg.cc: Likewise. - * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: - Likewise. - * testsuite/30_threads/headers/condition_variable/std_c++0x_neg.cc: - Likewise. - * testsuite/30_threads/headers/future/std_c++0x_neg.cc: - Likewise. - * testsuite/30_threads/headers/mutex/std_c++0x_neg.cc: Likewise. - * testsuite/30_threads/headers/thread/std_c++0x_neg.cc: - Likewise. - -2020-07-02 Ville Voutilainen - - PR libstdc++/91807 - * include/std/variant - (_Copy_assign_base::operator=(const _Copy_assign_base&): - Do the move-assignment from a temporary so that the temporary - is constructed with an explicit index. - * testsuite/20_util/variant/91807.cc: New. - -2020-07-02 Jonathan Wakely - - PR libstdc++/91153 - PR target/93224 - * testsuite/29_atomics/atomic_float/1.cc: Use different values - for tests. - * testsuite/29_atomics/atomic_ref/float.cc: Likewise. - -2020-07-01 Jonathan Wakely - - PR libstdc++/94627 - * include/bits/regex.h (operator==, operator!=): Remove noexcept - equality comparisons for match_results. - * testsuite/28_regex/match_results/94627.cc: New test. - -2020-07-01 Martin Sebor - - * testsuite/21_strings/basic_string_view/cons/char/nonnull.cc: Adjust - text of expected warning. - * testsuite/21_strings/basic_string_view/cons/wchar_t/nonnull.cc: Same. - * testsuite/21_strings/basic_string_view/operations/compare/char/nonnull.cc: Same. - * testsuite/21_strings/basic_string_view/operations/find/char/nonnull.cc: Same. - * testsuite/21_strings/basic_string_view/operations/rfind/char/nonnull.cc: Same. - -2020-06-29 Ville Voutilainen - - Revert: - 2020-06-28 Ville Voutilainen - - * include/bits/basic_string.h (string(_CharT*, const _Alloc&)): - Add a __nonnull__ attribute. - * testsuite/21_strings/basic_string/cons/char/nonnull.cc: New. - * testsuite/21_strings/basic_string/cons/wchar_t/nonnull.cc: Likewise. - -2020-06-28 Ville Voutilainen - - * include/bits/basic_string.h (string(_CharT*, const _Alloc&)): - Add a __nonnull__ attribute. - * testsuite/21_strings/basic_string/cons/char/nonnull.cc: New. - * testsuite/21_strings/basic_string/cons/wchar_t/nonnull.cc: Likewise. - -2020-06-28 Ville Voutilainen - - PR libstdc++/95915 - * include/std/type_traits (is_literal_type, is_literal_type_v): - Deprecate in C++17. - * include/std/variant (_Uninitialized): - Adjust the condition and the comment. - * testsuite/20_util/is_literal_type/deprecated-1z.cc: New. - * testsuite/20_util/is_literal_type/requirements/explicit_instantiation.cc: - Adjust. - * testsuite/20_util/is_literal_type/requirements/typedefs.cc: Likewise. - * testsuite/20_util/is_literal_type/value.cc: Likewise. - * testsuite/20_util/optional/constexpr/nullopt.cc: - Use __is_literal_type directly. - * testsuite/20_util/optional/nullopt.cc: Likewise. - * testsuite/20_util/variable_templates_for_traits.cc: Adjust. - * testsuite/20_util/variant/95915.cc: New. - * testsuite/20_util/variant/compile.cc: Add new test. - * testsuite/experimental/optional/constexpr/nullopt.cc: - Use __is_literal_type directly. - * testsuite/experimental/optional/nullopt.cc: Likewise. - * testsuite/experimental/type_traits/value.cc: Adjust. - * testsuite/util/testsuite_common_types.h: - Use __is_literal_type directly. - -2020-06-24 Jonathan Wakely - - * include/std/charconv (__from_chars_binary): Ignore leading zeros. - * testsuite/20_util/from_chars/1.cc: Check "0x1" for all bases, - not just 10 and 16. - * testsuite/20_util/from_chars/3.cc: New test. - -2020-06-24 Jonathan Wakely - - * include/bits/stl_algobase.h (__find_if): Add FALLTHRU markers. - * include/std/charconv (__detail::__to_chars): Avoid - -Wsign-compare warning. - -2020-06-24 Jonathan Wakely - - PR libstdc++/95851 - * include/std/charconv (__to_chars_i): Check for zero-sized - buffer unconditionally. - * testsuite/20_util/to_chars/95851.cc: New test. - -2020-06-23 Jonathan Wakely - - * testsuite/20_util/from_chars/1_c++20_neg.cc: Check enumeration - type. - * testsuite/20_util/from_chars/1_neg.cc: Likewise. Move dg-error - directives outside preprocessor condition. - -2020-06-23 Jonathan Wakely - - PR libstdc++/95832 - * include/std/variant (__detail::__variant::_Build_FUN): Remove - partial specialization to prevent narrowing conversions to bool. - * testsuite/20_util/variant/compile.cc: Test non-narrowing - conversions to bool. - * testsuite/20_util/variant/run.cc: Likewise. - -2020-06-23 Jonathan Wakely - - * doc/Makefile.in: Regenerate. - * include/Makefile.in: Regenerate. - * libsupc++/Makefile.in: Regenerate. - * po/Makefile.in: Regenerate. - * python/Makefile.in: Regenerate. - * src/Makefile.in: Regenerate. - * src/c++11/Makefile.in: Regenerate. - * src/c++17/Makefile.in: Regenerate. - * src/c++98/Makefile.in: Regenerate. - * src/filesystem/Makefile.in: Regenerate. - * testsuite/Makefile.in: Regenerate. - -2020-06-22 David Edelsohn - - * Makefile.am: Use -include. - * Makefile.in: Regenerate. - -2020-06-21 David Edelsohn - - * Makefile.am (tmake_file): Build and install AIX-style FAT libraries. - * Makefile.in: Regenerate. - * configure.ac (tmake_file): Substitute. - * configure: Regenerate. - * configure.host (aix*): Define tmake_file. - * config/os/aix/t-aix: New file. - -2020-06-20 Jason Merrill - - * testsuite/24_iterators/move_iterator/rel_ops_c++20.cc: - Remove greedy_ops tests. - * testsuite/24_iterators/reverse_iterator/rel_ops_c++20.cc: - Remove greedy_ops tests. - -2020-06-19 Jonathan Wakely - - PR libstdc++/95765 - * include/bits/stl_algobase.h (__size_to_integer(float)) - (__size_to_integer(double), __size_to_integer(long double)) - (__size_to_integer(__float128)): Cast return type explicitly. - * include/bits/stl_uninitialized.h (__uninitialized_default_1): - Remove unused typedef. - -2020-06-19 Jonathan Wakely - - * include/bits/stl_pair.h (_Index_tuple): Remove redundant - namespace qualification. - (pair::pair(tuple<>&, tuple<>&, _Index_tuple, _Index_tuple)): - Likewise. - * include/std/tuple (_Head_base, _Tuple_impl, tuple_size) - (tuple_element, __get_helper, get, __make_tuple_impl) - (__make_1st_indices, __tuple_concater) - (pair::pair(tuple<>&, tuple<>&, _Index_tuple, _Index_tuple)): - Likewise. - * include/std/utility (tuple_element, __is_tuple_like_impl) - (tuple_size, __pair_get, get): Likewise. - -2020-06-19 Jonathan Wakely - - * include/bits/std_function.h (function): Define all member - functions inline. - -2020-06-19 Marc Glisse - - * include/bits/stl_algo.h (__includes): Simplify the code. - -2020-06-19 Marc Glisse - - * include/std/optional (optional()): Explicitly define it. - -2020-06-17 Jonathan Wakely - - PR libstdc++/94540 - * include/bits/stl_uninitialized.h (__uninitialized_default_1): - Construct the first value at *__first instead of on the stack. - (__uninitialized_default_n_1): Likewise. - Improve comments on several of the non-standard algorithms. - * testsuite/20_util/specialized_algorithms/uninitialized_default/94540.cc: - New test. - * testsuite/20_util/specialized_algorithms/uninitialized_default_n/94540.cc: - New test. - * testsuite/20_util/specialized_algorithms/uninitialized_value_construct/94540.cc: - New test. - * testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/94540.cc: - New test. - * testsuite/23_containers/vector/cons/94540.cc: New test. - -2020-06-17 Jonathan Wakely - - * testsuite/20_util/specialized_algorithms/uninitialized_default_n/sizes.cc: - Replace Value type with int so trivial code path is used. - * testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/sizes.cc: - Likewise. - -2020-06-17 Jonathan Wakely - - * include/bits/stl_uninitialized.h (uninitialized_fill_n): Only - use std::fill_n when the size is an integral type. - (__uninitialized_default_n): Likewise. - * testsuite/20_util/specialized_algorithms/uninitialized_default_n/sizes.cc: - New test. - * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/sizes.cc: - New test. - * testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/sizes.cc: - New test. - -2020-06-16 Jonathan Wakely - - PR libstdc++/95282 - * include/bits/atomic_base.h (__atomic_impl::load): Use the _Val - alias instead of deducing _Tp as an unqualified type. - (__atomic_impl::exchange): Use the _Val alias to remove volatile - from the reinterpret_cast result type. - -2020-06-16 Jonathan Wakely - - * include/std/atomic (atomic): Add static assertions. - * testsuite/29_atomics/atomic/requirements/types_neg.cc: New test. - -2020-06-16 Patrick Palka - - PR libstdc++/94003 - * testsuite/20_util/is_constructible/94003.cc: New test. - -2020-06-15 Jonathan Wakely - - * include/bits/char_traits.h (__cpp_lib_constexpr_char_traits): - Update value for C++20. - * include/std/version (__cpp_lib_constexpr_char_traits): Likewise. - * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc: - Update expected value. - * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc: - Likewise. - -2020-06-15 Paul Keir - - * include/bits/char_traits.h (char_traits::move): constexpr move with - overlap was using copy_backward incorrectly. - * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc: - New test. - -2020-06-12 Jonathan Wakely - - * testsuite/29_atomics/atomic_flag/clear/1.cc: Also test clear() - when the value is currently set. - * testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: - Actually check the return value. - * testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: - Likewise. - -2020-06-12 Jonathan Wakely - - * include/bits/atomic_base.h (atomic_flag::test): Add missing - const qualifiers. - * testsuite/29_atomics/atomic_flag/test/explicit.cc: Add - dg-options and verify results of test function. - * testsuite/29_atomics/atomic_flag/test/implicit.cc: Likewise. - -2020-06-11 Jonathan Wakely - - PR libstdc++/94749 - * include/bits/istream.tcc (basic_istream::ignore(streamsize, CharT)): - Only discard an extra character if we didn't already reach the - maximum number. - * src/c++98/istream.cc (istream::ignore(streamsiz, char)) - (wistream::ignore(streamsize, wchar_t)): Likewise. - * testsuite/27_io/basic_istream/ignore/char/94749.cc: New test. - * testsuite/27_io/basic_istream/ignore/wchar_t/94749.cc: New test. - -2020-06-10 Patrick Palka - - PR libstdc++/95578 - * include/bits/ranges_algo.h (__lexicographical_compare_fn): - Also check that the iterator and sentinel have the same type before - applying the unwrapping optimization for __normal_iterator. - Split the check into two, one for the first iterator/sentinel - pair and another for second iterator/sentinel pair. Remove uses - of __niter_base, and remove uses of std::move on a - __normal_iterator. - * include/bits/ranges_algobase.h (__equal_fn): Likewise. - (__copy_or_move): Likewise. Perform similar adjustments for - the reverse_iterator and move_iterator optimizations. Inline - the checks into the if-constexprs, and use using-declarations to - make them less visually noisy. Remove uses of __niter_wrap. - (__copy_or_move_backward): Likewise. - * testsuite/25_algorithms/copy/95578.cc: New test. - * testsuite/25_algorithms/copy_backward/95578.cc: New test. - * testsuite/25_algorithms/equal/95578.cc: New test. - * testsuite/25_algorithms/lexicographical_compare/95578.cc: New test. - * testsuite/25_algorithms/move/95578.cc: New test. - * testsuite/25_algorithms/move_backward/95578.cc: New test. - -2020-06-10 François Dumont - Jonathan Wakely - - * include/bits/deque.tcc (__lex_cmp_dit): New. - (__lexicographical_compare_aux1): Define overloads for deque - iterators. - * include/bits/stl_algobase.h (__lexicographical_compare::__3way): - New static member function. - (__lexicographical_compare::__3way): Likewise. - (__lexicographical_compare::__lc): Use __3way. - (__lexicographical_compare_aux): Rename to - __lexicographical_compare_aux1 and declare overloads for deque - iterators. - (__lexicographical_compare_aux): Define new forwarding function - that calls __lexicographical_compare_aux1 and declare new overloads - for safe iterators. - (lexicographical_compare): Do not use __niter_base on - parameters. - * include/debug/safe_iterator.tcc - (__lexicographical_compare_aux): Define overloads for safe - iterators. - * testsuite/25_algorithms/lexicographical_compare/1.cc: Add - checks with random access iterators. - * testsuite/25_algorithms/lexicographical_compare/deque_iterators/1.cc: - New test. - -2020-06-09 Jonathan Wakely - - * include/bits/stl_iterator.h (move_iterator::operator=): Define. - * testsuite/24_iterators/move_iterator/dr3265.cc: New test. - -2020-06-09 Jonathan Wakely - - * include/std/optional (bad_optional_access): Define default - constructor and destructor as defaulted. - * testsuite/20_util/optional/bad_access.cc: New test. - -2020-06-08 Jonathan Wakely - - * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error - line number. - * testsuite/20_util/default_delete/void_neg.cc: Likewise. - -2020-06-08 Jonathan Wakely - - * include/bits/unique_ptr.h (operator<<): Define for C++20. - * testsuite/20_util/unique_ptr/io/lwg2948.cc: New test. - -2020-06-04 Jonathan Wakely - - * include/bits/iterator_concepts.h (__detail::__ptr, __detail::__ref) - (__detail::__cat, __detail::__diff): Move to class scope in the - relevant __iterator_traits specializations. - (__iterator_traits<>): Use nested class templates instead of ones from - namespace __detail. - * include/bits/stl_iterator.h (__detail::__common_iter_ptr): Move to - class scope in iterator_traits>. - (iterator_traits>): Use nested class template - instead of __detail::__common_iter_ptr. - -2020-06-04 François Dumont - - * include/bits/stl_algo.h (__copy_n_a): Move to ... - * include/bits/stl_algobase.h (__copy_n_a): ...here. Add __strict - parameter. - (__copy_n_a(istreambuf_iterator<>, _Size, _Deque_iterator<>, bool)): - Declare. - (__niter_base(const _Safe_iterator<_Ite, _Seq, - random_access_iterator_tag>&)): Declare. - (__copy_move_a2(istreambuf_iterator<>, istreambuf_iterator<>, - _Deque_iterator<>)): Declare. - * include/bits/deque.tcc - (__copy_move_a2(istreambuf_iterator<>, istreambuf_iterator<>, - _Deque_iterator<>)): New. - (__copy_n_a(istreambuf_iterator<>, _Size, _Deque_iterator<>, bool)): - New. - * include/bits/streambuf_iterator.h - (__copy_n_a(istreambuf_iterator<>, _Size, _CharT*, bool)): Adapt. - * include/debug/safe_iterator.tcc (__niter_base): New. - * testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc - (test03): New. - * testsuite/25_algorithms/copy/streambuf_iterators/char/debug/deque_neg.cc: - New test. - * testsuite/25_algorithms/copy_n/debug/istreambuf_ite_deque_neg.cc: - New test. - * testsuite/25_algorithms/copy_n/istreambuf_iterator/2.cc: New test. - * testsuite/25_algorithms/copy_n/istreambuf_iterator/deque.cc: - New test. - -2020-06-04 Jonathan Wakely - - * include/bits/ranges_algobase.h (__copy_n_fn): Only call - ranges::copy for positive values. - * include/bits/stl_algo.h (copy_n): Convert Size argument to an - integral type and only call __copy_n for positive values. - * testsuite/util/testsuite_iterators.h - (random_access_iterator_wrapper::operator+=): Fix range check for - negative values. - (output_container, input_container, forward_container) - (bidirectional_container, random_access_container): New alias - templates. - * testsuite/25_algorithms/copy_n/5.cc: New test. - -2020-06-02 Jonathan Wakely - - PR libstdc++/90102 - * include/debug/deque (deque(const _Base&)): Replace parameter - with a struct that wraps a const _Base&. - * include/debug/forward_list (forward_list(_Base_ref)): New - constructor. - * include/debug/list (list(const _Base&)): Replace parameter - with a struct that wraps a const _Base&. - * include/debug/map.h (map(const _Base&)): Likewise. - * include/debug/multimap.h (multimap(const _Base&)): Likewise. - * include/debug/multiset.h (multiset(const _Base&)): Likewise. - * include/debug/set.h (set(const _Base&)): Likewise. - * include/debug/unordered_map (unordered_map(const _Base&)) - (unordered_multimap(const _Base&)): Likewise. - * include/debug/unordered_set (unordered_set(const _Base&)) - (unordered_multiset(const _Base&)): Likewise. - * testsuite/23_containers/vector/cons/destructible_debug_neg.cc: - Adjust dg-error line number. - * include/debug/vector (vector(const _Base&)): Likewise. - * testsuite/23_containers/deque/debug/90102.cc: New test. - * testsuite/23_containers/forward_list/debug/90102.cc: New test. - * testsuite/23_containers/list/debug/90102.cc: New test. - * testsuite/23_containers/map/debug/90102.cc: New test. - * testsuite/23_containers/multimap/debug/90102.cc: New test. - * testsuite/23_containers/multiset/debug/90102.cc: New test. - * testsuite/23_containers/set/debug/90102.cc: New test. - * testsuite/23_containers/unordered_map/debug/90102.cc: New test. - * testsuite/23_containers/unordered_multimap/debug/90102.cc: New test. - * testsuite/23_containers/unordered_multiset/debug/90102.cc: New test. - * testsuite/23_containers/unordered_set/debug/90102.cc: New test. - * testsuite/23_containers/vector/debug/90102.cc: New test. - -2020-06-01 Jonathan Wakely - - PR libstdc++/95392 - * include/bits/fs_path.h (path::_S_to_string): Move to - namespace-scope and rename to ... - (__detail::__string_from_range): ... this. - [WINDOWS] (__detail::__wstr_from_utf8): New function template to - convert a char sequence containing UTF-8 to wstring. - (path::_S_convert(Iter, Iter)): Adjust call to _S_to_string. - (path::_S_convert_loc(Iter, Iter, const locale&)): Likewise. - (u8path(InputIterator, InputIterator)) [WINDOWS]: Use - __string_from_range to obtain a contiguous range and - __wstr_from_utf8 to obtain a wide string. - (u8path(const Source&)) [WINDOWS]: Use __effective_range to - obtain a contiguous range and __wstr_from_utf8 to obtain a wide - string. - (path::_S_convert(const _EcharT*, const _EcharT)) [WINDOWS]: - Use __wstr_from_utf8. - -2020-06-01 Jonathan Wakely - - * testsuite/util/testsuite_iterators.h: - (input_iterator_wrapper::operator++(int)): Return proxy object. - -2020-06-01 Jonathan Wakely - - * doc/xml/manual/evolution.xml: Document deprecation of - __is_nullptr_t and removal of std::allocator members. - * doc/html/manual/api.html: Regenerate. - -2020-06-01 Jonathan Wakely - - * doc/xml/manual/containers.xml: Replace with . - * doc/xml/manual/evolution.xml: Likewise. - * doc/html/manual/api.html: Regenerate. - * doc/html/manual/containers.html: Regenerate. - -2020-06-01 Gerald Pfeifer - - * doc/xml/faq.xml: Adjust Valgrind reference and remove another. - * doc/html/faq.html: Regenerate. - -2020-06-01 Gerald Pfeifer - - * doc/xml/manual/policy_data_structures_biblio.xml: Remove - stray change. - -2020-06-01 Gerald Pfeifer - - * doc/xml/manual/policy_data_structures_biblio.xml: Switch - www.cs.princeton.edu to https. - * doc/html/manual/policy_data_structures.html: Regenerate. - -2020-05-31 Douglas B Rupp - - * crossconfig.m4 (<*-vxworks>): Check for more math decls. - * configure: Rebuild. - -2020-05-29 H.J. Lu - - PR bootstrap/95413 - * configure: Regenerated. - -2020-05-29 François Dumont - - PR libstdc++/95079 - * include/bits/hashtable_policy.h (_Insert_base<>::try_emplace): New. - * include/bits/unordered_map.h (unordered_map<>::try_emplace): Adapt. - (unordered_map<>::insert_or_assign): Adapt. - -2020-05-27 Jonathan Wakely - - PR libstdc++/95282 - * include/bits/atomic_base.h (__atomic_impl::load): Add - cv-qualifiers to parameter so that _Tp is deduced as the - unqualified type. - * testsuite/29_atomics/atomic_float/95282.cc: New test. - -2020-05-27 Jonathan Wakely - - PR libstdc++/95322 - * include/std/ranges (transform_view::_Sentinel): Allow hidden - friends to work with _Iterator and _Iterator. - (join_view::_Sentinel): Likewise. - * testsuite/std/ranges/adaptors/95322.cc: New test. - -2020-05-27 Jonathan Wakely - - PR libstdc++/94354 - * include/bits/stl_iterator.h (reverse_iterator): Fix comparison - operators to use the correct operations on the underlying - iterators. - * testsuite/24_iterators/reverse_iterator/rel_ops.cc: New test. - -2020-05-27 Jonathan Wakely - - * testsuite/18_support/comparisons/categories/zero_neg.cc: New test. - -2020-05-26 Patrick Palka - - PR libstdc++/95322 - * include/bits/stl_iterator.h (__detail::_Common_iter_proxy): - Remove and instead define it ... - (common_iterator::_Proxy): ... here. - (common_iterator::operator->): Use it. - * testsuite/24_iterators/common_iterator/2.cc: New test. - * testsuite/std/ranges/adaptors/95322.cc: New test. - -2020-05-23 Patrick Palka - - PR libstdc++/93978 - * testsuite/std/ranges/adaptors/93978.cc: Add -Wall to - dg-additional-options. Avoid unused-but-set-variable warning. - -2020-05-23 Jonathan Wakely - - PR libstdc++/95289 - * include/debug/helper_functions.h (__get_distance): Only declare - as a constexpr function for C++14 and up. - * testsuite/25_algorithms/copy/debug/95289.cc: New test. - - * include/bits/fs_path.h (__detail::_S_range_begin) - (__detail::_S_range_end, path::_S_string_from_iter): Replace with - overloaded function template __detail::__effective_range. - (__detail::__effective_range): New overloaded function template to - create a basic_string or basic_string_view for an effective range. - (__detail::__value_type_is_char): Use __detail::__effective_range. - Do not use remove_const on value type. - (__detail::__value_type_is_char_or_char8_t): Likewise. - (path::path(const Source&, format)) - (path::path(const Source&, const locale&)) - (path::operator/=(const Source&), path::append(const Source&)) - (path::concat(const Source&)): Use __detail::__effective_range. - (path::_S_to_string(InputIterator, InputIterator)): New function - template to create a string view if possible, or string otherwise. - (path::_S_convert): Add overloads that convert a string returned - by __detail::__effective_range. Use if-constexpr to inline conversion - logic from all overloads of _Cvt::_S_convert. - (path::_S_convert_loc): Add overload that converts a string. Use - _S_to_string to avoid allocation when possible. - (path::_Cvt): Remove. - (path::operator+=(CharT)): Remove indirection through path::concat. - * include/experimental/bits/fs_path.h (path::_S_convert_loc): Add - overload for non-const pointers, to avoid constructing a std::string. - * src/c++17/fs_path.cc (path::_S_convert_loc): Replace conditional - compilation with call to _S_convert. - - * include/bits/fs_path.h (__detail::_S_range_begin) - (__detail::_S_range_end): Remove unintentional static specifiers. - * include/experimental/bits/fs_path.h (__detail::_S_range_begin) - (__detail::_S_range_end): Likewise. - - * include/bits/fs_path.h (filesystem::__detail::__is_encoded_char): - Replace alias template with variable template. Don't remove const. - (filesystem::__detail::__is_path_src): Replace overloaded function - template with variable template and specializations. - (filesystem::__detail::__is_path_iter_src): Replace alias template - with class template. - (filesystem::__detail::_Path): Use __is_path_src. Remove support for - iterator pairs. - (filesystem::__detail::_Path2): New alias template for checking - InputIterator requirements. - (filesystem::__detail::__constructible_from): Remove. - (filesystem::path): Replace _Path with _Path2. - * testsuite/27_io/filesystem/path/construct/80762.cc: Check with two - constructor arguments of void and void* types. - -2020-05-21 Matthias Kretz - - * testsuite/Makefile.am: Remove dup target_triplet and set tool, - allowing runtest to work without arguments. - * testsuite/Makefile.in: Regenerate. - -2020-05-21 Jonathan Wakely - - PR libstdc++/93983 - * include/bits/iterator_concepts.h (__detail::__cpp17_iterator): - Reorder constraints to avoid recursion when constructors use - iterator_traits (LWG 3420). - * testsuite/24_iterators/customization_points/lwg3420.cc: New test. - - * include/experimental/socket (basic_socket::is_open() - (basic_socket_acceptor::is_open()): Use _GLIBCXX_NODISCARD macro. - - * include/experimental/bits/net.h (__endpoint, __protocol) - (__acceptable_protocol, __inet_protocol): New concepts. - (__detail::__is_endpoint): Move trait from . - (__is_protocol, __is_acceptable_protocol, __is_inet_protocol): New - traits. - (__endpoint, __protocol, __acceptable_protocol): New variable - templates. - * include/experimental/socket (__is_endpoint): Move to net.h header. - (basic_socket, basic_socket_acceptor): Check requirements. - - * include/experimental/executor (use_future_t::use_future_t()): Fix - incorrect noexcept-specifier. - * include/experimental/internet (basic_resolver_results): Adjust - whitespace. - * include/experimental/socket (__basic_socket_impl::release): Add - member function. - (basic_socket(io_context&, const endpoint_type&)): Fix argument to - target constructor. - (basic_socket::release(), basic_socket::release(error_code&)): Add - missing member functions. - (basic_socket::is_open()): Add nodiscard attribute. - (basic_socket::close(error_code&)): Pass argument to base function. - (basic_socket_acceptor::release()) - (basic_socket_acceptor::release(error_code&)): Add missing member - functions. - (basic_socket_acceptor::is_open()): Add nodiscard attribute. - (basic_socket_streambuf::error()): Add noexcept. - (basic_socket_iostream::error()): Likewise. - * testsuite/experimental/net/socket/basic_socket.cc: New test. - - * include/experimental/buffer: Replace typedefs with - alias-declarations. - * include/experimental/executor: Likewise. - * include/experimental/internet: Likewise. - * include/experimental/socket: Likewise. - * include/experimental/timer: Likewise. - -2020-05-19 Jonathan Wakely - - PR libstdc++/94087 - * src/c++11/random.cc (__x86_rdseed): Allow fallback function to be - passed in. - (__x86_rdseed_rdrand): New function that uses rdseed with rdrand - fallback. - (random_device::_M_init): Use __x86_rdseed_rdrand when both - instructions are available. - * testsuite/26_numerics/random/random_device/94087.cc: New test. - -2020-05-19 Patrick Palka - - PR c++/66439 - * testsuite/20_util/pair/astuple/get_neg.cc: Prune "type/value - mismatch" messages. - * testsuite/20_util/tuple/element_access/get_neg.cc: Likewise. - -2020-05-15 H.J. Lu - - PR bootstrap/95147 - * configure: Regenerated. - -2020-05-14 H.J. Lu - - * configure: Regenerated. - -2020-05-13 Alexandre Oliva - - PR libstdc++/77691 - * include/experimental/memory_resource - (__resource_adaptor_imp::do_allocate): Handle max_align_t on - x86-vxworks as on x86-solaris. - (__resource_adaptor_imp::do_deallocate): Likewise. - * testsuite/experimental/memory_resource/new_delete_resource.cc: - Drop xfail. - (BAD_MAX_ALIGN_T): Define on x86-vxworks as on x86-solaris. - (test03): Drop max-align test for char-aligned alloc. - -2020-05-08 Ulrich Drepper - - * include/bits/atomic_base.h (atomic_flag): Implement test member - function. - * include/std/version: Define __cpp_lib_atomic_flag_test. - * testsuite/29_atomics/atomic_flag/test/explicit.cc: New file. - * testsuite/29_atomics/atomic_flag/test/implicit.cc: New file. - -2020-05-07 Jonathan Wakely - - PR libstdc++/94971 (partial) - * include/bits/ranges_algo.h (ranges::__sample_fn): Qualify - std::sample using macro to work in parallel mode. - (__sort_fn): Likewise for std::sort. - (ranges::__nth_element_fn): Likewise for std::nth_element. - * include/bits/stl_algobase.h (lexicographical_compare_three_way): - Likewise for std::__min_cmp. - * include/parallel/algobase.h (lexicographical_compare_three_way): - Add to namespace std::__parallel. - - PR c/92472 - * include/parallel/multiway_merge.h (_GuardedIterator::operator*) - (_GuardedIterator::operator _RAIter, _UnguardedIterator::operator*) - (_UnguardedIterator::operator _RAIter): Add const qualifier. - (operator<(_GuardedIterator&, _GuardedIterator&) - (operator<=(_GuardedIterator&, _GuardedIterator&) - (operator<(_UnguardedIterator&, _UnguardedIterator&) - (operator<=(_UnguardedIterator&, _UnguardedIterator&): Change - parameters to const references. - -2020-05-07 Eric Botcazou - - * config/abi/post/sparc64-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/sparc64-linux-gnu/32/baseline_symbols.txt: Likewise. - -2020-05-06 François Dumont - - * include/bits/stl_algobase.h (struct _Bit_iterator): New declaration. - (std::__fill_a1(_Bit_iterator, _Bit_iterator, const bool&)): Likewise. - * include/bits/stl_bvector.h (__fill_bvector): Move outside - _GLIBCXX_STD_C namespace. - (fill(_Bit_iterator, _Bit_iterator, const bool&)): Likewise and rename - into... - (__fill_a1): ...this. - * testsuite/25_algorithms/fill/bvector/1.cc: New. - -2020-05-06 H.J. Lu - - * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated. - -2020-05-06 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. - -2020-05-06 Martin Liska - - Revert: - 2020-05-05 Martin Liska - PR c/92472 - * include/parallel/multiway_merge.h: - Use const for _Compare template argument. - -2020-05-06 Jonathan Wakely - - * doc/xml/manual/abi.xml (abi.versioning.history): Document library - versions for GCC 9.[123] and 10.1 releases. - * doc/html/*: Regenerate. - -2020-05-06 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/aarch64-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. - -2020-05-05 Martin Liska - - PR c/92472 - * include/parallel/multiway_merge.h: - Use const for _Compare template argument. - -2020-05-04 Fangrui Song - - * libsupc++/cxxabi.h (__cxa_finalize): Fix return type. - -2020-05-04 Jonathan Wakely - - * doc/xml/faq.xml: Use working link for SGI STL FAQ. - * doc/html/*: Regenerate. - - PR libstdc++/94906 - * src/c++17/memory_resource.cc - (monotonic_buffer_resource::_Chunk::release): Use size_t for shift - operands. - -2020-05-04 Nathan Sidwell - - PR libstdc++/94747 - * libsupc++/dyncast.cc (__dynamic_cast): Cast offsetof to - ptrdiff_t before negation, to show intent more clearly. - -2020-05-04 Jonathan Wakely - - PR libstdc++/94936 - * src/c++17/memory_resource.cc (synchronized_pool_resource::_TPools): - Add comment about single-threaded behaviour. - (synchronized_pool_resource::_TPools::move_nonempty_chunks()): Hoist - class member access out of loop. - (synchronized_pool_resource::synchronized_pool_resource()) - (synchronized_pool_resource::~synchronized_pool_resource()) - (synchronized_pool_resource::release()): Check __gthread_active_p - before creating and/or deleting the thread-specific data key. - (synchronized_pool_resource::_M_thread_specific_pools()): Adjust - assertions. - (synchronized_pool_resource::do_allocate(size_t, size_t)): Add fast - path for single-threaded case. - (synchronized_pool_resource::do_deallocate(void*, size_t, size_t)): - Likewise. Return if unable to find a pool that owns the allocation. - * testsuite/20_util/synchronized_pool_resource/allocate_single.cc: - New test. - * testsuite/20_util/synchronized_pool_resource/cons_single.cc: New - test. - * testsuite/20_util/synchronized_pool_resource/release_single.cc: New - test. - -2020-05-03 Jonathan Wakely - - PR libstdc++/94933 - * include/bits/stl_algobase.h (__fill_a1): Make overload for byte types - usable in constant expressions. - * testsuite/25_algorithms/fill_n/constexpr.cc: Test with bytes and - non-scalars. - -2020-05-01 Jonathan Wakely - - PR libstdc++/94901 - * testsuite/17_intro/badnames.cc: Test values between _E9 and _E24 too. - -2020-05-01 Jonathan Wakely - Patrick Palka - - PR libstdc++/92894 - * include/bits/iterator_concepts.h (ranges::__cust_imove::_IMove): - Add trait to determine return type and an alias for it. - (ranges::__cust_imove::_IMove::operator()): Use __result instead of - deduced return type. - (iter_rvalue_reference_t): Use _IMove::__type instead of checking - the result of ranges::iter_move. - (__detail::__indirectly_readable_impl): Use iter_rvalue_reference_t - instead of checking the result of ranges::iter_move. - * testsuite/24_iterators/customization_points/92894.cc: New test. - * testsuite/24_iterators/indirect_callable/92894.cc: New test. - -2020-05-01 Jonathan Wakely - - PR libstdc++/94901 - * include/std/type_traits (__is_complete_or_unbounded): Replace - BADNAME _T with _Tp. - * testsuite/17_intro/badnames.cc: New test. - -2020-04-30 Jonathan Wakely - - PR libstdc++/89510 - * include/bits/alloc_traits.h (allocator_traits::_S_construct) - (allocator_traits::_S_destroy) - (allocator_traits>::construct): Use traits in - noexcept-specifiers. - * include/bits/allocator.h (allocator::construct) - (allocator::destroy): Likewise. - * include/ext/malloc_allocator.h (malloc_allocator::construct) - (malloc_allocator::destroy): Likewise. - * include/ext/new_allocator.h (new_allocator::construct) - (new_allocator::destroy): Likewise. - * testsuite/20_util/allocator/89510.cc: New test. - * testsuite/ext/malloc_allocator/89510.cc: New test. - * testsuite/ext/new_allocator/89510.cc: New test. - -2020-04-29 Jonathan Wakely - - PR libstdc++/94854 - * include/bits/basic_string.tcc: Update comment about explicit - instantiations. - -2020-04-28 Jonathan Wakely - - PR libstdc++/91480 - * include/bits/allocator.h (__cpp_lib_allocator_is_always_equal): - Remove non-standard macro. - * include/bits/stl_iterator.h (__cpp_lib_constexpr_iterator): Define - to indicate P1032R1 support. - * include/bits/stl_pair.h (__cpp_lib_constexpr_utility): Likewise. - * include/std/string_view (__cpp_lib_constexpr_string_view): Likewise. - * include/std/tuple (__cpp_lib_constexpr_tuple): Likewise. - * include/std/version (__cpp_lib_allocator_is_always_equal): Remove. - (__cpp_lib_constexpr_iterator, __cpp_lib_constexpr_string_view) - (__cpp_lib_constexpr_tuple, __cpp_lib_constexpr_utility): Define. - * testsuite/20_util/function_objects/constexpr_searcher.cc: Check - feature test macro. - * testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc: Likewise. - * testsuite/21_strings/basic_string_view/operations/copy/char/ - constexpr.cc: Likewise. - * testsuite/24_iterators/insert_iterator/constexpr.cc: Likewise. - - PR libstdc++/94831 - * include/bits/alloc_traits.h (_S_construct): Restore placement - new-expression for C++11/14/17 and call std::construct_at directly - for C++20. - * include/bits/stl_construct.h (_Construct): Revert to non-constexpr - function returning void. - * testsuite/20_util/specialized_algorithms/ - uninitialized_value_construct/94831.cc: New test. - * testsuite/23_containers/vector/cons/94831.cc: New test. - -2020-04-28 Patrick Palka - - LWG 3433 subrange::advance(n) has UB when n < 0 - * include/std/ranges (subrange::prev): Fix typo. - (subrange::advance): Handle a negative argument as per the proposed - resolution of LWG 3433. - * testsuite/std/ranges/subrange/lwg3433.cc: New test. - -2020-04-28 Jonathan Wakely - Iain Sandoe - - PR c++/94759 - * include/std/coroutine: Implement handing for non- - class coroutine return types. - -2020-04-24 Jonathan Wakely - - * include/experimental/executor (service_already_exists): Make default - constructor public (LWG 3414). - * testsuite/experimental/net/execution_context/make_service.cc: Check - the service_already_exists can be default constructed. - -2020-04-24 Kamlesh Kumar - Jonathan Wakely - - PR libstdc++/90415 - PR libstdc++/92156 - * include/std/any (any): Rename template parameters for consistency - with the standard. - (any::_Decay): Rename to _Decay_if_not_any. - (any::any(T&&):: Remove is_constructible from constraints. Remove - non-standard overload. - (any::any(in_place_type_t, Args&&...)) - (any::any(in_place_type_t, initializer_list, Args&&...)) - (any::emplace(Args&&...)) - (any::emplace(initializer_list, Args&&...)): - Use decay_t instead of _Decay. - * testsuite/20_util/any/cons/90415.cc: New test. - * testsuite/20_util/any/cons/92156.cc: New Test. - * testsuite/20_util/any/misc/any_cast_neg.cc: Make dg-error directives - more robust. - * testsuite/20_util/any/modifiers/92156.cc: New test. - -2020-04-23 Jonathan Wakely - - * doc/xml/manual/status_cxx2020.xml: Update C++20 status table. - * doc/html/*: Regenerate. - - * include/bits/stl_iterator.h (__cpp_lib_array_constexpr): Revert - value for C++17 to 201803L because P0858R0 is supported for C++17. - * include/std/version (__cpp_lib_array_constexpr): Likewise. - * testsuite/23_containers/array/element_access/constexpr_c++17.cc: - Check for value corresponding to P0031R0 features being tested. - * testsuite/23_containers/array/requirements/constexpr_iter.cc: - Check for value corresponding to P0858R0 features being tested. - - * include/std/version (__cpp_lib_three_way_comparison): Define for - freestanding builds. - -2020-04-23 Thomas Rodgers - - * include/experimental/net/executor (system_context): Mark - system_context::system_context() = delete. - * testsuite/experimental/net/executor/1.cc: Add new - test to check system_context is not default constructible. - -2020-04-23 Iain Sandoe - - * include/std/coroutine: Update the inline namespace to __n4861. - Add the __cpp_lib_coroutine define, set to 201902L. - * include/std/version: Add __cpp_lib_coroutine, set to 201902L. - -2020-04-22 Jonathan Wakely - - * include/std/execution (__cpp_lib_execution): Define to indicate - support for P0024R2 and P1001R2. - * include/std/version (__cpp_lib_execution): Define. - * testsuite/25_algorithms/pstl/feature_test.cc: Only test macro - defined by , move other tests to new tests ... - * testsuite/25_algorithms/pstl/feature_test-2.cc: New test. - * testsuite/25_algorithms/pstl/feature_test-3.cc: New test. - * testsuite/25_algorithms/pstl/feature_test-4.cc: New test. - * testsuite/25_algorithms/pstl/feature_test-5.cc: New test. - - * include/bits/stl_iterator.h (__cpp_lib_array_constexpr): Define - different values for C++17 and C++20, to indicate different feature - sets. Update value for C++20 to indicate P1032R1 support. - * include/std/version (__cpp_lib_array_constexpr): Likewise. - * testsuite/23_containers/array/comparison_operators/constexpr.cc: - Check feature test macro. - * testsuite/23_containers/array/element_access/constexpr_c++17.cc: - New test. - * testsuite/23_containers/array/requirements/constexpr_fill.cc: Check - feature test macro. - * testsuite/23_containers/array/requirements/constexpr_iter.cc: Test - in C++17 mode and check feature test macro. - - * include/std/utility (__cpp_lib_constexpr_algorithms): Do not define - here. - * testsuite/20_util/exchange/constexpr.cc: Do not expect macro to be - defined by . - - * include/std/functional (__cpp_lib_concepts): Update macro value to - indicate P1964R2 support. - * include/std/version (__cpp_lib_concepts): Likewise. - * testsuite/std/concepts/1.cc: Adjust expected value. - * testsuite/std/concepts/2.cc: Likewise. - - * include/std/functional (__cpp_lib_constexpr_invoke): Rename to - __cpp_lib_constexpr_functional. - * include/std/version (__cpp_lib_constexpr_invoke): Likewise. - * testsuite/20_util/function_objects/invoke/constexpr.cc: Adjust. - - * include/bits/ptr_traits.h (__cpp_lib_constexpr_memory): Define to - indicate P1006R1 support. - (__cpp_lib_to_address): Define to indicate P0653R2 support. - * include/bits/range_access.h (__cpp_lib_ssize): Define to indicate - P1227R2 support. - * include/bits/ranges_algo.h (__cpp_lib_shift): Define to indicate - P0769R2 support. - * include/std/atomic (__cpp_lib_atomic_float): Define to indicate - P0020R6 support. - * include/std/memory (__cpp_lib_assume_aligned): Define to indicate - P1007R3 support. - * include/std/memory_resource (__cpp_lib_polymorphic_allocator): - Define to indicate P0339R6 support. - * include/std/string_view (__cpp_lib_starts_ends_with): Define to - indicate P0457R2 support. - * include/std/type_traits (__cpp_lib_is_nothrow_convertible): Define - to indicate P0758R1 support. - (__cpp_lib_remove_cvref): Define to indicate P0550R2 support. - (__cpp_lib_type_identity): Define to indicate P0887R1 support. - * include/std/version (__cpp_lib_atomic_float) - (__cpp_lib_is_nothrow_convertible, __cpp_lib_remove_cvref) - (__cpp_lib_type_identity, __cpp_lib_assume_aligned) - (__cpp_lib_constexpr_memory, __cpp_lib_polymorphic_allocator) - (__cpp_lib_shift, __cpp_lib_ssize, __cpp_lib_starts_ends_with) - (__cpp_lib_to_address): Define. - * testsuite/20_util/to_address/1_neg.cc: Adjust dg-error line number. - - * include/bits/stl_map.h (__cpp_lib_map_insertion): Remove old - macro. - * include/bits/unordered_map.h (__cpp_lib_unordered_map_insertion): - Likewise. - * include/std/version (__cpp_lib_map_insertion) - (__cpp_lib_unordered_map_insertion): Remove. - - * include/std/condition_variable (__cpp_lib_jthread): Remove - redundant definition. - * include/std/stop_token (__cpp_lib_jthread): Update macro value to - indicate P1869R1 support. - * include/std/version (__cpp_lib_jthread): Update value. - * testsuite/30_threads/condition_variable_any/stop_token/1.cc: Check - for updated macro value. - * testsuite/30_threads/condition_variable_any/stop_token/2.cc: - Likewise. - * testsuite/30_threads/jthread/1.cc: Likewise. - * testsuite/30_threads/jthread/2.cc: Likewise. - * testsuite/30_threads/stop_token/1.cc: Likewise. - * testsuite/30_threads/stop_token/2.cc: Likewise. - - * testsuite/21_strings/basic_string/erasure.cc: Check for - __cpp_lib_erase_if macro. - * testsuite/23_containers/deque/erasure.cc: Add header name to #error - messages. - * testsuite/23_containers/forward_list/erasure.cc: Likewise. - * testsuite/23_containers/list/erasure.cc: Likewise. - * testsuite/23_containers/map/erasure.cc: Likewise. - * testsuite/23_containers/set/erasure.cc: Likewise. - * testsuite/23_containers/unordered_map/erasure.cc: Likewise. - * testsuite/23_containers/unordered_set/erasure.cc: Likewise. - * testsuite/23_containers/vector/erasure.cc: Likewise. - -2020-04-21 Jonathan Wakely - - * include/bits/stl_iterator.h (__normal_iterator): Use synth-three-way - to define operator<=>. - * testsuite/24_iterators/normal_iterator/cmp_c++20.cc: New test. - - * doc/Makefile.am (xml_sources_manual): Add missing XML files. - * doc/Makefile.in: Regenerate. - * doc/xml/manual/status_cxx1998.xml: Refer to "this section" instead - of "this page". - * doc/xml/manual/status_cxx2011.xml: Formatting and other corrections - to the C++11 status table. - * doc/xml/manual/status_cxx2014.xml: Replace list of C++14 feature - proposals with table matching contents of the C++14 standard. - * doc/xml/manual/status_cxx2017.xml: Add table matching contents of - the C++17 standard. - * doc/html/*: Regenerate. - - PR c++/94149 - * include/std/type_traits (__is_nt_constructible_impl): Add partial - specializations for bounded arrays with non-empty initializers. - * testsuite/20_util/is_nothrow_constructible/value_c++20.cc: New test. - -2020-04-20 Thomas Rodgers - - * testsuite/lib/libstdc++.exp: Add additional_flags= - -DTBB_SUPRESS_DEPRECATED_MESSAGES=1 to suppress warnings when - compiling with a newer Thread Building Blocks. - -2020-04-20 Jonathan Wakely - - * testsuite/24_iterators/istreambuf_iterator/sentinel.cc: New test. - - * testsuite/20_util/is_constructible/51185.cc: Make test class a - non-aggregate so that the test verifies the same thing in all -std - modes. - * testsuite/20_util/is_constructible/value-2.cc: Adjust expected - results for some types when paren-init for aggregates is supported. - - * include/std/version (__cpp_lib_three_way_comparison): Update value. - * libsupc++/compare (__cpp_lib_three_way_comparison): Likewise. - (__detail::__synth3way): Add noexcept-specifier. - - * include/bits/stl_map.h (map): Define operator<=> and remove - operator< for C++20. - * include/bits/stl_multimap.h (multimap): Likewise. - * include/bits/stl_multiset.h (multiset): Likewise. - * include/bits/stl_set.h (set): Likewise. - * include/bits/stl_tree.h (_Rb_tree): Likewise. - (_Rb_tree_iterator, _Rb_tree_const_iterator): Remove redundant - operator!= for C++20. - * include/debug/map.h (__gnu_debug::map): Define operator<=> for C++20. - * include/debug/multimap.h (__gnu_debug::multimap): Likewise. - * include/debug/multiset.h (__gnu_debug::multiset): Likewise. - * include/debug/set.h (__gnu_debug::set): Likewise. - * testsuite/23_containers/map/operators/cmp_c++20.cc: New test. - * testsuite/23_containers/multimap/operators/cmp_c++20.cc: New test. - * testsuite/23_containers/multiset/operators/cmp_c++20.cc: New test. - * testsuite/23_containers/set/operators/cmp_c++20.cc: New test. - -2020-04-20 Matthias Kretz - - * testsuite/lib/libstdc++.exp: Avoid illegal argument to verbose. - -2020-04-19 Jonathan Wakely - - * include/bits/stl_queue.h (queue): Define operator<=> for C++20. - * include/bits/stl_stack.h (stack): Likewise. - * testsuite/23_containers/queue/cmp_c++20.cc: New test. - * testsuite/23_containers/stack/cmp_c++20.cc: New test. - - * include/bits/unordered_map.h (unordered_map, unordered_multimap): - Remove redundant operator!= for C++20. - * include/bits/unordered_set.h (unordered_set, unordered_multiset): - Likewise. - * include/debug/unordered_map (unordered_map, unordered_multimap): - Likewise. - * include/debug/unordered_set (unordered_set, unordered_multiset): - Likewise. - - PR other/94629 - * include/debug/formatter.h (_Error_formatter::_Parameter): Fix - redundant assignment in constructor. - -2020-04-18 Jonathan Wakely - - * include/std/chrono (duration, time_point): Define operator<=> and - remove redundant operator!= for C++20. - * testsuite/20_util/duration/comparison_operators/three_way.cc: New - test. - * testsuite/20_util/time_point/comparison_operators/three_way.cc: New - test. - - * testsuite/util/native_type/native_priority_queue.hpp: Use - allocator_traits to rebind allocator. - -2020-04-17 Jonathan Wakely - - * include/bits/forward_list.h (forward_list): Define operator<=> and - remove redundant comparison operators for C++20. - * include/bits/stl_bvector.h (vector): Likewise. - * include/bits/stl_deque.h (deque): Likewise. - * include/bits/stl_iterator.h (__normal_iterator): Likewise. - * include/bits/stl_list.h (list): Likewise. - * include/bits/stl_vector.h (vector): Likewise. - * include/debug/deque (__gnu_debug::deque): Likewise. - * include/debug/forward_list (__gnu_debug::forward_list): Likewise. - * include/debug/list (__gnu_debug::list): Likewise. - * include/debug/safe_iterator.h (__gnu_debug::_Safe_iterator): - Likewise. - * include/debug/vector (__gnu_debug::vector): Likewise. - * include/ext/pointer.h (__gnu_cxx::_Pointer_adapter): Define - operator<=> for C++20. - * testsuite/23_containers/deque/operators/cmp_c++20.cc: New test. - * testsuite/23_containers/forward_list/cmp_c++20.cc: New test. - * testsuite/23_containers/list/cmp_c++20.cc: New test. - * testsuite/23_containers/vector/bool/cmp_c++20.cc: New test. - * testsuite/23_containers/vector/cmp_c++20.cc: New test. - - * include/bits/basic_string.h (basic_string): Define operator<=> and - remove redundant comparison operators for C++20. - * include/bits/char_traits.h (__gnu_cxx::char_traits, char_traits): - Add comparison_category members. - (__detail::__char_traits_cmp_cat): New helper to get comparison - category from char traits class. - * include/bits/regex.h (regex_traits::_RegexMask::operator!=): Do not - define for C++20. - (sub_match): Define operator<=> and remove redundant comparison - operators for C++20. - (match_results): Remove redundant operator!= for C++20. - * include/std/string_view (basic_string_view): Define operator<=> and - remove redundant comparison operators for C++20. - * testsuite/21_strings/basic_string/operators/char/cmp_c++20.cc: New - test. - * testsuite/21_strings/basic_string/operators/wchar_t/cmp_c++20.cc: - New test. - * testsuite/21_strings/basic_string_view/operations/copy/char/ - constexpr.cc: Initialize variable. - * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/ - constexpr.cc: Likewise. - * testsuite/21_strings/basic_string_view/operators/char/2.cc: Add - dg-do directive and remove comments showing incorrect signatures. - * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operators/char/cmp_c++20.cc: - New test. - * testsuite/21_strings/basic_string_view/operators/wchar_t/cmp_c++20.cc: - New test. - * testsuite/28_regex/sub_match/compare_c++20.cc: New test. - -2020-04-16 Jonathan Wakely - - * testsuite/20_util/unsynchronized_pool_resource/allocate.cc: Remove - name of unused parameter. - -2020-04-15 Jonathan Wakely - - * include/bits/fs_dir.h (file_status): Define operator== for C++20. - (directory_entry): Define operator<=> and remove redundant comparison - operators for C++20. - * include/bits/fs_fwd.h (space_info): Define operator== for C++20. - * include/bits/fs_path.h (path): Define operator<=> and remove - redundant comparison operators for C++20. - * testsuite/27_io/filesystem/path/compare/compare.cc: Fix comment. - * 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. - - * include/bits/allocator.h (operator!=): Do not define for C++20. - * include/bits/locale_classes.h (operator!=): Likewise. - * include/bits/std_function.h (operator==(nullptr_t, const function&)) - (operator!=(const function&, nullptr_t)) - (operator!=(nullptr_t, const function&)): Likewise. - * include/ext/bitmap_allocator.h (operator!=): Likewise. - * include/ext/debug_allocator.h (operator!=): Likewise. - * include/ext/extptr_allocator.h (operator!=): Likewise. - * include/ext/malloc_allocator.h (operator!=): Likewise. - * include/ext/mt_allocator.h (operator!=): Likewise. - * include/ext/new_allocator.h (operator!=): Likewise. - * include/ext/pool_allocator.h (operator!=): Likewise. - * include/ext/throw_allocator.h (operator!=): Likewise. - * include/std/bitset (bitset::operator!=): Likewise. - * include/std/memory_resource (operator!=): Likewise. - * include/std/scoped_allocator (operator!=): Likewise. - - * include/std/typeindex (operator<=>): Define for C++20. - * testsuite/20_util/typeindex/comparison_operators_c++20.cc: New test. - -2020-04-14 Jonathan Wakely - - * libsupc++/compare (compare_three_way): Fix constraint so that - BUILTIN-PTR-THREE-WAY does not require three_way_comparable_with. - * testsuite/18_support/comparisons/object/builtin-ptr-three-way.cc: - New test. - - PR libstdc++/94562 - * include/bits/shared_ptr.h (operator<=>): Define for C++20. - * include/bits/shared_ptr_base.h (operator<=>): Likewise. - * include/bits/unique_ptr.h (operator<=>): Add inline specifier. - * testsuite/20_util/shared_ptr/comparison/cmp_c++20.cc: New test. - * testsuite/20_util/shared_ptr/comparison/less.cc: Do not expect - std::less to be used when comparing std::shared_ptr objects in - C++20. - - PR libstdc++/94565 - * libsupc++/compare (__unspec): Add noexcept-specifier to constructor. - * testsuite/18_support/comparisons/categories/94565.cc: New test. - -2020-04-13 Iain Sandoe - - * include/std/coroutine: Update coroutines builtin define, - per n4861. - -2020-04-09 Jonathan Wakely - - * libsupc++/compare (compare_three_way): Fix noexcept-specifier. - (strong_order, weak_order, partial_order): Replace uses of <=> with - compare_three_way function object (LWG 3324). - * testsuite/18_support/comparisons/algorithms/partial_order.cc: Add - equality operator so that X satisfies three_way_comparable. - * testsuite/18_support/comparisons/algorithms/strong_order.cc: - Likewise. - * testsuite/18_support/comparisons/algorithms/weak_order.cc: Likewise. - - * include/bits/unique_ptr.h (operator<=>): Define for C++20. - * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line. - * testsuite/20_util/default_delete/void_neg.cc: Likewise. - * testsuite/20_util/unique_ptr/comparison/compare.cc: New test. - * testsuite/20_util/unique_ptr/comparison/compare_c++20.cc: New test. - -2020-04-08 Jonathan Wakely - - * include/bits/slice_array.h (operator==(const slice&, const slice&)): - Define for C++20. - * include/std/complex (operator==(const T&, const complex&)) - (operator!=(const complex&, const complex&)) - (operator!=(const complex&, const T&)) - (operator!=(const T&, const complex&)): Do not declare for C++20. - * testsuite/26_numerics/slice/compare.cc: New test. - - * include/std/charconv (to_chars_result, from_chars_result): Add - defaulted equality comparisons for C++20. - * testsuite/20_util/from_chars/compare.cc: New test. - * testsuite/20_util/to_chars/compare.cc: New test. - -2020-04-07 Jonathan Wakely - - PR libstdc++/94520 - * include/std/charconv (__integer_to_chars_result_type) - (__integer_from_chars_result_type): Use __or_ instead of __or_v_ to - allow use in C++14. - * testsuite/20_util/from_chars/1.cc: Run test as C++14 and replace - use of std::string_view with std::string. - * testsuite/20_util/from_chars/2.cc: Likewise. - * testsuite/20_util/to_chars/1.cc: Likewise. - * testsuite/20_util/to_chars/2.cc: Likewise. - -2020-04-06 Jonathan Wakely - - PR libstdc++/94498 - * include/bits/char_traits.h (__gnu_cxx::char_traits::move): Make it - usable in constant expressions for C++20. - (__gnu_cxx::char_traits::copy, __gnu_cxx::char_traits::assign): Add - _GLIBCXX20_CONSTEXPR. - (std::char_traits, std::char_traits) - (std::char_traits): Make move, copy and assign usable in - constant expressions for C++20. - (std::char_traits, std::char_traits): Make move - and copy usable in constant expressions for C++20. - * include/std/string_view (basic_string_view::copy): Add - _GLIBCXX20_CONSTEXPR. - * testsuite/21_strings/basic_string_view/operations/copy/char/ - constexpr.cc: New test. - * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/ - constexpr.cc: New test. - -2020-04-05 Gerald Pfeifer - - * doc/xml/manual/appendix_contributing.xml: Refer to Git - documentation instead of Subversion. Switch to https. - * doc/html/manual/appendix_contributing.html: Regenerate. - -2020-04-03 Jonathan Wakely - - PR libstdc++/93960 - * include/bits/ptr_traits.h (__to_address): Add special case for debug - iterators, to avoid dereferenceable check. - * testsuite/20_util/to_address/1_neg.cc: Adjust dg-error line number. - * testsuite/20_util/to_address/debug.cc: New test. - -2020-04-01 Andrea Corallo - - * testsuite/experimental/net/execution_context/use_service.cc: - Require pthread and gthreads. - -2020-04-01 Gerald Pfeifer - - * doc/xml/manual/appendix_free.xml: Move "free books" list from - fsf.org to gnu.org. - * doc/html/manual/appendix_free.html: Regenerate. - -2020-03-31 Ville Voutilainen - - Library-side tests for parenthesized aggregate init - - PR c++/92878 - PR c++/92947 - - * testsuite/20_util/allocator_traits/members/92878_92947.cc: New. - * testsuite/20_util/any/assign/92878_92947.cc: Likewise. - * testsuite/20_util/any/cons/92878_92947.cc: Likewise. - * testsuite/20_util/is_constructible/92878_92947.cc: Likewise. - * testsuite/20_util/optional/assignment/92878_92947.cc: Likewise. - * testsuite/20_util/optional/cons/92878_92947.cc: Likewise. - * testsuite/20_util/pair/cons/92878_92947.cc: Likewise. - * testsuite/20_util/shared_ptr/creation/92878_92947.cc: Likewise. - * testsuite/20_util/specialized_algorithms/construct_at/92878_92947.cc: - Likewise. - * testsuite/20_util/unique_ptr/creation/92878_92947.cc: Likewise. - * testsuite/20_util/uses_allocator/92878_92947.cc: Likewise. - * testsuite/20_util/variant/92878_92947.cc: Likewise. - * testsuite/23_containers/deque/modifiers/emplace/92878_92947.cc: - Likewise. - * testsuite/23_containers/forward_list/modifiers/92878_92947.cc: - Likewise. - * testsuite/23_containers/list/modifiers/emplace/92878_92947.cc: - Likewise. - * testsuite/23_containers/map/modifiers/emplace/92878_92947.cc: - Likewise. - * testsuite/23_containers/multimap/modifiers/emplace/92878_92947.cc: - Likewise. - * testsuite/23_containers/multiset/modifiers/emplace/92878_92947.cc: - Likewise. - * testsuite/23_containers/priority_queue/92878_92947.cc: Likewise. - * testsuite/23_containers/queue/92878_92947.cc: Likewise. - * testsuite/23_containers/set/modifiers/emplace/92878_92947.cc: - Likewise. - * testsuite/23_containers/stack/92878_92947.cc: Likewise. - * testsuite/23_containers/unordered_map/modifiers/92878_92947.cc: - Likewise. - * testsuite/23_containers/unordered_multimap/modifiers/92878_92947.cc: - Likewise. - * testsuite/23_containers/unordered_multiset/modifiers/92878_92947.cc: - Likewise. - * testsuite/23_containers/unordered_set/modifiers/92878_92947.cc: - Likewise. - * testsuite/23_containers/vector/modifiers/emplace/92878_92947.cc: - Likewise. - -2020-03-28 Jonathan Wakely - - * testsuite/20_util/is_constructible/value-2.cc: Fix test to account - for changes due to parenthesized aggregate-initialization in C++20. - * testsuite/20_util/time_point/cons/81468.cc: Fix test to not clash - with std::chrono::sys_time in C++20. - - * include/bits/stl_iterator.h (reverse_iterator): Use requires-clause - to constrain C++20 versions of comparison operators. Fix backwards - logic of relational operators. - (move_iterator): Use requires-clause to constrain comparison operators - in C++20. Do not declare non-standard same-type overloads for C++20. - * testsuite/24_iterators/move_iterator/rel_ops_c++20.cc: Check result - of comparisons and check using greedy_ops type. - * testsuite/24_iterators/reverse_iterator/rel_ops_c++20.cc: Likewise. - * testsuite/24_iterators/move_iterator/greedy_ops.cc: Remove redundant - main function from compile-only test. - * testsuite/24_iterators/reverse_iterator/greedy_ops.cc: Likewise. - -2020-03-27 Jonathan Wakely - - * include/bits/range_cmp.h (__cpp_lib_ranges): Define. - * include/bits/stl_iterator.h: Check value of __cpp_concepts so that - C++20 concepts are required. - * include/bits/stl_iterator_base_types.h: Likewise. - * include/std/concepts: Likewise. - * include/std/version: Likewise. - * testsuite/std/ranges/headers/ranges/synopsis.cc: Check feature test - macro. - - * include/bits/stl_iterator.h (reverse_iterator::iterator_concept) - (reverse_iterator::iterator_category): Define for C++20. - (reverse_iterator): Define comparison operators correctly for C++20. - (__normal_iterator): Add constraints to comparison operators for C++20. - (move_iterator::operator++(int)) [__cpp_lib_concepts]: Define new - overload for input iterators. - (move_iterator): Add constraints to comparison operators for C++20. - Define operator<=> for C++20. - * testsuite/24_iterators/move_iterator/input_iterator.cc: New test. - * testsuite/24_iterators/move_iterator/move_only.cc: New test. - * testsuite/24_iterators/move_iterator/rel_ops_c++20.cc: New test. - * testsuite/24_iterators/reverse_iterator/rel_ops_c++20.cc: New test. - - * include/bits/iterator_concepts.h (__detail::__decay_copy) - (__detail::__member_begin, __detail::__adl_begin): Move here from - . - (__detail::__ranges_begin, __detail::__range_iter_t): Define. - * bits/range_access.h (__cust_access::__decay_copy) - (__cust_access::__member_begin, __cust_access::__adl_begin): Move to - . - (ranges::iterator_t): Use __detail::__range_iter_t. - * include/bits/stl_iterator.h (back_insert_iterator): Simplify - conditional compilation. Add _GLIBCXX20_CONSTEXPR to all members. - (front_insert_iterator): Likewise. - (insert_iterator): Implement changes from P0896R4 for C++20. - * testsuite/24_iterators/back_insert_iterator/constexpr.cc: New test. - * testsuite/24_iterators/front_insert_iterator/constexpr.cc: New test. - * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: Adjust - for inclusion in synopsis_c++20.cc which expects different signatures - for some function templates. - * testsuite/24_iterators/insert_iterator/constexpr.cc: New test. - - * include/std/type_traits (__is_array_convertible): Move definition - to immediately after is_convertible. - -2020-03-26 Jonathan Wakely - - * include/std/chrono (chrono::days, chrono::weeks, chrono::years) - (chrono::months, chrono::sys_days, chrono::local_t) - (chrono::local_time, chrono::local_seconds, chrono::local_days): - Define for C++20. - (chrono::time_point): Add missing static assert. - * testsuite/20_util/time_point/requirements/duration_neg.cc: New test. - * testsuite/std/time/clock/file/overview.cc: New test. - * testsuite/std/time/clock/file/members.cc: New test. - * testsuite/std/time/syn_c++20.cc: New test. - -2020-03-25 Mike Crowe - - * testsuite/30_threads/shared_timed_mutex/try_lock_until/1.cc: New - test. - * testsuite/30_threads/shared_timed_mutex/try_lock_until/2.cc: New - test. - -2020-03-25 Jonathan Wakely - - * include/bits/fs_fwd.h (filesystem::__file_clock): Move to ... - * include/std/chrono (filesystem::__file_clock): Here. - (filesystem::__file_clock::from_sys, filesystem::__file_clock::to_sys): - Define public member functions for C++20. - (is_clock, is_clock_v): Define traits for C++20. - * include/std/condition_variable (condition_variable::wait_until): Add - check for valid clock. - * include/std/future (_State_baseV2::wait_until): Likewise. - * include/std/mutex (__timed_mutex_impl::_M_try_lock_until): Likewise. - * include/std/shared_mutex (shared_timed_mutex::try_lock_shared_until): - Likewise. - * include/std/thread (this_thread::sleep_until): Likewise. - * testsuite/30_threads/condition_variable/members/2.cc: Qualify - slow_clock with new namespace. - * testsuite/30_threads/condition_variable/members/clock_neg.cc: New - test. - * testsuite/30_threads/condition_variable_any/members/clock_neg.cc: - New test. - * testsuite/30_threads/future/members/clock_neg.cc: New test. - * testsuite/30_threads/recursive_timed_mutex/try_lock_until/3.cc: - Qualify slow_clock with new namespace. - * testsuite/30_threads/recursive_timed_mutex/try_lock_until/ - clock_neg.cc: New test. - * testsuite/30_threads/shared_future/members/clock_neg.cc: New - test. - * testsuite/30_threads/shared_lock/locking/clock_neg.cc: New test. - * testsuite/30_threads/shared_timed_mutex/try_lock_until/clock_neg.cc: - New test. - * testsuite/30_threads/timed_mutex/try_lock_until/3.cc: Qualify - slow_clock with new namespace. - * testsuite/30_threads/timed_mutex/try_lock_until/4.cc: Likewise. - * testsuite/30_threads/timed_mutex/try_lock_until/clock_neg.cc: New - test. - * testsuite/30_threads/unique_lock/locking/clock_neg.cc: New test. - * testsuite/std/time/traits/is_clock.cc: New test. - * testsuite/util/slow_clock.h (slow_clock): Move to __gnu_test - namespace. - -2020-03-21 Jonathan Wakely - - PR libstdc++/93245 - * include/experimental/bits/fs_path.h (path::generic_string()): - * testsuite/experimental/filesystem/path/generic/generic_string.cc: - Improve test coverage. - - PR libstdc++/94242 - * include/bits/fs_path.h (path::_S_str_convert): Replace first - parameter with basic_string_view so that strings with different - allocators can be accepted. - (path::generic_string()): Use basic_string object that uses the - right allocator type. - * testsuite/27_io/filesystem/path/generic/94242.cc: New test. - * testsuite/27_io/filesystem/path/generic/generic_string.cc: Improve - test coverage. - -2020-03-18 Jonathan Wakely - - PR libstdc++/94033 - * include/std/type_traits (__is_nt_default_constructible_atom): Remove. - (__is_nt_default_constructible_impl): Remove. - (__is_nothrow_default_constructible_impl): Remove. - (__is_nt_constructible_impl): Add bool template parameter. Adjust - partial specializations. - (__is_nothrow_constructible_impl): Replace class template with alias - template. - (is_nothrow_default_constructible): Derive from alias template - __is_nothrow_constructible_impl instead of - __is_nothrow_default_constructible_impl. - * testsuite/20_util/is_nothrow_constructible/94003.cc: New test. - - * include/std/stop_token (stop_token::_Stop_state_ref): Define - comparison operators explicitly if the compiler won't synthesize them. - - * include/bits/stl_algobase.h (__lexicographical_compare_aux): Check - __cpp_lib_concepts before using iter_reference_t. - * include/bits/stream_iterator.h (istream_iterator): Check - __cpp_lib_concepts before using default_sentinel_t. - * include/bits/streambuf_iterator.h (istreambuf_iterator): Likewise. - - PR libstdc++/94203 - * include/experimental/executor (executor::executor(Executor)): Call - make_shared directly instead of _M_create. Create _Tgt1 object. - (executor::executor(allocator_arg_t, const ProtoAlloc&, Executor)): - Call allocate_shared directly instead of _M_create. Create _Tgt2 - object. - (executor::target_type): Add cast needed for new _Tgt interface. - (executor::target): Define when RTTI is disabled. Use _Tgt::_M_func. - (executor::_Tgt): Define the same interface whether RTTI is enabled or - not. - (executor::_Tgt::target_type, executor::_Tgt::target): Do not use - std::type_info in the interface. - (executor::_Tgt::_M_func): Add data member. - (executor::_TgtImpl): Replace with _Tgt1 and _Tgt2 class templates. - (executor::_Tgt1::_S_func): Define function to access target without - depending on RTTI. - (executor::_M_create): Remove. - (operator==, operator!=): Simplify comparisons for executor. - * include/experimental/socket (is_error_code_enum): - Define specialization before use. - * testsuite/experimental/net/executor/1.cc: New test. - -2020-03-16 Jonathan Wakely - - PR libstdc++/94199 - * include/experimental/executor (service_already_exists): Add default - constructor. Declare make_service to be a friend. - * testsuite/experimental/net/execution_context/make_service.cc: New - test. - -2020-03-12 Jonathan Wakely - - * testsuite/tr1/8_c_compatibility/cstdlib/functions.cc: Do not pass - a null pointer to functions with nonnull(1) attribute. - -2020-03-11 Patrick Palka - - * include/std/ranges (split_view::_OuterIter::_OuterIter): Typo fix, - 'address' -> 'std::__addressof'. - * testsuite/std/ranges/adaptors/split.cc: Test taking the split_view of - a non-forward input_range. - * testsuite/util/testsuite_iterators.h (output_iterator_wrapper): Make - default constructor protected instead of deleted, like with - input_iterator_wrapper. - (test_range::iterator): Add comment explaining that this type is used - only when the underlying wrapper is input_iterator_wrapper or - output_iterator_wrapper. Remove delegating defaulted constructor so - that the inherited default constructor is used instead. - - LWG 3286 ranges::size is not required to be valid after a call to - ranges::begin on an input range - * include/std/ranges (subrange::subrange): Split single-argument - constructor into two, one constrained by _S_store_size and another by - !_S_store_size. - (take_view::begin): Call size() before calling ranges::begin(_M_base). - * testsuite/std/ranges/adaptors/lwg3286.cc: New test. - * testsuite/std/ranges/subrange/lwg3286.cc: New test. - -2020-03-10 Jonathan Wakely - - * include/std/ranges (split_view::_OuterIter::__at_end): Use __current - instead of _M_current. - (split_view::_OuterIter::operator++): Likewise. - - * include/std/ranges (transform_view::_Iterator::__iter_move): Remove. - (transform_view::_Iterator::operator*): Add noexcept-specifier. - (transform_view::_Iterator::iter_move): Inline __iter_move body here. - (split_view::_OuterIter::__current): Add noexcept. - (split_view::_InnerIter::__iter_swap): Remove. - (split_view::_InnerIter::__iter_move): Remove. - (split_view::_InnerIter::_M_i_current): New accessors. - (split_view::_InnerIter::__at_end): Use _M_i_current(). - (split_view::_InnerIter::operator*): Likewise. - (split_view::_InnerIter::operator++): Likewise. - (iter_move(const _InnerIter&)): Likewise. - (iter_swap(const _InnerIter&, const _InnerIter&)): Likewise. - * testsuite/std/ranges/adaptors/split.cc: Check noexcept-specifier - for iter_move and iter_swap on split_view's inner iterator. - - PR c++/94117 - * include/std/ranges (ranges::transform_view::_Iterator::iter_move): - Change expression in noexcept-specifier to match function body. - - * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Add - comment explaining multiple dg-do directives. - * testsuite/24_iterators/ostream_iterator/1.cc: Fix do-do directive - so test is run as well as compiled. - -2020-03-09 Jonathan Wakely - - PR libstdc++/94063 - * src/c++17/fs_path.cc (path::operator+=(const path&)): Add kluge to - handle concatenations that change the type of the first component. - (path::operator+=(basic_string_view)): Likewise. - * testsuite/27_io/filesystem/path/concat/94063.cc: New test. - -2020-03-06 Patrick Palka - - * include/std/ranges (join_view::_Sentinel<_Const>): Befriend - join_view::_Sentinel. - * testsuite/std/ranges/adaptors/join.cc: Augment test. - - PR libstdc++/93978 - * include/bits/range_access.h (__cust_access::_Empty::operator()): - Declare return type to be bool instead of auto. - * testsuite/std/ranges/adaptors/93978.cc: New test. - -2020-03-06 Jonathan Wakely - - PR libstdc++/94069 - * include/std/shared_mutex [!PTHREAD_RWLOCK_INITIALIZER] - (__shared_mutex_pthread::__shared_mutex_pthread()): Remove incorrect - second argument to __glibcxx_rwlock_init. - * testsuite/30_threads/shared_timed_mutex/94069.cc: New test. - - PR libstdc++/93244 - * testsuite/27_io/filesystem/path/generic/generic_string.cc: Adjust - test to not fail due to PR 94063. - * testsuite/27_io/filesystem/path/generic/utf.cc: Likewise. - * testsuite/27_io/filesystem/path/generic/wchar_t.cc: Likewise. - -2020-03-06 Andreas Krebbel - - * src/c++11/system_error.cc: Omit the ENOTSUP case statement if it - would match ENOSYS. - -2020-03-05 Jonathan Wakely - - * testsuite/27_io/filesystem/operations/all.cc: Mark unused variable. - * testsuite/27_io/filesystem/operations/copy.cc: Fix typo. - * testsuite/experimental/filesystem/operations/copy.cc: Likewise. - * testsuite/27_io/filesystem/operations/file_size.cc: Use correct type - for return value, and in comparison. - * testsuite/experimental/filesystem/operations/file_size.cc: Likewise. - - PR libstdc++/94051 - * include/std/string_view: Include . - * testsuite/21_strings/basic_string_view/inserters/94051.cc: New test. - -2020-03-04 Jonathan Wakely - - * include/bits/cpp_type_traits.h (__memcpyable): Fix comment. - -2020-03-04 Patrick Palka - - PR libstdc++/94017 - * include/bits/ranges_algobase.h (__fill_n_fn::operator()): Refine - condition for when to use memset, making sure to additionally check that - the output pointer's value type is a non-volatile byte type. Instead of - requiring that the fill type is a byte type, just require that it's an - integral type. - * testsuite/20_util/specialized_algorithms/uninitialized_fill/94017.cc: - New test. - * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/94017.cc: - New test. - * testsuite/25_algorithms/fill/94013.cc: Uncomment part of test that was - blocked by PR 94017. - * testsuite/25_algorithms/fill/94017.cc: New test. - * testsuite/25_algorithms/fill_n/94017.cc: New test. - - LWG 3355 The memory algorithms should support move-only input iterators - introduced by P1207 - * include/bits/ranges_uninitialized.h - (__uninitialized_copy_fn::operator()): Use std::move to avoid attempting - to copy __ifirst, which could be a move-only input iterator. Use - operator- instead of ranges::distance to compute distance from a sized - sentinel. - (__uninitialized_copy_n_fn::operator()): Likewise. - (__uninitialized_move_fn::operator()): Likewise. - (__uninitialized_move_n_fn::operator()): Likewise. - (__uninitialized_destroy_fn::operator()): Use std::move to avoid - attempting to copy __first. - (__uninitialized_destroy_n_fn::operator()): Likewise. - * testsuite/20_util/specialized_algorithms/destroy/constrained.cc: - Augment test. - * .../specialized_algorithms/uninitialized_copy/constrained.cc: - Likewise. - * .../specialized_algorithms/uninitialized_move/constrained.cc: - Likewise. - - * testsuite/util/testsuite_iterators.h (test_range::get_iterator): Make - protected instead of private. - (test_sized_range_sized_sent): New. - - * testsuite/util/testsuite_iterators.h (input_iterator_wrapper_nocopy): - New testsuite iterator. - * testsuite/24_iterators/counted_iterator/lwg3389.cc: use it. - * testsuite/24_iterators/move_iterator/lwg3390.cc: Likewise. - - * include/bits/ranges_uninitialized.h - (uninitialized_copy_fn::operator()): Pass a reference type as the first - argument to is_nothrow_assignable_v. - (uninitialized_copy_fn::operator()): Likewise. - (uninitialized_move_fn::operator()): Likewise. Return an in_out_result - with the input iterator stripped of its move_iterator. - (uninitialized_move_n_fn::operator()): Likewise. - (uninitialized_fill_fn::operator()): Pass a reference type as the first - argument to is_nothrow_assignable_v. - (uninitialized_fill_n_fn::operator()): Likewise. - -2020-03-03 Jonathan Wakely - - PR libstdc++/94013 - * include/bits/cpp_type_traits.h (__memcpyable, __memcmpable): New - traits to control when to use memmove and memcmp optimizations. - (__is_nonvolatile_trivially_copyable): New helper trait. - * include/bits/ranges_algo.h (__lexicographical_compare_fn): Do not - use memcmp optimization with volatile data. - * include/bits/ranges_algobase.h (__equal_fn): Use __memcmpable. - (__copy_or_move, __copy_or_move_backward): Use __memcpyable. - * include/bits/stl_algobase.h (__copy_move_a2): Use __memcpyable. - (__copy_move_backward_a2): Likewise. - (__equal_aux1): Use __memcmpable. - (__lexicographical_compare_aux): Do not use memcmp optimization with - volatile data. - * testsuite/25_algorithms/copy/94013.cc: New test. - * testsuite/25_algorithms/copy_backward/94013.cc: New test. - * testsuite/25_algorithms/equal/94013.cc: New test. - * testsuite/25_algorithms/fill/94013.cc: New test. - * testsuite/25_algorithms/lexicographical_compare/94013.cc: New test. - * testsuite/25_algorithms/move/94013.cc: New test. - * testsuite/25_algorithms/move_backward/94013.cc: New test. - - * include/bits/stl_algobase.h (lexicographical_compare_three_way): - Avoid redundant iterator comparisons (LWG 3410). - -2020-03-02 Jonathan Wakely - - PR libstdc++/93972 - * include/bits/stl_algobase.h (__memcmp): Allow pointer types to - differ. - * testsuite/25_algorithms/lexicographical_compare/uchar.cc: New test. - - * include/std/ranges (__detail::__maybe_empty_t): Rename to - __maybe_present_t. - (__adaptor::_RangeAdaptor, join_view, split_view): Use new name. - - * include/bits/ranges_algo.h (shift_right): Add 'typename' to - dependent type. - -2020-03-01 H.J. Lu - - * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated. - -2020-02-29 John David Anglin - - * testsuite/17_intro/headers/c++1998/charset.cc: Skip on *-*-hpux*. - * testsuite/17_intro/headers/c++2011/charset.cc: Likewise. - * testsuite/17_intro/headers/c++2014/charset.cc: Likewise. - * testsuite/17_intro/headers/c++2017/charset.cc: Likewise. - * testsuite/17_intro/headers/c++2020/charset.cc: Likewise. - - * testsuite/30_threads/condition_variable_any/stop_token/wait_on.cc: - Add libatomic option. - * testsuite/30_threads/jthread/jthread.cc: Likewise. - -2020-02-29 François Dumont - - * include/bits/stl_algo.h - (__find_if, __count_if, __is_permutation, std::is_permutation): Move... - * include/bits/stl_algobase.h: ...here. - * include/bits/hashtable_policy.h: Remove include. - -2020-02-29 John David Anglin - - * testsuite/30_threads/stop_token/stop_callback.cc: Add libatomic - option. - * testsuite/30_threads/stop_token/stop_callback/deadlock-mt.cc: - Likewise. - * testsuite/30_threads/stop_token/stop_callback/deadlock.cc: Likewise. - * testsuite/30_threads/stop_token/stop_callback/destroy.cc: Likewise. - * testsuite/30_threads/stop_token/stop_callback/invoke.cc: Likewise. - * testsuite/30_threads/stop_token/stop_source.cc: Likewise. - * testsuite/30_threads/stop_token/stop_source/assign.cc: Likewise. - * testsuite/30_threads/stop_token/stop_token.cc: Likewise. - * testsuite/30_threads/stop_token/stop_token/stop_possible.cc: - Likewise. - - PR libstdc++/92906 - * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update. - -2020-02-28 Patrick Palka - - PR libstdc++/93972 - * include/bits/ranges_algo.h (__lexicographical_compare_fn::operator()): - Fix condition for when to use memcmp, making it consistent with the - corresponding condition used in std::lexicographical_compare. - * testsuite/25_algorithms/lexicographical_compare/93972.cc: New test. - - * testsuite/26_numerics/headers/numeric/synopsis.cc: Add signatures for - functions introduced in C++11, C++17 and C++2a. Add 'constexpr' to - existing signatures for C++2a. - -2020-02-28 Jonathan Wakely - - * testsuite/24_iterators/range_operations/advance_debug_neg.cc: Run - test instead of just compiling it. - -2020-02-28 Patrick Palka - - * include/std/ranges (reverse_view::_S_needs_cached_begin): Set to false - whenever the underlying range models common_range. - - * include/std/ranges (__detail::_CachedPosition): New struct. - (views::filter_view::_S_needs_cached_begin): New member variable. - (views::filter_view::_M_cached_begin): New member variable. - (views::filter_view::begin): Use _M_cached_begin to cache its - result. - (views::drop_view::_S_needs_cached_begin): New static member variable. - (views::drop_view::_M_cached_begin): New member variable. - (views::drop_view::begin): Use _M_cached_begin to cache its result - when _S_needs_cached_begin. - (views::drop_while_view::_M_cached_begin): New member variable. - (views::drop_while_view::begin): Use _M_cached_begin to cache its - result. - (views::reverse_view::_S_needs_cached_begin): New static member - variable. - (views::reverse_view::_M_cached_begin): New member variable. - (views::reverse_view::begin): Use _M_cached_begin to cache its result - when _S_needs_cached_begin. - * testsuite/std/ranges/adaptors/drop.cc: Augment test to check that - drop_view::begin caches its result. - * testsuite/std/ranges/adaptors/drop_while.cc: Augment test to check - that drop_while_view::begin caches its result. - * testsuite/std/ranges/adaptors/filter.cc: Augment test to check that - filter_view::begin caches its result. - * testsuite/std/ranges/adaptors/reverse.cc: Augment test to check that - reverse_view::begin caches its result. - -2020-02-28 Jonathan Wakely - - * testsuite/27_io/filesystem/operations/last_write_time.cc: Fixes for - filesystems that silently truncate timestamps. - * testsuite/experimental/filesystem/operations/last_write_time.cc: - Likewise. - - * testsuite/21_strings/basic_string/cons/char/1.cc: Disable - -Wstringop-overflow warnings. - -2020-02-27 Jonathan Wakely - - * testsuite/lib/libstdc++.exp (v3_target_compile): Add - -fdiagnostics-urls=never to options. - -2020-02-27 Patrick Palka - - * include/std/ranges (transform_view::_Iterator<_Const>): Befriend - _Iterator. - (transform_view::_Sentinel<_Const>): Befriend _Sentinel. - (take_view::_Sentinel<_Const>): Likewise. - (take_while_view::_Sentinel<_Const>): Likewise. - (split_view::_OuterIter<_Const>): Befriend _OuterIter. - * testsuite/std/ranges/adaptors/split.cc: Augment test. - * testsuite/std/ranges/adaptors/take.cc: Augment test. - * testsuite/std/ranges/adaptors/take_while.cc: Augment test. - * testsuite/std/ranges/adaptors/transform.cc: Augment test. - - * testsuite/25_algorithms/copy/constrained.cc: Don't assume that the - base() of a vector<>::iterator is a pointer. - * testsuite/25_algorithms/copy_backward/constrained.cc: Likewise. - * testsuite/25_algorithms/move/constrained.cc: Likewise. - * testsuite/25_algorithms/move_backward/constrained.cc: Likewise. - * testsuite/25_algorithms/inplace_merge/constrained.cc: Use foo.data() - instead of &foo[0]. - * testsuite/25_algorithms/partial_sort/constrained.cc: Likewise. - * testsuite/25_algorithms/partial_sort_copy/constrained.cc: Likewise. - * testsuite/25_algorithms/shuffle/constrained.cc: Likewise. - * testsuite/25_algorithms/sort/constrained.cc: Likewise. - * testsuite/25_algorithms/stable_sort/constrained.cc: Likewise. - -2020-02-27 Jonathan Wakely - - * include/debug/array (operator<=>): Define for C++20. - * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: - Adjust dg-error line numbers. - * testsuite/23_containers/array/tuple_interface/ - tuple_element_debug_neg.cc: Likewise. - - * testsuite/23_containers/span/back_assert_neg.cc: Add #undef before - defining _GLIBCXX_ASSERTIONS. - * testsuite/23_containers/span/first_2_assert_neg.cc: Likewise. - * testsuite/23_containers/span/first_assert_neg.cc: Likewise. - * testsuite/23_containers/span/front_assert_neg.cc: Likewise. - * testsuite/23_containers/span/index_op_assert_neg.cc: Likewise. - * testsuite/23_containers/span/last_2_assert_neg.cc: Likewise. - * testsuite/23_containers/span/last_assert_neg.cc: Likewise. - * testsuite/23_containers/span/subspan_2_assert_neg.cc: Likewise. - * testsuite/23_containers/span/subspan_3_assert_neg.cc: Likewise. - * testsuite/23_containers/span/subspan_4_assert_neg.cc: Likewise. - * testsuite/23_containers/span/subspan_5_assert_neg.cc: Likewise. - * testsuite/23_containers/span/subspan_6_assert_neg.cc: Likewise. - * testsuite/23_containers/span/subspan_assert_neg.cc: Likewise. - - * include/debug/string (__gnu_debug::basic_string::insert): Fix for - C++98 where the member function of the base class returns void. - - * testsuite/util/testsuite_iterators.h (forward_iterator_wrapper): Add - equality comparisons that support value-initialized iterators. - - * include/bits/boost_concept_check.h (__function_requires): Add - _GLIBCXX14_CONSTEXPR. - * testsuite/25_algorithms/min/concept_checks.cc: New test. - -2020-02-26 Patrick Palka - - PR libstdc++/93936 - * include/std/ranges (split_view::_InnerIter::operator==): Compare - the operands' _M_i rather than their _M_i.current(). - * testsuite/std/ranges/adaptors/split.cc: Augment test. - - P1645R1 constexpr for algorithms - * include/bits/stl_numeric.h (iota, accumulate, inner_product, - partial_sum, adjacent_difference): Make conditionally constexpr for - C++20. - * include/std/numeric (__cpp_lib_constexpr_numeric): Define this feature - test macro. - (reduce, transform_reduce, exclusive_scan, inclusive_scan, - transform_exclusive_scan, transform_inclusive_scan): Make conditionally - constexpr for C++20. - * include/std/version (__cpp_lib_constexpr_numeric): Define. - * testsuite/26_numerics/accumulate/constexpr.cc: New test. - * testsuite/26_numerics/adjacent_difference/constexpr.cc: Likewise. - * testsuite/26_numerics/exclusive_scan/constexpr.cc: Likewise. - * testsuite/26_numerics/inclusive_scan/constexpr.cc: Likewise. - * testsuite/26_numerics/inner_product/constexpr.cc: Likewise. - * testsuite/26_numerics/iota/constexpr.cc: Likewise. - * testsuite/26_numerics/partial_sum/constexpr.cc: Likewise. - * testsuite/26_numerics/reduce/constexpr.cc: Likewise. - * testsuite/26_numerics/transform_exclusive_scan/constexpr.cc: Likewise. - * testsuite/26_numerics/transform_inclusive_scan/constexpr.cc: Likewise. - * testsuite/26_numerics/transform_reduce/constexpr.cc: Likewise. - -2020-02-26 Jonathan Wakely - - * include/bits/ranges_algo.h (__lexicographical_compare_fn): Declare - variables in smaller scope and avoid calling ranges::distance when we - know they are pointers. Remove statically-unreachable use of - __builtin_unreachable(). - * include/bits/stl_algobase.h (__lexicographical_compare::__lc): - Define inline. - - * include/std/ranges (__detail::__maybe_empty_t): Define new helper - alias. - (__detail::__maybe_const_t): Likewise. - (__adaptor::_RangeAdaptor): Use __maybe_empty_t. - (transform_view, take_view, take_while_view, elements_view): Use - __maybe_const_t. - (join_view, split_view): Use both. - -2020-02-25 Patrick Palka - - LWG 3397 basic_istream_view::iterator should not provide - iterator_category - * include/std/ranges (basic_istream_view:_Iterator::iterator_category): - Rename to ... - (basic_istream_view:_Iterator::iterator_concept): ... this. - * testsuite/std/ranges/istream_view.cc: Augment test. - - LWG 3325 Constrain return type of transformation function for - transform_view - * include/std/ranges (transform_view): Constrain the return type of the - transformation function as per LWG 3325. - * testsuite/std/ranges/adaptors/lwg3325_neg.cc: New test. - - LWG 3313 join_view::_Iterator::operator-- is incorrectly constrained - * include/std/ranges (join_view::_Iterator::operator--): Require that - range_reference_t<_Base> models common_range. - * testsuite/std/ranges/adaptors/lwg3313_neg.cc: New test. - - LWG 3301 transform_view::_Iterator has incorrect iterator_category - * include/std/ranges (transform_view::_Iterator::_S_iter_cat): Adjust - determination of iterator_category as per LWG 3301. - * testsuite/std/ranges/adaptors/transform.cc: Augment test. - - LWG 3292 iota_view is under-constrained - * include/std/ranges (iota_view): Require that _Winc models semiregular - as per LWG 3292. - * testsuite/std/ranges/iota/lwg3292_neg.cc: New test. - -2020-02-25 Jonathan Wakely - - * include/bits/ranges_algobase.h (__copy_or_move): Do not use memmove - during constant evaluation. Call __builtin_memmove directly instead of - __memmove. - (__copy_or_move_backward): Likewise. - * include/bits/stl_algobase.h (__memmove): Remove. - (__copy_move::__copy_m) - (__copy_move_backward::__copy_m): - Use __builtin_memmove directly instead of __memmove. - (__copy_move_a2): Do not use memmove during constant evaluation. - (__copy_move_backward_a2): Use _IsMove constant to select correct - __copy_move_backward specialization. - * testsuite/25_algorithms/copy_backward/constexpr.cc: Check for copies - begin turned into moves during constant evaluation. - - * testsuite/25_algorithms/move_backward/93872.cc: Add test left out of - previous commit. - - PR libstdc++/93872 - * include/bits/stl_algobase.h (__memmove): Cast away const before - doing move assignment. - * testsuite/25_algorithms/move/93872.cc: New test. - * testsuite/25_algorithms/move_backward/93872.cc: New test. - -2020-02-24 Patrick Palka - - PR libstdc++/93884 - * include/bits/ranges_algobase.h (__copy_or_move, - __copy_or_move_backward): Don't inspect the iter_value_t of the output - iterator, instead inspect its iterator_traits directly. - * include/bits/stl_iterator.h (back_insert_iterator::container): - Conditionally initialize. - (back_insert_iterator::difference_type): Conditionally define. - (back_insert_iterator::back_insert_iterator): Conditionally define this - default constructor. - (front_insert_iterator::container): Conditionally initialize. - (front_insert_iterator::difference_type): Conditionally define. - (front_insert_iterator::front_insert_iterator): Conditionally define - this default constructor. - * 24_iterators/back_insert_iterator/pr93884.cc: New test. - * 24_iterators/front_insert_iterator/pr93884.cc: New test. - - P0769R2 Add shift to - * include/bits/ranges_algo.h (shift_left, shift_right): New. - * testsuite/25_algorithms/shift_left/1.cc: New test. - * testsuite/25_algorithms/shift_right/1.cc: New test. - -2020-02-24 Jonathan Wakely - - * include/bits/stream_iterator.h (istream_iterator(default_sentinel_t)): - Make noexcept-specifier conditional. - * testsuite/24_iterators/istream_iterator/cons/sentinel.cc: Check - noexcept-specifier. - - * include/bits/stream_iterator.h (istream_iterator(default_sentinel_t)): - Add constructor. - (operator==(istream_iterator, default_sentinel_t)): Add operator. - (ostream_iterator::difference_type): Define to ptrdiff_t for C++20. - * include/bits/streambuf_iterator.h - (istreambuf_iterator(default_sentinel_t)): Add constructor. - (operator==(istreambuf_iterator, default_sentinel_t)): Add operator. - * testsuite/24_iterators/istream_iterator/cons/sentinel.cc: - New test. - * testsuite/24_iterators/istream_iterator/sentinel.cc: New test. - * testsuite/24_iterators/istreambuf_iterator/cons/sentinel.cc: - New test. - * testsuite/24_iterators/istreambuf_iterator/sentinel.cc: New test. - - * include/std/ranges (__deep_const_range, __enable_view_impl): Remove. - (ranges::enable_view): Simplify (LWG 3326). - * include/bits/range_access.h (ranges::enable_view): Declare. - * include/bits/regex.h (__enable_view_impl): Remove partial - specialization. - * include/bits/stl_multiset.h (__enable_view_impl): Likewise. - * include/bits/stl_set.h (__enable_view_impl): Likewise. - * include/bits/unordered_set.h (__enable_view_impl): Likewise. - * include/debug/multiset.h (__enable_view_impl): Likewise. - * include/debug/set.h (__enable_view_impl): Likewise. - * include/debug/unordered_set (__enable_view_impl): Likewise. - * include/experimental/string_view (ranges::enable_view): Define - partial specialization. - * include/std/span (ranges::enable_view): Likewise. - * include/std/string_view (ranges::enable_view): Likewise. - * testsuite/std/ranges/view.cc: Check satisfaction of updated concept. - -2020-02-21 Jonathan Wakely - - * include/std/optional (operator<=>(optional, optional)) - (operator<=>(optional, nullopt), operator<=>(optional, U)): - Define for C++20. - * include/std/tuple (__tuple_cmp): New helper function for <=>. - (operator<=>(tuple, tuple...)): Define for C++20. - * include/std/variant (operator<=>(variant, variant)) - (operator<=>(monostate, monostate)): Define for C++20. - * testsuite/20_util/optional/relops/three_way.cc: New test. - * testsuite/20_util/tuple/comparison_operators/three_way.cc: New test. - * testsuite/20_util/variant/89851.cc: Move to ... - * testsuite/20_util/variant/relops/89851.cc: ... here. - * testsuite/20_util/variant/90008.cc: Move to ... - * testsuite/20_util/variant/relops/90008.cc: ... here. - * testsuite/20_util/variant/relops/three_way.cc: New test. - -2020-02-20 Patrick Palka - - * include/std/ranges (views::__adaptor::__maybe_refwrap): New utility - function. - (views::__adaptor::_RangeAdaptor::operator()): Add comments. Use - __maybe_refwrap to capture lvalue references by reference, and then use - unwrap_reference_t to forward the by-reference captures as references. - * testsuite/std/ranges/adaptors/split.cc: Augment test. - * testsuite/std/ranges/adaptors/split_neg.cc: New test. - - * include/std/ranges (iota_view): Forward declare _Sentinel. - (iota_view::_Iterator): Befriend _Sentinel. - (iota_view::_Sentinel::_M_equal): New member function. - (iota_view::_Sentinel::operator==): Use it. - (views::_Iota::operator()): Forward __f using the correct type. - * testsuite/std/ranges/access/ssize.cc (test06): Don't call views::iota - with integers of different signedness, to appease iota_view's deduction - guide. - * testsuite/std/ranges/iota/iota_view.cc: Augment test. - -2020-02-20 Jonathan Wakely - - * include/bits/range_access.h (ranges::begin): Reject array of - incomplete type. - (ranges::end, ranges::size): Require arrays to be bounded. - (ranges::data): Require lvalue or borrowed_range. - (ranges::iterator_t): Remove constraint. - * testsuite/std/ranges/access/begin.cc: Do not check array of - incomplete type. - * testsuite/std/ranges/access/begin_neg.cc: New test. - * testsuite/std/ranges/access/end_neg.cc: Adjust expected error. - * testsuite/std/ranges/access/size_neg.cc: Adjust expected error. - * testsuite/std/ranges/access/ssize.cc: Do not check array of - incomplete type. - - * include/std/system_error (error_category::operator<=>) - (operator<=>(const error_code&, const error_code&)) - (operator<=>(const error_condition&, const error_condition&)): Define - for C++20. - * testsuite/19_diagnostics/error_category/operators/less.cc: New test. - * testsuite/19_diagnostics/error_category/operators/three_way.cc: New - test. - * testsuite/19_diagnostics/error_code/operators/equal.cc: Remove - incorrect comment. - * testsuite/19_diagnostics/error_code/operators/less.cc: New test. - * testsuite/19_diagnostics/error_code/operators/not_equal.cc: Remove - incorrect comment. - * testsuite/19_diagnostics/error_code/operators/three_way.cc: New test. - * testsuite/19_diagnostics/error_condition/operators/equal.cc: Remove - incorrect comment. - * testsuite/19_diagnostics/error_condition/operators/less.cc: New test. - * testsuite/19_diagnostics/error_condition/operators/not_equal.cc: - Remove incorrect comment. - * testsuite/19_diagnostics/error_condition/operators/three_way.cc: New - test. - - * libsupc++/typeinfo (type_info::operator!=): Remove for C++20. - - * include/std/thread (thread::id::operator<=>): Define for C++20. - * testsuite/30_threads/thread/id/70294.cc: Do not take addresses of - functions in namespace std. - * testsuite/30_threads/thread/id/operators_c++20.cc: New test. - -2020-02-19 Patrick Palka - - * testsuite/std/ranges/adaptors/split.cc (test03): Don't include the - null terminator of the underlying string as part of the test_range. - (main): Call test03. - -2020-02-19 Jonathan Wakely - - * include/bits/stl_iterator.h (common_iterator): Add copyable - requirement (LWG 3385). - * testsuite/24_iterators/headers/iterator/synopsis_c++20.cc: Adjust - expected declaration. - - * include/std/ranges (take_while_view, drop_view, drop_while_view) - (elements_view:_Iterator): Initialize data members (LWG 3364). - - * libsupc++/compare (three_way_comparable): Remove always-false check - that should have been removed with weak_equality (P1959R0). - (three_way_comparable_with): Likewise. Reorder requirements (LWG 3360). - - * include/std/concepts (__detail::__partially_ordered_with): Move here - from . - (totally_ordered, totally_ordered_with): Use __partially_ordered_with - to simplify definition (LWG 3331). - * libsupc++/compare (__detail::__partially_ordered_with): Move to - . - - * include/std/concepts (totally_ordered_with): Remove redundant - requirement (LWG 3329). - - * include/std/ranges (__detail::__convertible_to_non_slicing): New - helper concept. - (__detail::__pair_like_convertible_to): Remove. - (__detail::__pair_like_convertible_from): Add requirements for - non-slicing conversions. - (subrange): Constrain constructors with __convertible_to_non_slicing. - Remove constructors from pair-like types. Add new deduction guide. - * testsuite/std/ranges/subrange/lwg3282_neg.cc: New test. - - * include/bits/iterator_concepts.h (iter_move): Add declaration to - prevent unqualified lookup finding a suitable declaration (LWG 3247). - - * include/std/memory_resource (polymorphic_allocator::allocate) - (polymorphic_allocator::allocate_object): Change type of exception to - bad_array_new_length (LWG 3237). - * testsuite/20_util/polymorphic_allocator/lwg3237.cc: New test. - - * include/std/type_traits (__cpp_lib_unwrap_ref): Define (LWG 3348). - * include/std/version (__cpp_lib_unwrap_ref): Likewise. - * testsuite/20_util/unwrap_reference/1.cc: Check macro. - * testsuite/20_util/unwrap_reference/3.cc: New test. - - * include/std/numeric (midpoint(T8, T*)): Do not check for complete - type during overload resolution, use static assert instead (LWG 3200). - * testsuite/26_numerics/midpoint/pointer.cc: Do not test with - incomplete type. - * testsuite/26_numerics/midpoint/pointer_neg.cc: New test. - - * include/std/span (span(T (&)[N])): Use non-deduced context to - prevent first parameter from interfering with class template argument - deduction (LWG 3369). - * testsuite/23_containers/span/deduction.cc: Add missing 'const'. - * testsuite/23_containers/span/lwg3255.cc: Check for construction from - rvalues. - - * include/std/span (span::const_iterator, span::const_reverse_iterator) - (span::cbegin(), span::cend(), span::crbegin(), span::crend()): - Remove (LWG 3320). - * testsuite/23_containers/span/everything.cc: Replace uses of cbegin - and cend. - * testsuite/20_util/specialized_algorithms/destroy/constrained.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/uninitialized_copy/ - constrained.cc: Likewise. - * testsuite/20_util/specialized_algorithms/ - uninitialized_default_construct/constrained.cc: Likewise. - * testsuite/20_util/specialized_algorithms/uninitialized_fill/ - constrained.cc: Likewise. - * testsuite/20_util/specialized_algorithms/uninitialized_move/ - constrained.cc: Likewise. - * testsuite/20_util/specialized_algorithms/ - uninitialized_value_construct/constrained.cc: Likewise. - - * include/bits/range_access.h (range_size_t): Define alias template. - * include/std/ranges (all_view): Rename to views::all_t (LWG 3335). - * testsuite/std/ranges/adaptors/filter.cc: Adjust to new name. - - * include/std/ranges (filter_view, transform_view, take_view) - (join_view, split_view, reverse_view): Remove commented-out converting - constructors (LWG 3280). - - * include/std/memory (uninitialized_construct_using_allocator): Use - std::construct_at (LWG 3321). - - * include/std/memory_resource (polymorphic_allocator::allocate_bytes) - (polymorphic_allocator::allocate_object) - (polymorphic_allocator::new_object): Add nodiscard attribute (LWG3304). - - LWG 3379. "safe" in several library names is misleading - * include/bits/range_access.h (enable_safe_range): Rename to - enable_borrowed_range. - (__detail::__maybe_safe_range): Rename to __maybe_borrowed_range. - (safe_range): Rename to borrowed_range. - * include/bits/ranges_algo.h: Adjust to use new names. - * include/bits/ranges_algobase.h: Likewise. - * include/bits/ranges_uninitialized.h: Likewise. - * include/std/ranges: Likewise. - (safe_iterator_t): Rename to borrowed_iterator_t. - (safe_subrange_t): Rename to borrowed_subrange_t. - * include/std/span: Adjust to use new names. - * include/std/string_view: Likewise. - * include/experimental/string_view: 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/end.cc: Likewise. - * testsuite/std/ranges/access/rbegin.cc: Likewise. - * testsuite/std/ranges/access/rend.cc: Likewise. - * testsuite/std/ranges/safe_range.cc: Likewise. - * testsuite/std/ranges/safe_range_types.cc: Likewise. - * testsuite/util/testsuite_iterators.h: Likewise. - - * include/std/ranges (tuple_element<0, const subrange>) - (tuple_element<1, const subrange>): Add partial - specializations (LWG 3398). - * testsuite/std/ranges/subrange/tuple_like.cc: New test. - - * include/bits/ranges_algo.h (__find_fn, __find_first_of_fn) - (__adjacent_find_fn, __remove_if_fn, __remove_copy_if_fn) - (__unique_fn, __unique_copy_fn): Remove redundant conversions to bool. - -2020-02-18 Patrick Palka - - P1983R0 Wording for GB301, US296, US292, US291, and US283 - * include/std/ranges (filter_view::pred): New member function. - (join_view::_Iterator::_Iterator): Remove now-redundant comment since - P1983R0 fixes the highlighted issue in the same way. - (join_view::_Iterator<_Const>): Add friend - join_view::_Iterator. - (join_view::_M_inner): Remove mutable specifier, effectively reverting - the proposed wording changes of P3278. - (join_view::begin): Refine the condition for when to return a const - iterator. - (split_view::_OuterIter::_OuterIter): Adjust constraints. - * testsuite/std/ranges/adaptors/filter.cc: Test that filter_view::pred - exists and works. - -2020-02-18 Jonathan Wakely - - PR libstdc++/93818 - * include/std/ranges (_RangeAdaptor): Add deduction guide. - (filter_view::_Iterator): Add alias _Vp_iter and use in place of - iterator_t<_Vp>. - (filter_view::_Iterator::_S_iter_cat()): Add 'typename'. - (transform_view::_Iterator): Add alias _Base_iter and use in place of - iterator_t<_Base>. - (transform_view::_Iterator::_S_iter_cat()): Add 'typename'. - (join_view::_Iterator): Add _Outer_iter and _Inner_iter aliases. - (join_view::_Iterator::_S_iter_cat()): Add 'typename'. - (split_view::_InnerIter::_S_iter_cat()): Likewise. - - * testsuite/20_util/integer_comparisons/equal.cc: Fix invalid - assumption that long is wider than int. - * testsuite/20_util/integer_comparisons/greater_equal.cc: Likewise. - * testsuite/20_util/integer_comparisons/less.cc: Likewise. - * testsuite/20_util/integer_comparisons/less_equal.cc: Likewise. - * testsuite/20_util/integer_comparisons/not_equal.cc: Likewise. - - P1976R2 Fixed-size span construction from dynamic range - * include/std/span (__cpp_lib_span): Update value. - (span(It, size_type), span(It, End)): Make conditionally explicit. Add - assertion. - (span(R&&), span(const span&)): Likewise and relax - constraints. - (span::first(), span::last()): Use explicit type in - return statement. - (as_bytes, as_writable_bytes): Likewise. - * include/std/version (__cpp_lib_span): Update value. - * testsuite/23_containers/span/1.cc: Check new value. - * testsuite/23_containers/span/2.cc: Check new value. - * testsuite/23_containers/span/explicit.cc: New test. - - * include/std/span (span::__is_compatible_array): Simplify alias - template by using requires-clause. - (span::__is_compatible_ref): New alias template for constraining - constructors. - (span::__is_compatible_iterator, span::__is_compatible_range): Remove. - (span(It, size_type), span(It, End)): Use __is_compatible_ref. - (span(T(&)[N], span(array&), span(const array&)): Remove - redundant parentheses. - (span(R&&)): Add missing constraints. - - * include/std/span (span): Reorder members and rename template - parameters to match declarations in the C++2a working paper. - - P2116R0 Remove tuple-like protocol support from fixed-extent span - * include/std/span (get, tuple_size, tuple_element): Remove. - * testsuite/23_containers/span/everything.cc: Remove checks for - tuple-like API. - * testsuite/23_containers/span/get_neg.cc: Remove. - * testsuite/23_containers/span/tuple_element_dynamic_neg.cc: Remove. - * testsuite/23_containers/span/tuple_element_oob_neg.cc: Remove. - * testsuite/23_containers/span/tuple_size_neg.cc: Remove. - -2020-02-17 Patrick Palka - - P2106R0 Alternative wording for GB315 and GB316 - * include/bits/ranges_algo.h (in_fun_result): New. - (for_each_result, for_each_n_result): Change into an alias of - in_fun_result. - (in_in_result): New. - (mismatch_result): Change into an alias of in_in_result. - (copy_if_result): Change into an alias of in_out_result. - (swap_ranges_result): Change into an alias of in_in_result. - (unary_transform_result): Change into an alias of in_out_result. - (in_in_out_result): New. - (binary_transform_result): Change into an alias of in_in_out_result. - (replace_copy_result, replace_copy_if_result, remove_copy_if_result, - remove_copy_result, unique_copy_result, reverse_copy_result, - rotate_copy_result, partial_sort_copy_result): Change into an alias of - in_out_result. - (in_out_out_result): New. - (partition_copy_result, merge_result): Change into an alias of - in_out_out_result. - (set_union_result, set_intersection_result): Change into an alias of - in_in_out_result. - (set_difference_result): Change into an alias of in_out_result. - (set_symmetric_difference): Change into an alias of in_in_out_result. - (min_max_result): New. - (minmax_result, minmax_element_result): Change into an alias of - min_max_result. - (in_found_result): New. - (next_permutation_result, prev_permutation_result): Change into an alias - of in_found_result. - (__next_permutation_fn::operator(), __prev_permutation_fn::operator()): - Adjust following changes to next_permutation_result and - prev_permutation_result. - * include/bits/ranges_algobase.h (in_out_result): New. - (copy_result, move_result, move_backward_result, copy_backward_result, - copy_n_result): Change into an alias of in_out_result. - * include/bits/ranges_uninitialized.h (uninitialized_copy_result, - uninitialized_copy_n_result, uninitialized_move_result, - uninitialized_move_n_result): Likewise. - * testsuite/25_algorithms/next_permutation/constrained.cc: Adjust uses of - structured bindings. - * testsuite/25_algorithms/prev_permutation/constrained.cc: Likewise. - - P1243R4 Rangify new algorithms - * include/bits/ranges_algo.h (for_each_n_result, __for_each_n_fn, - for_each_n, __sample_fn, sample, __clamp_fn, clamp): New. - * testsuite/25_algorithms/clamp/constrained.cc: New test. - * testsuite/25_algorithms/for_each/constrained.cc: Augment test. - * testsuite/25_algorithms/sample/constrained.cc: New test. - -2020-02-17 Jonathan Wakely - - P1964R2 Wording for boolean-testable - * include/bits/ranges_algo.h (__find_fn, __find_first_of_fn) - (__adjacent_find_fn): Cast result of predicate to bool. - * include/std/concepts (__boolean): Remove. - (__detail::__boolean_testable_impl, __detail::__boolean_testable): Add - new helper concepts. - (__detail::__weakly_eq_cmp_with, totally_ordered, totally_ordered_with) - (predicate): Use __boolean_testable instead of boolean. - * libsupc++/compare (__detail::__partially_ordered, _Synth3way): - Likewise. - - P1970R2 Consistency for size() functions: Add ranges::ssize - * include/bits/range_access.h (_SSize, ssize): Define for C++20. - * testsuite/std/ranges/access/ssize.cc: New test. - - P1956R1 On the names of low-level bit manipulation functions - * include/bits/hashtable_policy.h: Update comment. - * include/std/bit (__ispow2, __ceil2, __floor2, __log2p1): Rename. - (ispow2, ceil2, floor2, log2p1): Likewise. - (__cpp_lib_int_pow2): Add feature test macro. - * include/std/charconv (__to_chars_len_2): Adjust use of __log2p1. - * include/std/memory (assume_aligned): Adjust use of ispow2. - * include/std/version (__cpp_lib_int_pow2): Add. - * libsupc++/new_opa.cc: Adjust use of __ispow2. - * src/c++17/memory_resource.cc: Likewise, and for __ceil2 and __log2p1. - * testsuite/17_intro/freestanding.cc: Adjust use of ispow2. - * testsuite/26_numerics/bit/bit.pow.two/ceil2.cc: Rename to ... - * testsuite/26_numerics/bit/bit.pow.two/bit_ceil.cc: ... here. - * testsuite/26_numerics/bit/bit.pow.two/ceil2_neg.cc: Rename to ... - * testsuite/26_numerics/bit/bit.pow.two/bit_ceil_neg.cc: ... here. - * testsuite/26_numerics/bit/bit.pow.two/floor2.cc: Rename to ... - * testsuite/26_numerics/bit/bit.pow.two/bit_floor.cc: ... here. - * testsuite/26_numerics/bit/bit.pow.two/log2p1.cc: Rename to ... - * testsuite/26_numerics/bit/bit.pow.two/bit_width.cc: ... here. - * testsuite/26_numerics/bit/bit.pow.two/ispow2.cc: Rename to ... - * testsuite/26_numerics/bit/bit.pow.two/has_single_bit.cc: ... here. - - * include/std/charconv: Add comment. - - PR libstdc++/92546 (partial) - * include/bits/random.h (uniform_random_bit_generator): Move definition - to . - * include/bits/ranges_algo.h: Include instead - of . - * include/bits/ranges_algobase.h: Do not include . - * include/bits/uniform_int_dist.h (uniform_random_bit_generator): - Move here. - * include/std/ranges: Do not include . - * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lineno. - - PR libstdc++/92546 (partial) - * include/Makefile.am: Add new header. - * include/Makefile.in: Regenerate. - * include/bits/int_limits.h: New header. - * include/bits/parse_numbers.h (__select_int::_Select_int): Replace - numeric_limits with __detail::__int_limits. - * include/std/bit (__rotl, __rotr, __countl_zero, __countl_one) - (__countr_zero, __countr_one, __popcount, __ceil2, __floor2, __log2p1): - Likewise. - * include/std/charconv (__to_chars_8, __from_chars_binary) - (__from_chars_alpha_to_num, from_chars): Likewise. - * include/std/memory_resource (polymorphic_allocator::allocate) - (polymorphic_allocator::allocate_object): Likewise. - * include/std/string_view (basic_string_view::_S_compare): Likewise. - * include/std/utility (in_range): Likewise. - * testsuite/20_util/integer_comparisons/in_range_neg.cc: Adjust for - extra error about incomplete type __int_limits. - * testsuite/26_numerics/bit/bit.count/countl_one.cc: Include . - * 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/ceil2_neg.cc: Likewise. - * testsuite/26_numerics/bit/bit.pow.two/ceil2.cc: Likewise. - * testsuite/26_numerics/bit/bit.pow.two/floor2.cc: Likewise. - * testsuite/26_numerics/bit/bit.pow.two/ispow2.cc: Likewise. - * testsuite/26_numerics/bit/bit.pow.two/log2p1.cc: Likewise. - * testsuite/26_numerics/bit/bit.rotate/rotl.cc: Likewise. - * testsuite/26_numerics/bit/bit.rotate/rotr.cc: Likewise. - - * python/libstdcxx/v6/printers.py (StdCmpCatPrinter.to_string): Update - value for partial_ordering::unordered. - - * include/bits/iterator_concepts.h (indirectly_copyable_storable): Add - const-qualified expression variations. - * include/std/concepts (copyable): Likewise. - - * include/std/type_traits (__is_standard_integer): New helper trait. - * include/std/utility (cmp_equal, cmp_not_equal, cmp_less, cmp_greater) - (cmp_less_equal, cmp_greater_equal, in_range): Define for C++20. - * include/std/version (__cpp_lib_integer_comparison_functions): Define. - * testsuite/20_util/integer_comparisons/1.cc: New test. - * testsuite/20_util/integer_comparisons/2.cc: New test. - * testsuite/20_util/integer_comparisons/equal.cc: New test. - * testsuite/20_util/integer_comparisons/equal_neg.cc: New test. - * testsuite/20_util/integer_comparisons/greater_equal.cc: New test. - * testsuite/20_util/integer_comparisons/greater_equal_neg.cc: New test. - * testsuite/20_util/integer_comparisons/greater_neg.cc: New test. - * testsuite/20_util/integer_comparisons/in_range.cc: New test. - * testsuite/20_util/integer_comparisons/in_range_neg.cc: New test. - * testsuite/20_util/integer_comparisons/less.cc: New test. - * testsuite/20_util/integer_comparisons/less_equal.cc: New test. - * testsuite/20_util/integer_comparisons/less_equal_neg.cc: New test. - * testsuite/20_util/integer_comparisons/less_neg.cc: New test. - * testsuite/20_util/integer_comparisons/not_equal.cc: New test. - * testsuite/20_util/integer_comparisons/not_equal_neg.cc: New test. - -2020-02-16 Patrick Palka - - * include/bits/ranges_algo.h (__lexicographical_compare_fn::operator()): - Move code after an early exit constexpr if to under an else branch. - * include/bits/ranges_algobase.h (__equal_fn::operator()): Likewise. - -2020-02-15 Patrick Palka - - * include/bits/ranges_algo.h: Adjust whitespace and formatting. - * include/bits/ranges_algobase.h: Likewise. - * include/bits/ranges_uninitialized.h: Likewise. - - * include/bits/ranges_algo.h: (adjacent_find, all_of, any_of, - binary_search, copy_if, count, count_if, equal_range, find, find_end, - find_first_of, find_if, find_if_not, for_each, generate, generate_n, - includes, inplace_merge, is_heap, is_heap_until, is_partitioned, - is_permutation, is_sorted, is_sorted_until, lexicographical_compare, - lower_bound, make_heap, max, max_element, merge, min, min_element, - minmax, minmax_element, mismatch, next_permutation, none_of, - nth_element, partial_sort, partial_sort_copy, partition, partition_copy, - partition_point, pop_heap, prev_permutation, push_heap, remove, - remove_copy, remove_copy_if, remove_if, replace, replace_copy, - replace_copy_if, replace_if, reverse, reverse_copy, rotate, rotate_copy, - search, search_n, set_difference, set_intersection, - set_symmetric_difference, set_union, shuffle, sort, sort_heap, - stable_partition, stable_sort, swap_ranges, transform, unique, - unique_copy, upper_bound): Convert into function objects. - * include/bits/ranges_algobase.h: (equal, copy, move, copy_n, fill_n, - fill, move_backward, copy_backward): Likewise. - * include/bits/ranges_uninitialized.h (uninitialized_default_construct, - uninitialized_default_construct_n, uninitialized_value_construct, - uninitialized_value_construct_n, uninitialized_copy, - uninitialized_copy_n, uninitialized_move, uninitialized_move_n, - uninitialized_fill, uninitialized_fill_n, construct_at, destroy_at, - destroy, destroy_n): Likewise. - - * include/bits/ranges_algo.h (ranges::__find_end): Fold into ... - (ranges::find_end): ... here. - (ranges::__lexicographical_compare): Fold into ... - (ranges::lexicographical_compare): ... here. - * include/bits/ranges_algobase.h (ranges::__equal): Fold into ... - (ranges::equal): ... here. - -2020-02-15 Jonathan Wakely - - * include/bits/erase_if.h (__cpp_lib_erase_if): Define to 202002L. - * include/std/deque: Likewise. - * include/std/forward_list: Likewise. - * include/std/list: Likewise. - * include/std/string: Likewise. - * include/std/vector: Likewise. - * include/std/version: Likewise. - * testsuite/23_containers/deque/erasure.cc: Test for new value. - * testsuite/23_containers/forward_list/erasure.cc: Likewise. - * testsuite/23_containers/list/erasure.cc: Likewise. - * testsuite/23_containers/map/erasure.cc: Likewise. - * testsuite/23_containers/set/erasure.cc: Likewise. - * testsuite/23_containers/unordered_map/erasure.cc: Likewise. - * testsuite/23_containers/unordered_set/erasure.cc: Likewise. - * testsuite/23_containers/vector/erasure.cc: Likewise. - -2020-02-15 Jonathan Wakely - - * include/bits/random.h (uniform_random_bit_generator): Require min() - and max() to be constant expressions and min() to be less than max(). - * testsuite/26_numerics/random/concept.cc: Check additional cases. - * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lineno. - -2020-02-13 Patrick Palka - - * include/Makefile.am: Add . - * include/Makefile.in: Regenerate. - * include/bits/ranges_uninitialized.h: New header. - * include/std/memory: Include it. - * testsuite/20_util/specialized_algorithms/destroy/constrained.cc: New - test. - * .../uninitialized_copy/constrained.cc: New test. - * .../uninitialized_default_construct/constrained.cc: New test. - * .../uninitialized_fill/constrained.cc: New test. - * .../uninitialized_move/constrained.cc: New test. - * .../uninitialized_value_construct/constrained.cc: New test. - - * include/Makefile.am: Add bits/ranges_algobase.h - * include/Makefile.in: Regenerate. - * bits/ranges_algo.h: Include and refactor - existing #includes. - (__detail::__is_normal_iterator, __detail::is_reverse_iterator, - __detail::__is_move_iterator, copy_result, move_result, - __equal, equal, copy_result, move_result, move_backward_result, - copy_backward_result, __copy_or_move_backward, __copy_or_move, copy, - move, copy_backward, move_backward, copy_n_result, copy_n, fill_n, - fill): Split out into ... - * bits/range_algobase.h: ... this new header. - -2020-02-12 Patrick Palka - - LWG 3389 and LWG 3390 - * include/bits/stl_iterator.h (move_move_iterator): Use std::move when - constructing the move_iterator with __i. - (counted_iterator::counted_iterator): Use std::move when initializing - M_current with __i. - * testsuite/24_iterators/counted_iterator/lwg3389.cc: New test. - * testsuite/24_iterators/move_iterator/lwg3390.cc: New test. - -2020-02-12 Sandra Loosemore - - PR libstdc++/79193 - PR libstdc++/88999 - - * configure: Regenerated. - -2020-02-12 François Dumont - - * include/bits/hashtable.h - (_Hashtable<>(_Hashtable&&, std::allocator_type&)): Add - missing std namespace qualification to forward call. - -2020-02-09 Jonathan Wakely - - * testsuite/20_util/function_objects/range.cmp/equal_to.cc: Fix - comment. - * testsuite/20_util/function_objects/range.cmp/less.ccL Likewise. - - * include/std/ranges: Fix non-ASCII characters in comment. - - * include/bits/range_cmp.h (__detail::__eq_builtin_ptr_cmp): Require - equality comparison to be valid and return bool. - (__detail::__less_builtin_ptr_cmp): Likewise for less-than comparison. - * testsuite/20_util/function_objects/range.cmp/equal_to.cc: Check - type with ambiguous conversion to fundamental types. - * testsuite/20_util/function_objects/range.cmp/less.cc: Likewise. - -2020-02-07 Jonathan Wakely - - * include/bits/iterator_concepts.h (iter_difference_t, iter_value_t): - Use remove_cvref_t. - (readable_traits): Rename to indirectly_readable_traits. - (readable): Rename to indirectly_readable. - (writable): Rename to indirectly_writable. - (__detail::__iter_exchange_move): Do not use remove_reference_t. - (indirectly_swappable): Adjust requires expression parameter types. - expression. - * include/bits/ranges_algo.h (ranges::transform, ranges::replace) - (ranges::replace_if, ranges::generate_n, ranges::generate) - (ranges::remove): Use new name for writable. - * include/bits/stl_iterator.h (__detail::__common_iter_has_arrow): - Use new name for readable. - * include/ext/pointer.h (readable_traits<_Pointer_adapter

>): Use - new name for readable_traits. - * testsuite/24_iterators/associated_types/readable.traits.cc: Likewise. - * testsuite/24_iterators/indirect_callable/projected.cc: Adjust for - new definition of indirectly_readable. - - * include/bits/stl_iterator.h (__detail::__common_iter_ptr): Change - to take parameters of common_iterator, instead of the common_iterator - type itself. Fix argument for __common_iter_has_arrow constraint. - (iterator_traits>::pointer): Adjust. - -2020-02-07 Jonathan Wakely - - * include/std/ranges (iota_view): Add braces to prevent -Wempty-body - warning. - (basic_istream_view::_Iterator::operator++()): Add missing return. - -2020-02-07 Patrick Palka - - * include/bits/ranges_algo.h: Remove extraneous &&. - - * include/std/ranges (ranges::__detail::__stream_extractable, - ranges::basic_istream_view, ranges::istream_view): Define. - * testsuite/std/ranges/istream_view: New test. - - Implement C++20 range adaptors - * include/std/ranges: Include and . - (subrange::_S_store_size): Mark as const instead of constexpr to - avoid what seems to be a bug in GCC. - (__detail::__box): Give it defaulted copy and move constructors. - (ranges::views::_Single::operator()): Mark constexpr. - (ranges::views::_Iota::operator()): Mark constexpr. - (__detail::Empty): Define. - (ranges::views::__closure::_RangeAdaptor, - ranges::views::__closure::_RangeAdaptorClosure, ref_view, all_view, - ranges::views::all, ranges::__detail::find_if, - ranges::__detail::find_if_not, ranges::__detail::mismatch, - ranges::detail::min, filter_view, ranges::views::filter, transform_view, - ranges::views::transform, take_view, ranges::views::take, - take_while_view, ranges::views::take_while, drop_view, - ranges::views::drop, join_view, ranges::views::join, - __detail::require_constant, __detail::tiny_range, split_view, - ranges::views::split, ranges::views::_Counted, ranges::views::counted, - common_view, ranges::views::common, reverse_view, - ranges::views::reverse, - ranges::views::__detail::__is_reversible_subrange, - ranges::views::__detail::__is_reverse_view, reverse_view, - ranges::views::reverse, __detail::__has_tuple_element, elements_view, - ranges::views::elements, ranges::views::keys, ranges::views::values): - Define. - (views): Alias for ranges::views. - (tuple_size>, tuple_element<0, ranges::subrange>, - tuple_element<1, ranges::subrange>): New partial specializations. - * testsuite/std/ranges/adaptors/all.cc: New test. - * testsuite/std/ranges/adaptors/common.cc: Likewise. - * testsuite/std/ranges/adaptors/counted.cc: Likewise. - * testsuite/std/ranges/adaptors/drop.cc: Likewise. - * testsuite/std/ranges/adaptors/drop_while.cc: Likewise. - * testsuite/std/ranges/adaptors/elements.cc: Likewise. - * testsuite/std/ranges/adaptors/filter.cc: Likewise. - * testsuite/std/ranges/adaptors/join.cc: Likewise. - * testsuite/std/ranges/adaptors/reverse.cc: Likewise. - * testsuite/std/ranges/adaptors/split.cc: Likewise. - * testsuite/std/ranges/adaptors/take.cc: Likewise. - * testsuite/std/ranges/adaptors/take_while.cc: Likewise. - * testsuite/std/ranges/adaptors/transform.cc: Likewise. - -2020-02-07 Jonathan Wakely - - * libsupc++/compare (__cmp_cat::type): Define typedef for underlying - type of enumerations and comparison category types. - (__cmp_cat::_Ord, __cmp_cat::_Ncmp): Add underlying type. - (__cmp_cat::_Ncmp::unordered): Change value to 2. - (partial_ordering::_M_value, weak_ordering::_M_value) - (strong_ordering::_M_value): Change type to __cmp_cat::type. - (partial_ordering::_M_is_ordered): Remove data member. - (partial_ordering): Use second bit of _M_value for unordered. Adjust - comparison operators. - (weak_ordering::operator partial_ordering): Simplify to remove - branches. - (operator<=>(unspecified, weak_ordering)): Likewise. - (strong_ordering::operator partial_ordering): Likewise. - (strong_ordering::operator weak_ordering): Likewise. - (operator<=>(unspecified, strong_ordering)): Likewise. - * testsuite/18_support/comparisons/categories/partialord.cc: New test. - * testsuite/18_support/comparisons/categories/strongord.cc: New test. - * testsuite/18_support/comparisons/categories/weakord.cc: New test. - - * include/std/ranges (iota_view::_Iterator): Fix typo in name of - __cpp_lib_three_way_comparison macro and use deduced return type for - operator<=>. - * testsuite/std/ranges/iota/iterator.cc: New test. - -2020-02-07 Patrick Palka - Jonathan Wakely - - Implement C++20 constrained algorithms - * include/Makefile.am: Add new header. - * include/Makefile.in: Regenerate. - * include/std/algorithm: Include . - * include/bits/ranges_algo.h: New file. - * testsuite/25_algorithms/adjacent_find/constrained.cc: New test. - * testsuite/25_algorithms/all_of/constrained.cc: New test. - * testsuite/25_algorithms/any_of/constrained.cc: New test. - * testsuite/25_algorithms/binary_search/constrained.cc: New test. - * testsuite/25_algorithms/copy/constrained.cc: New test. - * testsuite/25_algorithms/copy_backward/constrained.cc: New test. - * testsuite/25_algorithms/copy_if/constrained.cc: New test. - * testsuite/25_algorithms/copy_n/constrained.cc: New test. - * testsuite/25_algorithms/count/constrained.cc: New test. - * testsuite/25_algorithms/count_if/constrained.cc: New test. - * testsuite/25_algorithms/equal/constrained.cc: New test. - * testsuite/25_algorithms/equal_range/constrained.cc: New test. - * testsuite/25_algorithms/fill/constrained.cc: New test. - * testsuite/25_algorithms/fill_n/constrained.cc: New test. - * testsuite/25_algorithms/find/constrained.cc: New test. - * testsuite/25_algorithms/find_end/constrained.cc: New test. - * testsuite/25_algorithms/find_first_of/constrained.cc: New test. - * testsuite/25_algorithms/find_if/constrained.cc: New test. - * testsuite/25_algorithms/find_if_not/constrained.cc: New test. - * testsuite/25_algorithms/for_each/constrained.cc: New test. - * testsuite/25_algorithms/generate/constrained.cc: New test. - * testsuite/25_algorithms/generate_n/constrained.cc: New test. - * testsuite/25_algorithms/heap/constrained.cc: New test. - * testsuite/25_algorithms/includes/constrained.cc: New test. - * testsuite/25_algorithms/inplace_merge/constrained.cc: New test. - * testsuite/25_algorithms/is_partitioned/constrained.cc: New test. - * testsuite/25_algorithms/is_permutation/constrained.cc: New test. - * testsuite/25_algorithms/is_sorted/constrained.cc: New test. - * testsuite/25_algorithms/is_sorted_until/constrained.cc: New test. - * testsuite/25_algorithms/lexicographical_compare/constrained.cc: New - test. - * testsuite/25_algorithms/lower_bound/constrained.cc: New test. - * testsuite/25_algorithms/max/constrained.cc: New test. - * testsuite/25_algorithms/max_element/constrained.cc: New test. - * testsuite/25_algorithms/merge/constrained.cc: New test. - * testsuite/25_algorithms/min/constrained.cc: New test. - * testsuite/25_algorithms/min_element/constrained.cc: New test. - * testsuite/25_algorithms/minmax/constrained.cc: New test. - * testsuite/25_algorithms/minmax_element/constrained.cc: New test. - * testsuite/25_algorithms/mismatch/constrained.cc: New test. - * testsuite/25_algorithms/move/constrained.cc: New test. - * testsuite/25_algorithms/move_backward/constrained.cc: New test. - * testsuite/25_algorithms/next_permutation/constrained.cc: New test. - * testsuite/25_algorithms/none_of/constrained.cc: New test. - * testsuite/25_algorithms/nth_element/constrained.cc: New test. - * testsuite/25_algorithms/partial_sort/constrained.cc: New test. - * testsuite/25_algorithms/partial_sort_copy/constrained.cc: New test. - * testsuite/25_algorithms/partition/constrained.cc: New test. - * testsuite/25_algorithms/partition_copy/constrained.cc: New test. - * testsuite/25_algorithms/partition_point/constrained.cc: New test. - * testsuite/25_algorithms/prev_permutation/constrained.cc: New test. - * testsuite/25_algorithms/remove/constrained.cc: New test. - * testsuite/25_algorithms/remove_copy/constrained.cc: New test. - * testsuite/25_algorithms/remove_copy_if/constrained.cc: New test. - * testsuite/25_algorithms/remove_if/constrained.cc: New test. - * testsuite/25_algorithms/replace/constrained.cc: New test. - * testsuite/25_algorithms/replace_copy/constrained.cc: New test. - * testsuite/25_algorithms/replace_copy_if/constrained.cc: New test. - * testsuite/25_algorithms/replace_if/constrained.cc: New test. - * testsuite/25_algorithms/reverse/constrained.cc: New test. - * testsuite/25_algorithms/reverse_copy/constrained.cc: New test. - * testsuite/25_algorithms/rotate/constrained.cc: New test. - * testsuite/25_algorithms/rotate_copy/constrained.cc: New test. - * testsuite/25_algorithms/search/constrained.cc: New test. - * testsuite/25_algorithms/search_n/constrained.cc: New test. - * testsuite/25_algorithms/set_difference/constrained.cc: New test. - * testsuite/25_algorithms/set_intersection/constrained.cc: New test. - * testsuite/25_algorithms/set_symmetric_difference/constrained.cc: New - test. - * testsuite/25_algorithms/set_union/constrained.cc: New test. - * testsuite/25_algorithms/shuffle/constrained.cc: New test. - * testsuite/25_algorithms/sort/constrained.cc: New test. - * testsuite/25_algorithms/stable_partition/constrained.cc: New test. - * testsuite/25_algorithms/stable_sort/constrained.cc: New test. - * testsuite/25_algorithms/swap_ranges/constrained.cc: New test. - * testsuite/25_algorithms/transform/constrained.cc: New test. - * testsuite/25_algorithms/unique/constrained.cc: New test. - * testsuite/25_algorithms/unique_copy/constrained.cc: New test. - * testsuite/25_algorithms/upper_bound/constrained.cc: New test. - -2020-02-06 Jonathan Wakely - - * include/bits/stl_iterator.h (__detail::__common_iter_ptr): Fix PR - number in comment. Fix indentation. - - * include/bits/stl_algobase.h (__iter_swap, __iter_swap): Remove - redundant _GLIBCXX20_CONSTEXPR. - - * include/std/ranges (viewable_range): Replace decay_t with - remove_cvref_t (LWG 3375). - -2020-02-05 Jonathan Wakely - - * include/bits/iterator_concepts.h (iter_reference_t) - (iter_rvalue_reference_t, iter_common_reference_t, indirect_result_t): - Remove workarounds for PR c++/67704. - * testsuite/24_iterators/aliases.cc: New test. - -2020-02-05 Patrick Palka - - * include/bits/stl_iterator.h (move_iterator::move_iterator): Move __i - when initializing _M_current. - (move_iterator::base): Split into two overloads differing in - ref-qualifiers as in P1207R4 for C++20. - -2020-02-04 Jonathan Wakely - - * include/std/functional (_GLIBCXX_NOT_FN_CALL_OP): Un-define after - use. - - PR libstdc++/93562 - * include/bits/unique_ptr.h (__uniq_ptr_impl::swap): Define. - (unique_ptr::swap, unique_ptr::swap): Call it. - * testsuite/20_util/unique_ptr/modifiers/93562.cc: New test. - -2020-02-01 Andrew Burgess - - * configure: Regenerate. - -2020-01-31 Patrick Palka - - * testsuite/24_iterators/range_operations/distance.cc: Do not assume - test_range::end() returns the same type as test_range::begin(). - * testsuite/24_iterators/range_operations/next.cc: Likewise. - * testsuite/24_iterators/range_operations/prev.cc: Likewise. - * testsuite/util/testsuite_iterators.h (__gnu_test::test_range::end): - Always return a sentinel. - -2020-01-29 Jonathan Wakely - - PR libstdc++/92895 - * include/std/stop_token (stop_token::stop_possible()): Call new - _M_stop_possible() function. - (stop_token::stop_requested()): Do not use stop_possible(). - (stop_token::binary_semaphore): New class, as temporary stand-in for - std::binary_semaphore. - (stop_token::_Stop_cb::_M_callback): Add noexcept to type. - (stop_token::_Stop_cb::_M_destroyed, stop_token::_Stop_cb::_M_done): - New data members for symchronization with stop_callback destruction. - (stop_token::_Stop_cb::_Stop_cb): Make non-template. - (stop_token::_Stop_cb::_M_linked, stop_token::_Stop_cb::_S_execute): - Remove. - (stop_token::_Stop_cb::_M_run): New member function. - (stop_token::_Stop_state::_M_stopped, stop_token::_Stop_state::_M_mtx): - Remove. - (stop_token::_Stop_state::_M_owners): New data member to track - reference count for ownership. - (stop_token::_Stop_state::_M_value): New data member combining a - spinlock, the stop requested flag, and the reference count for - associated stop_source objects. - (stop_token::_Stop_state::_M_requester): New data member for - synchronization with stop_callback destruction. - (stop_token::_Stop_state::_M_stop_possible()): New member function. - (stop_token::_Stop_state::_M_stop_requested()): Inspect relevant bit - of _M_value. - (stop_token::_Stop_state::_M_add_owner) - (stop_token::_Stop_state::_M_release_ownership) - (stop_token::_Stop_state::_M_add_ssrc) - (stop_token::_Stop_state::_M_sub_ssrc): New member functions for - updating reference counts. - (stop_token::_Stop_state::_M_lock, stop_token::_Stop_state::_M_unlock) - (stop_token::_Stop_state::_M_lock, stop_token::_Stop_state::_M_unlock) - (stop_token::_Stop_state::_M_try_lock) - (stop_token::_Stop_state::_M_try_lock_and_stop) - (stop_token::_Stop_state::_M_do_try_lock): New member functions for - managing spinlock. - (stop_token::_Stop_state::_M_request_stop): Use atomic operations to - read and update state. Release lock while running callbacks. Use new - data members to synchronize with callback destruction. - (stop_token::_Stop_state::_M_remove_callback): Likewise. - (stop_token::_Stop_state::_M_register_callback): Use atomic operations - to read and update state. - (stop_token::_Stop_state_ref): Handle type to manage _Stop_state, - replacing shared_ptr. - (stop_source::stop_source(const stop_source&)): Update reference count. - (stop_source::operator=(const stop_source&)): Likewise. - (stop_source::~stop_source()): Likewise. - (stop_source::stop_source(stop_source&&)): Define as defaulted. - (stop_source::operator=(stop_source&&)): Establish postcondition on - parameter. - (stop_callback): Enforce preconditions on template parameter. Replace - base class with data member of new _Cb_impl type. - (stop_callback::stop_callback(const stop_token&, Cb&&)) - (stop_callback::stop_callback(stop_token&&, Cb&&)): Fix TOCTTOU race. - (stop_callback::_Cb_impl): New type wrapping _Callback member and - defining the _S_execute member function. - * testsuite/30_threads/stop_token/stop_callback/deadlock-mt.cc: New - test. - * testsuite/30_threads/stop_token/stop_callback/deadlock.cc: New test. - * testsuite/30_threads/stop_token/stop_callback/destroy.cc: New test. - * testsuite/30_threads/stop_token/stop_callback/destructible_neg.cc: - New test. - * testsuite/30_threads/stop_token/stop_callback/invocable_neg.cc: New - test. - * testsuite/30_threads/stop_token/stop_callback/invoke.cc: New test. - * testsuite/30_threads/stop_token/stop_source/assign.cc: New test. - * testsuite/30_threads/stop_token/stop_token/stop_possible.cc: New - test. - - * libsupc++/compare (__detail::__3way_builtin_ptr_cmp): Use - three_way_comparable_with. - (__detail::__3way_cmp_with): Remove workaround for fixed bug. - (compare_three_way::operator()): Remove redundant constraint from - requires-clause. - (__detail::_Synth3way::operator()): Use three_way_comparable_with - instead of workaround. - * testsuite/18_support/comparisons/object/93479.cc: Prune extra - output due to simplified constraints on compare_three_way::operator(). - - PR libstdc++/93479 - * libsupc++/compare (__3way_builtin_ptr_cmp): Require <=> to be valid. - * testsuite/18_support/comparisons/object/93479.cc: New test. - - * testsuite/std/ranges/access/end.cc: Do not assume test_range::end() - returns the same type as test_range::begin(). Add comments. - * testsuite/std/ranges/access/rbegin.cc: Likewise. - * testsuite/std/ranges/access/rend.cc: Likewise. - * testsuite/std/ranges/range.cc: Do not assume the sentinel for - test_range is the same as its iterator type. - * testsuite/util/testsuite_iterators.h (test_range::sentinel): Add - operator- overloads to satisfy sized_sentinel_for when the iterator - satisfies random_access_iterator. - -2020-01-28 Jonathan Wakely - - PR libstdc++/93470 - * include/bits/refwrap.h (reference_wrapper::operator()): Restrict - static assertion to object types. - - PR libstdc++/93325 - * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Use AC_SEARCH_LIBS for - clock_gettime instead of explicit glibc version check. - * configure: Regenerate. - -2020-01-28 Martin Liska - - PR libstdc++/93478 - * include/std/atomic: Fix typo. - * include/std/optional: Likewise. - -2020-01-27 Andrew Burgess - - * configure: Regenerate. - -2020-01-27 Jonathan Wakely - - PR libstdc++/93426 - * include/std/span (span): Fix deduction guide. - * testsuite/23_containers/span/deduction.cc: New test. - -2020-01-24 Jonathan Wakely - - * libsupc++/compare (__cmp_cat::_Eq): Remove enumeration type. - (__cmp_cat::_Ord::equivalent): Add enumerator. - (__cmp_cat::_Ord::_Less, __cmp_cat::_Ord::_Greater): Rename to less - and greater. - (partial_ordering, weak_ordering, strong_ordering): Remove - constructors taking __cmp_cat::_Eq parameters. Use renamed - enumerators. - -2020-01-24 Maciej W. Rozycki - - * acinclude.m4: Handle `--with-toolexeclibdir='. - * Makefile.in: Regenerate. - * aclocal.m4: Regenerate. - * configure: Regenerate. - * doc/Makefile.in: Regenerate. - * include/Makefile.in: Regenerate. - * libsupc++/Makefile.in: Regenerate. - * po/Makefile.in: Regenerate. - * python/Makefile.in: Regenerate. - * src/Makefile.in: Regenerate. - * src/c++11/Makefile.in: Regenerate. - * src/c++17/Makefile.in: Regenerate. - * src/c++98/Makefile.in: Regenerate. - * src/filesystem/Makefile.in: Regenerate. - * testsuite/Makefile.in: Regenerate. - -2020-01-23 Alexandre Oliva - - * crossconfig.m4 (GLIBCXX_CHECK_MATH_DECL): Reject macros. - * configure: Rebuild. - - * testsuite/27_io/fpos/mbstate_t/1.cc: Zero-init mbstate_t. - -2020-01-23 Jonathan Wakely - - PR libstdc++/91947 - * include/Makefile.am (${host_builddir}/largefile-config.h): Simplify - rule. - * include/Makefile.in: Regenerate. - -2020-01-20 Jonathan Wakely - - * doc/xml/faq.xml: Fix grammar. - * doc/xml/manual/appendix_contributing.xml: Improve instructions. - * doc/xml/manual/spine.xml: Update copyright years. - * doc/html/*: Regenerate. - -2020-01-19 Eric S. Raymond - - * doc/xml/faq.xml: Update for SVN -> Git transition. - * doc/xml/manual/appendix_contributing.xml: Likewise. - * doc/xml/manual/status_cxx1998.xml: Likewise. - * doc/xml/manual/status_cxx2011.xml: Likewise. - * doc/xml/manual/status_cxx2014.xml: Likewise. - * doc/xml/manual/status_cxx2017.xml: Likewise. - * doc/xml/manual/status_cxx2020.xml: Likewise. - * doc/xml/manual/status_cxxtr1.xml: Likewise. - * doc/xml/manual/status_cxxtr24733.xml: Likewise. - -2020-01-18 Iain Sandoe - - * include/Makefile.am: Add coroutine to the std set. - * include/Makefile.in: Regenerated. - * include/std/coroutine: New file. - -2020-01-17 Jonathan Wakely - - PR libstdc++/92376 - * include/bits/c++config: Only do PSTL config when the header is - present, to fix freestanding. - * libsupc++/new_opa.cc [!_GLIBCXX_HOSTED]: Declare allocation - functions if they were detected by configure. - -2020-01-16 Kai-Uwe Eckhardt - Matthew Bauer - Jonathan Wakely - - PR bootstrap/64271 (partial) - * config/os/bsd/netbsd/ctype_base.h (ctype_base::mask): Change type - to unsigned short. - (ctype_base::alpha, ctype_base::digit, ctype_base::xdigit) - (ctype_base::print, ctype_base::graph, ctype_base::alnum): Sync - definitions with NetBSD upstream. - (ctype_base::blank): Use _CTYPE_BL. - * config/os/bsd/netbsd/ctype_configure_char.cc (_C_ctype_): Remove - Declaration. - (ctype::classic_table): Use _C_ctype_tab_ instead of _C_ctype_. - (ctype::do_toupper, ctype::do_tolower): Cast char - parameters to unsigned char. - * config/os/bsd/netbsd/ctype_inline.h (ctype::is): Likewise. - -2020-01-16 François Dumont - - PR libstdc++/91263 - * include/bits/hashtable.h (_Hashtable<>): Make _Equality<> friend. - * include/bits/hashtable_policy.h: Include . - (_Equality_base): Remove. - (_Equality<>::_M_equal): Review implementation. Use - std::is_permutation. - * testsuite/23_containers/unordered_multiset/operators/1.cc - (Hash, Equal, test02, test03): New. - * testsuite/23_containers/unordered_set/operators/1.cc - (Hash, Equal, test02, test03): New. - -2020-01-15 Jonathan Wakely - - PR libstdc++/93267 - * include/bits/iterator_concepts.h (__max_diff_type, __max_size_type): - Move here from and define using __int128 when - available. - (__is_integer_like, __is_signed_integer_like): Move here from - . - (weakly_incrementable): Use __is_signed_integer_like. - * include/bits/range_access.h (__max_diff_type, __max_size_type) - (__is_integer_like, __is_signed_integer_like): Move to - . - (__make_unsigned_like_t): Move here from . - * include/std/ranges (__make_unsigned_like_t): Move to - . - (iota_view): Replace using-directive with using-declarations. - * testsuite/std/ranges/iota/93267.cc: New test. - * testsuite/std/ranges/iota_view.cc: Move to new 'iota' sub-directory. - -2020-01-13 Jonathan Wakely - - PR libstdc++/93244 - * include/bits/fs_path.h (path::generic_string) - [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Convert root-dir to forward-slash. - * testsuite/27_io/filesystem/path/generic/generic_string.cc: Check - root-dir is converted to forward slash in generic pathname. - * testsuite/27_io/filesystem/path/generic/utf.cc: New test. - * testsuite/27_io/filesystem/path/generic/wchar_t.cc: New test. - - PR libstdc++/58605 - * include/bits/atomic_base.h (__cpp_lib_atomic_value_initialization): - Define. - (__atomic_flag_base, __atomic_base, __atomic_base<_PTp*>) - (__atomic_float): Add default member initializer for C++20. - * include/std/atomic (atomic): Likewise. - (atomic::atomic()): Remove noexcept-specifier on default constructor. - * include/std/version (__cpp_lib_atomic_value_initialization): Define. - * 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/cons/value_init.cc: New test. - * testsuite/29_atomics/atomic_flag/cons/value_init.cc: New test. - * testsuite/29_atomics/atomic_flag/requirements/trivial.cc: Adjust - expected result for is_trivially_default_constructible. - * testsuite/29_atomics/atomic_float/requirements.cc: Likewise. - * testsuite/29_atomics/atomic_float/value_init.cc: New test. - * 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/cons/value_init.cc - * testsuite/29_atomics/atomic_integral/requirements/trivial.cc: Adjust - expected results for is_trivially_default_constructible. - * testsuite/util/testsuite_common_types.h (has_trivial_dtor): Add - new test generator. - -2020-01-10 Jonathan Wakely - - * testsuite/util/testsuite_iterators.h: Improve comment. - - * testsuite/25_algorithms/equal/deque_iterators/1.cc: Don't use C++11 - initialization syntax. - - PR libstdc++/92285 - * include/bits/streambuf_iterator.h (istreambuf_iterator): Make type - of base class independent of __cplusplus value. - [__cplusplus < 201103L] (istreambuf_iterator::reference): Override the - type defined in the base class - * testsuite/24_iterators/istreambuf_iterator/92285.cc: New test. - * testsuite/24_iterators/istreambuf_iterator/requirements/ - base_classes.cc: Adjust expected base class for C++98. - -2020-01-09 Olivier Hainque - - * doc/xml/manual/appendix_contributing.xml: Document _C2 - as a reserved identifier, by VxWorks. - * include/bits/stl_map.h: Rename _C2 template typenames as _Cmp2. - * include/bits/stl_multimap.h: Likewise. - -2020-01-09 Jonathan Wakely - - * include/ext/extptr_allocator.h (_ExtPtr_allocator::operator==) - (_ExtPtr_allocator::operator!=): Add missing const qualifiers. - * include/ext/pointer.h (readable_traits<_Pointer_adapter>): Add - partial specialization to disambiguate the two constrained - specializations. - - * include/experimental/type_traits (experimental::is_pod_v): Disable - -Wdeprecated-declarations warnings around reference to std::is_pod. - * include/std/type_traits (is_pod_v): Likewise. - * testsuite/18_support/max_align_t/requirements/2.cc: Also check - is_standard_layout and is_trivial. Do not check is_pod for C++20. - * testsuite/20_util/is_pod/requirements/explicit_instantiation.cc: - Add -Wno-deprecated for C++20. - * testsuite/20_util/is_pod/requirements/typedefs.cc: Likewise. - * testsuite/20_util/is_pod/value.cc: Likewise. - * testsuite/experimental/type_traits/value.cc: Likewise. - -2020-01-09 JeanHeyd "ThePhD" Meneide - - * include/bits/c++config (_GLIBCXX20_DEPRECATED): Add new macro. - * include/std/type_traits (is_pod, is_pod_v): Deprecate for C++20. - * testuite/20_util/is_pod/deprecated-2a.cc: New test. - -2020-01-09 Jonathan Wakely - - PR libstdc++/93205 - * include/bits/random.h (operator>>): Check stream operation succeeds. - * include/bits/random.tcc (operator<<): Remove redundant __ostream_type - typedefs. - (operator>>): Remove redundant __istream_type typedefs. Check stream - operations succeed. - (__extract_params): New function to fill a vector from a stream. - * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error line. - - PR libstdc++/93208 - * config/abi/pre/gnu.ver: Add new exports. - * include/std/memory_resource (memory_resource::~memory_resource()): - Do not define inline. - (monotonic_buffer_resource::~monotonic_buffer_resource()): Likewise. - * src/c++17/memory_resource.cc (memory_resource::~memory_resource()): - Define. - (monotonic_buffer_resource::~monotonic_buffer_resource()): Define. - * testsuite/20_util/monotonic_buffer_resource/93208.cc: New test. - -2020-01-09 François Dumont - - PR libstdc++/92124 - * include/bits/hashtable.h (_Hashtable<>::__alloc_node_gen_t): New - template alias. - (_Hashtable<>::__fwd_value_for): New. - (_Hashtable<>::_M_assign_elements<>): Remove _NodeGenerator template - parameter. - (_Hashtable<>::_M_assign<>): Add _Ht template parameter. - (_Hashtable<>::operator=(const _Hashtable<>&)): Adapt. - (_Hashtable<>::_M_move_assign): Adapt. Replace std::move_if_noexcept - with std::move. - (_Hashtable<>::_Hashtable(const _Hashtable&)): Adapt. - (_Hashtable<>::_Hashtable(const _Hashtable&, const allocator_type&)): - Adapt. - (_Hashtable<>::_Hashtable(_Hashtable&&, const allocator_type&)): - Adapt. - * testsuite/23_containers/unordered_set/92124.cc: New. - -2020-01-08 Jonathan Wakely - - PR libstdc++/93201 - * src/c++17/fs_ops.cc (do_remove_all): New function implementing more - detailed error reporting for remove_all. Check result of recursive - call before incrementing iterator. - (remove_all(const path&), remove_all(const path&, error_code&)): Use - do_remove_all. - * src/filesystem/ops.cc (remove_all(const path&, error_code&)): Check - result of recursive call before incrementing iterator. - * testsuite/27_io/filesystem/operations/remove_all.cc: Check errors - are reported correctly. - * testsuite/experimental/filesystem/operations/remove_all.cc: Likewise. - -2020-01-07 Thomas Rodgers - - * include/std/condition_variable - (condition_variable_any::wait_on): Rename to match current draft - standard. - (condition_variable_any::wait_on_until): Likewise. - (condition_variable_any::wait_on_for): Likewise. - * testsuite/30_threads/condition_variable_any/stop_token/wait_on.cc: - Adjust tests to account for renamed methods. - -2020-01-07 François Dumont - - PR libstdc++/92124 - * include/bits/stl_tree.h - (_Rb_tree<>::_M_move_assign(_Rb_tree&, false_type)): Replace - std::move_if_noexcept by std::move. - * testsuite/23_containers/map/92124.cc: New. - * testsuite/23_containers/set/92124.cc: New. - -2020-01-06 Jonathan Wakely - - * include/std/stop_token (stop_token): Remove operator!= (LWG 3254). - (stop_source): Likewise (LWG 3362). - * testsuite/30_threads/stop_token/stop_source.cc: Test equality - comparisons. - - * include/bits/stl_algobase.h (__is_byte_iter, __min_cmp) - (lexicographical_compare_three_way): Do not depend on - __cpp_lib_concepts. - * include/std/version (__cpp_lib_three_way_comparison): Only define - when __cpp_lib_concepts is defined. - * libsupc++/compare (__cpp_lib_three_way_comparison): Likewise. - -2020-01-03 Jonathan Wakely - - * include/bits/stl_algobase.h (lexicographical_compare_three_way): - Only define four-argument overload when __cpp_lib_concepts is defined. - -2020-01-01 John David Anglin - - * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update. - -2020-01-01 Jakub Jelinek - - Update copyright years. -Copyright (C) 2020 Free Software Foundation, Inc. +Copyright (C) 2021 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright -- 2.30.2